[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|   | XYZ2LuvFunctor< T > Class Template Reference |  | 
Convert standardized tri-stimulus XYZ into perceptual uniform CIE L*u*v*. 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 | 
Convert standardized tri-stimulus XYZ into perceptual uniform CIE L*u*v*.
#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 0.008856 < \frac{Y}{Y_n}\\ & & \\ L^{*} & = & 903.3\enspace \frac{Y}{Y_n} \quad \mbox{otherwise} \\ & & \\ u' & = & \frac{4 X}{X+15 Y + 3 Z}, \quad v' = \frac{9 Y}{X+15 Y + 3 Z}\\ & & \\ u^{*} & = & 13 L^{*} (u' - u_n'), \quad v^{*} = 13 L^{*} (v' - v_n') \end{array} \]](form_19.png) 
where  is the reference white point of standard illuminant D65, and
 is the reference white point of standard illuminant D65, and  are the quantities
 are the quantities  calculated for this point.
 calculated for this point.  represents the lightness ("brightness") of the color, and
 represents the lightness ("brightness") of the color, and  code the chromaticity. (Instead of the rationals
 code the chromaticity. (Instead of the rationals  and
 and  , the original standard gives the rounded values 0.008856 and 903.3. As Bruce Lindbloom points out, the rounded values give raise to a discontinuity which is removed by the accurate rationals. This bug will be fixed in future versions of the CIE Luv standard.)
, the original standard gives the rounded values 0.008856 and 903.3. As Bruce Lindbloom points out, the rounded values give raise to a discontinuity which is removed by the accurate rationals. This bug will be fixed in future versions of the CIE Luv standard.)
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 | 
| 
© Ullrich Köthe     (ullrich.koethe@iwr.uni-heidelberg.de)  | 
html generated using doxygen and Python
 |