[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Convert standardized tri-stimulus XYZ into perceptual uniform CIE L*a*b*. More...
#include <vigra/colorconversions.hxx>
Public Types | |
| typedef TinyVector< T, 3 > | argument_type |
| typedef NumericTraits< T >::RealPromote | component_type |
| typedef TinyVector< component_type, 3 > | result_type |
| typedef TinyVector< component_type, 3 > | value_type |
Public Member Functions | |
| template<class V> | |
| result_type | operator() (V const &xyz) const |
Convert standardized tri-stimulus XYZ into perceptual uniform CIE L*a*b*.
#include <vigra/colorconversions.hxx>
Namespace: vigra
The functor realizes the transformation
![\[ \begin{array}{rcl}
L^{*} & = & 116 \left( \frac{Y}{Y_n} \right)^\frac{1}{3}-16 \quad \mbox{if} \quad \frac{216}{24389} < \frac{Y}{Y_n}\\
& & \\
L^{*} & = & \frac{24389}{27} \enspace \frac{Y}{Y_n} \quad \mbox{otherwise} \\
& & \\
a^{*} & = & 500 \left[ \left( \frac{X}{X_n} \right)^\frac{1}{3} - \left( \frac{Y}{Y_n} \right)^\frac{1}{3} \right] \\
& & \\
b^{*} & = & 200 \left[ \left( \frac{Y}{Y_n} \right)^\frac{1}{3} - \left( \frac{Z}{Z_n} \right)^\frac{1}{3} \right] \\
\end{array}
\]](form_40.png)
where 




Traits defined:
FunctorTraits::isUnaryFunctor is true (VigraTrueType)
| typedef NumericTraits<T>::RealPromote component_type |
the result's component type
| typedef TinyVector<T, 3> argument_type |
the functor's argument type
| typedef TinyVector<component_type, 3> result_type |
the functor's result type
| typedef TinyVector<component_type, 3> value_type |
apply the transformation
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |