vigra_ext::InvLUTFunctor< VT1, LUT > Struct Template Reference

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

#include <lut.h>

Inheritance diagram for vigra_ext::InvLUTFunctor< VT1, LUT >:

Inheritance graph
[legend]
List of all members.

Public Types

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

Public Member Functions

 InvLUTFunctor ()
 the functor's result type
 InvLUTFunctor (LUT &lut)
 create a LUT functor.
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>
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.

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

Definition at line 350 of file lut.h.

Referenced by vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::operator()().

template<class VT1, class LUT>
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::applyLutFloat ( lut_type  v  )  const [inline]

Definition at line 275 of file lut.h.

Referenced by vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::applyLutInteger(), vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::applyScalar(), and vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::applyVector().

template<class VT1, class LUT>
template<class T>
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::applyLutInteger ( i  )  const [inline]

Definition at line 308 of file lut.h.

Referenced by vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::applyScalar(), and vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::applyVector().

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.

template<class VT1, class LUT>
template<class T>
lut_type vigra_ext::InvLUTFunctor< VT1, LUT >::applyScalar ( v,
vigra::VigraFalseType   
) const [inline]

Definition at line 337 of file lut.h.

Referenced by vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::apply().

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.

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]

Definition at line 316 of file lut.h.

Referenced by vigra_ext::InvLUTFunctor< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::apply().

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.


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< vigra_ext::ValueTypeTraits< VTIn >::value_type, std::vector< double > >::applyLutFloat().


The documentation for this struct was generated from the following file:
Generated on 26 Oct 2014 for Hugintrunk by  doxygen 1.4.7