Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Public Attributes | List of all members
vigra_ext::InvLUTFunctor< VT1, LUT > Struct Template Reference

functor to apply a LUT to gray and color images. More...

#include <lut.h>

Public Types

typedef LUT::value_type lut_type
 the functor's first argument type More...
 

Public Member Functions

 InvLUTFunctor ()
 the functor's result type More...
 
 InvLUTFunctor (LUT &lut)
 create a LUT functor. More...
 
lut_type applyLutFloat (lut_type v) const
 
template<class T >
lut_type applyLutInteger (T i) const
 
template<class T >
vigra::RGBValue< lut_typeapplyVector (vigra::RGBValue< T > v, vigra::VigraFalseType) const
 
template<class T >
vigra::RGBValue< lut_typeapplyVector (vigra::RGBValue< T > v, vigra::VigraTrueType) const
 
template<class T >
lut_type applyScalar (T v, vigra::VigraFalseType) const
 
template<class T >
lut_type applyScalar (T v, vigra::VigraTrueType) const
 
template<class T >
lut_type apply (T v, vigra::VigraTrueType) const
 
template<class T >
vigra::RGBValue< lut_typeapply (vigra::RGBValue< T > v, vigra::VigraFalseType) const
 
template<class T >
vigra::NumericTraits< T >
::RealPromote 
operator() (T v) const
 

Public Attributes

LUT m_lut
 

Detailed Description

template<class VT1, class LUT>
struct vigra_ext::InvLUTFunctor< VT1, LUT >

functor to apply a LUT to gray and color images.

This functor works by using a binary search and does linear interpolation.

floating point values between 0..1 are mapped to min and max of the lookup table.

integers are also mapped to 0..1 before applying the lut.

Definition at line 252 of file lut.h.

Member Typedef Documentation

template<class VT1, class LUT>
typedef LUT::value_type vigra_ext::InvLUTFunctor< VT1, LUT >::lut_type

the functor's first argument type

Definition at line 258 of file lut.h.

Constructor & Destructor Documentation

template<class VT1, class LUT>
vigra_ext::InvLUTFunctor< VT1, LUT >::InvLUTFunctor ( )
inline

the functor's result type

Definition at line 264 of file lut.h.

template<class VT1, class LUT>
vigra_ext::InvLUTFunctor< VT1, LUT >::InvLUTFunctor ( LUT &  lut)
inline

create a LUT functor.

Definition at line 269 of file lut.h.

Member Function Documentation

template<class VT1, class LUT>
template<class T >
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::apply ( v,
vigra::VigraTrueType   
) const
inline
template<class VT1, class LUT>
template<class T >
vigra::RGBValue<lut_type> vigra_ext::InvLUTFunctor< VT1, LUT >::apply ( vigra::RGBValue< T >  v,
vigra::VigraFalseType   
) const
inline

Definition at line 357 of file lut.h.

References vigra_ext::InvLUTFunctor< VT1, LUT >::applyVector().

template<class VT1, class LUT>
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::applyLutFloat ( lut_type  v) const
inline
template<class VT1, class LUT>
template<class T >
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::applyLutInteger ( i) const
inline
template<class VT1, class LUT>
template<class T >
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::applyScalar ( v,
vigra::VigraFalseType   
) const
inline
template<class VT1, class LUT>
template<class T >
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::applyScalar ( v,
vigra::VigraTrueType   
) const
inline

Definition at line 344 of file lut.h.

References vigra_ext::InvLUTFunctor< VT1, LUT >::applyLutInteger().

template<class VT1, class LUT>
template<class T >
vigra::RGBValue<lut_type> vigra_ext::InvLUTFunctor< VT1, LUT >::applyVector ( vigra::RGBValue< T >  v,
vigra::VigraFalseType   
) const
inline
template<class VT1, class LUT>
template<class T >
vigra::RGBValue<lut_type> vigra_ext::InvLUTFunctor< VT1, LUT >::applyVector ( vigra::RGBValue< T >  v,
vigra::VigraTrueType   
) const
inline

Definition at line 326 of file lut.h.

References vigra_ext::InvLUTFunctor< VT1, LUT >::applyLutInteger().

template<class VT1, class LUT>
template<class T >
vigra::NumericTraits<T>::RealPromote vigra_ext::InvLUTFunctor< VT1, LUT >::operator() ( v) const
inline

Definition at line 364 of file lut.h.

References vigra_ext::InvLUTFunctor< VT1, LUT >::apply().

Member Data Documentation

template<class VT1, class LUT>
LUT vigra_ext::InvLUTFunctor< VT1, LUT >::m_lut

Definition at line 370 of file lut.h.

Referenced by vigra_ext::InvLUTFunctor< VT1, LUT >::applyLutFloat().


The documentation for this struct was generated from the following file: