Generic Image Library: channel_algorithm.hpp File Reference

###  | #  |

- Main Page
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

Classes | Namespaces | Functions
channel_algorithm.hpp File Reference

Channel algorithms. More...

`#include <boost/config.hpp>`
`#include <boost/mpl/less.hpp>`
`#include <boost/mpl/integral_c.hpp>`
`#include <boost/mpl/greater.hpp>`
`#include <boost/type_traits.hpp>`
`#include "gil_config.hpp"`
`#include "channel.hpp"`
`#include "promote_integral.hpp"`
`#include "typedefs.hpp"`
`#include <limits>`

Go to the source code of this file.

## Classes
struct | channel_converter_unsigned_impl< SrcChannelV, DstChannelV, SrcIsIntegral, DstIsIntegral >
| This is the default implementation. Performance specializatons are provided. More...
struct | channel_converter_unsigned< T, T >
| Converting a channel to itself - identity operation. More...
struct | channel_converter_unsigned_impl< SrcChannelV, DstChannelV, SrcIsIntegral, DstIsIntegral >
| This is the default implementation. Performance specializatons are provided. More...
struct | channel_converter_unsigned< float32_t, DstChannelV >
| float32_t conversion More...
struct | channel_converter_unsigned< uint32_t, float32_t >
| 32 bit <-> float channel conversion More...
struct | channel_converter_unsigned< float32_t, uint32_t >
| 32 bit <-> float channel conversion More...
struct | channel_converter< SrcChannelV, DstChannelV >
| A unary function object converting between channel types. More...
struct | default_channel_converter
| Same as channel_converter, except it takes the destination channel by reference, which allows us to move the templates from the class level to the method level. This is important when invoking it on heterogeneous pixels. More...
struct | channel_multiplier_unsigned< ChannelValue >
| This is the default implementation. Performance specializatons are provided. More...
struct | channel_multiplier_unsigned< uint8_t >
| Specialization of channel_multiply for 8-bit unsigned channels. More...
struct | channel_multiplier_unsigned< uint16_t >
| Specialization of channel_multiply for 16-bit unsigned channels. More...
struct | channel_multiplier_unsigned< float32_t >
| Specialization of channel_multiply for float 0..1 channels. More...
struct | channel_multiplier< ChannelValue >
| A function object to multiply two channels. result = a * b / max_value. More...

## Namespaces
| boost
| Pixel 2D LOCATOR.

## Functions
template<typename DstChannel , typename SrcChannel >
channel_traits< DstChannel > ::value_type | channel_convert (const SrcChannel &src)
| Converting from one channel type to another.
uint32_t | div255 (uint32_t in)
uint32_t | div32768 (uint32_t in)
template<typename Channel >
channel_traits< Channel > ::value_type | channel_multiply (Channel a, Channel b)
| A function multiplying two channels. result = a * b / max_value.
template<typename Channel >
channel_traits< Channel > ::value_type | channel_invert (Channel x)
| Default implementation. Provide overloads for performance.

## Detailed Description

Channel algorithms.

Author
  Lubomir Bourdev and Hailin Jin
  Adobe Systems Incorporated

Date
  2005-2007
  Last updated on May 6, 2007

Definitions of standard GIL 8-bit, 16-bit, 32-bit channels