#include <lut.h>
Inheritance diagram for vigra_ext::LUTFunctor< VTIn, LUT >:
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_type > | applyVector (vigra::RGBValue< VT1 > v, vigra::VigraFalseType) const |
vigra::RGBValue< lut_type > | applyVector (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_type > | apply (vigra::RGBValue< VT1 > v, vigra::VigraFalseType) const |
template<class T> | |
vigra::NumericTraits< T >::RealPromote | operator() (T v) const |
Public Attributes | |
LUT | m_lut |
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.
typedef LUT::value_type vigra_ext::LUTFunctor< VTIn, LUT >::lut_type |
typedef vigra_ext::ValueTypeTraits<VTIn>::value_type vigra_ext::LUTFunctor< VTIn, LUT >::VT1 |
vigra_ext::LUTFunctor< VTIn, LUT >::LUTFunctor | ( | ) | [inline] |
vigra_ext::LUTFunctor< VTIn, LUT >::LUTFunctor | ( | LUT & | lut | ) | [inline] |
vigra::RGBValue<lut_type> vigra_ext::LUTFunctor< VTIn, LUT >::apply | ( | vigra::RGBValue< VT1 > | v, | |
vigra::VigraFalseType | ||||
) | const [inline] |
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()().
lut_type vigra_ext::LUTFunctor< VTIn, LUT >::applyLutFloat | ( | double | v | ) | const [inline] |
lut_type vigra_ext::LUTFunctor< VTIn, LUT >::applyLutInteger | ( | VT1 | v | ) | const [inline] |
lut_type vigra_ext::LUTFunctor< VTIn, LUT >::applyScalar | ( | VT1 | v, | |
vigra::VigraTrueType | ||||
) | const [inline] |
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().
vigra::RGBValue<lut_type> vigra_ext::LUTFunctor< VTIn, LUT >::applyVector | ( | vigra::RGBValue< VT1 > | v, | |
vigra::VigraTrueType | ||||
) | const [inline] |
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().
vigra::NumericTraits<T>::RealPromote vigra_ext::LUTFunctor< VTIn, LUT >::operator() | ( | T | v | ) | const [inline] |
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().