vigra_ext::LUTFunctor< VTIn, LUT > Struct Template Reference

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

#include <lut.h>

Inheritance diagram for vigra_ext::LUTFunctor< VTIn, LUT >:

Inheritance graph
[legend]
List of all members.

Public Types

typedef vigra_ext::ValueTypeTraits<
VTIn >::value_type 
VT1
typedef LUT::value_type lut_type
 the functor's first argument type

Public Member Functions

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

Public Attributes

LUT m_lut

Detailed Description

template<class VTIn, class LUT>
struct vigra_ext::LUTFunctor< VTIn, LUT >

functor to apply a LUT to gray and color images.

This is a safe, and iterpolatating table lookup.

if the argument has a higher bit count than lut.size(), interpolation will take place.

This is slower, because there is a size check at runtime, which might be placed in a template parameter.

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

Definition at line 118 of file lut.h.


Member Typedef Documentation

template<class VTIn, class LUT>
typedef LUT::value_type vigra_ext::LUTFunctor< VTIn, LUT >::lut_type

the functor's first argument type

Definition at line 126 of file lut.h.

template<class VTIn, class LUT>
typedef vigra_ext::ValueTypeTraits<VTIn>::value_type vigra_ext::LUTFunctor< VTIn, LUT >::VT1

Definition at line 120 of file lut.h.


Constructor & Destructor Documentation

template<class VTIn, class LUT>
vigra_ext::LUTFunctor< VTIn, LUT >::LUTFunctor (  )  [inline]

the functor's result type

Definition at line 132 of file lut.h.

template<class VTIn, class LUT>
vigra_ext::LUTFunctor< VTIn, LUT >::LUTFunctor ( LUT &  lut  )  [inline]

create a LUT functor.

Definition at line 138 of file lut.h.


Member Function Documentation

template<class VTIn, class LUT>
vigra::RGBValue<lut_type> vigra_ext::LUTFunctor< VTIn, LUT >::apply ( vigra::RGBValue< VT1 v,
vigra::VigraFalseType   
) const [inline]

Definition at line 226 of file lut.h.

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

Definition at line 220 of file lut.h.

Referenced by vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::operator()().

template<class VTIn, class LUT>
lut_type vigra_ext::LUTFunctor< VTIn, LUT >::applyLutFloat ( double  v  )  const [inline]

Definition at line 170 of file lut.h.

Referenced by vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::applyScalar(), and vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::applyVector().

template<class VTIn, class LUT>
lut_type vigra_ext::LUTFunctor< VTIn, LUT >::applyLutInteger ( VT1  v  )  const [inline]

Definition at line 149 of file lut.h.

Referenced by vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::applyScalar(), and vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::applyVector().

template<class VTIn, class LUT>
lut_type vigra_ext::LUTFunctor< VTIn, LUT >::applyScalar ( VT1  v,
vigra::VigraTrueType   
) const [inline]

Definition at line 215 of file lut.h.

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

Definition at line 209 of file lut.h.

Referenced by vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::apply().

template<class VTIn, class LUT>
vigra::RGBValue<lut_type> vigra_ext::LUTFunctor< VTIn, LUT >::applyVector ( vigra::RGBValue< VT1 v,
vigra::VigraTrueType   
) const [inline]

Definition at line 198 of file lut.h.

template<class VTIn, class LUT>
vigra::RGBValue<lut_type> vigra_ext::LUTFunctor< VTIn, LUT >::applyVector ( vigra::RGBValue< VT1 v,
vigra::VigraFalseType   
) const [inline]

Definition at line 188 of file lut.h.

Referenced by vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::apply().

template<class VTIn, class LUT>
template<class T>
vigra::NumericTraits<T>::RealPromote vigra_ext::LUTFunctor< VTIn, LUT >::operator() ( v  )  const [inline]

Definition at line 233 of file lut.h.


Member Data Documentation

template<class VTIn, class LUT>
LUT vigra_ext::LUTFunctor< VTIn, LUT >::m_lut

Definition at line 239 of file lut.h.

Referenced by vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::applyLutFloat(), vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::applyLutInteger(), and vigra_ext::LUTFunctor< vigra::NumericTraits< VT1 >::RealPromote, std::vector< dest_type > >::applyVector().


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