Boost GIL


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