[an error occurred while processing this directive]
Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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.


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

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


Constructor & Destructor Documentation

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

the functor's result type

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

create a LUT functor.


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]
 

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

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

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

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

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

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

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

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


Member Data Documentation

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


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

Generated on Mon Sep 20 01:01:37 2010 for Hugintrunk by doxygen 1.3.9.1