Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page

# channel_algorithm.hpp File Reference

## 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

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

Go to the source code of this file.

## Namespaces

namespace | boost
namespace | boost::gil
namespace | boost::gil::detail

## Classes

struct | channel_converter_unsigned< T, T >
| Converting a channel to itself - identity operation. More...
struct | channel_converter_unsigned_impl
| This is the default implementation. Performance specializatons are provided. More...
struct | channel_converter_unsigned< bits32f, DstChannelV >
struct | channel_converter_unsigned< bits32, bits32f >
| 32 bit <-> float channel conversion More...
struct | channel_converter_unsigned< bits32f, bits32 >
| 32 bit <-> float channel conversion More...
struct | channel_converter
| 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
| This is the default implementation. Performance specializatons are provided. More...
struct | channel_multiplier_unsigned< bits8 >
| Specialization of channel_multiply for 8-bit unsigned channels. More...
struct | channel_multiplier_unsigned< bits16 >
| Specialization of channel_multiply for 16-bit unsigned channels. More...
struct | channel_multiplier_unsigned< bits32f >
| Specialization of channel_multiply for float 0..1 channels. More...
struct | channel_multiplier
| A function object to multiply two channels. result = a * b / max_value. More...

## Functions

template<typename DstChannel, typename SrcChannel>
channel_traits< DstChannel > ::value_type | channel_convert (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.