# Chromatic adaptation

Chromatic adaptation is the human visual system’s ability to adjust to changes in illumination in order to preserve the appearance of object colors. It is responsible for the stable appearance of object colors despite the wide variation of light which might be reflected from an object and observed by our eyes. A chromatic adaptation transform (CAT) function emulates this important aspect of color perception in color appearance models.
An object may be viewed under various conditions. For example, it may be illuminated by sunlight, the light of a fire, or a harsh electric light. In all of these situations, human vision perceives that the object has the same color: a red apple always appears red, whether viewed during the day or at night (if the red apple is illuminated as rods in our eyes do not see red). On the other hand, a camera with no adjustment for light may register the apple as having varying color. This feature of the visual system is called chromatic adaptation, or color constancy; when the correction occurs in a camera it is referred to as white balance.
Though the human visual system generally does maintain constant perceived color under different lighting, there are situations where the relative brightness of two different stimuli will appear reversed at different illuminance levels. For example, the bright yellow petals of flowers will appear dark compared to the green leaves in dim light while the opposite is true during the day. This is known as the Purkinje effect, and arises because the peak sensitivity of the human eye shifts toward the blue end of the spectrum at lower light levels.

## Von Kries transform

The von Kries chromatic adaptation method is a technique that is sometimes used in camera image processing. The method is to apply a gain to each of the human cone cell spectral sensitivity responses so as to keep the adapted appearance of the reference white constant. The application of Johannes von Kries's idea of adaptive gains on the three cone cell types was first explicitly applied to the problem of color constancy by Herbert E. Ives, and the method is sometimes referred to as the Ives transform or the von Kries–Ives adaptation.
The von Kries coefficient rule rests on the assumption that color constancy is achieved by individually adapting the gains of the three cone responses, the gains depending on the sensory context, that is, the color history and surround. Thus, the cone responses $c'$ from two radiant spectra can be matched by appropriate choice of diagonal adaptation matrices D$_1$ and D$_2$:
    $c'=D_{1}\,S^{T}\,f_{1}=D_{2}\,S^{T}\,f_{2}$
where $S$ is the cone sensitivity matrix and $f$ is the spectrum of the conditioning stimulus. This leads to the von Kries transform for chromatic adaptation in LMS color space (responses of long-, medium-, and short-wavelength cone response space):
    $D=D_{1}^{-1}D_{2}={\begin{bmatrix}L_{2}/L_{1}&0&0\\0&M_{2}/M_{1}&0\\0&0&S_{2}/S_{1}\end{bmatrix}}$
This diagonal matrix D maps cone responses, or colors, in one adaptation state to corresponding colors in another; when the adaptation state is presumed to be determined by the illuminant, this matrix is useful as an illuminant adaptation transform. The elements of the diagonal matrix D are the ratios of the cone responses (Long, Medium, Short) for the illuminant's white point.
The more complete von Kries transform, for colors represented in XYZ or RGB color space, includes matrix transformations into and out of LMS space, with the diagonal transform D in the middle.

## CIE color appearance models

The International Commission on Illumination (CIE) has published a set of color appearance models, most of which included a color adaptation function. CIE L*a*b* (CIELAB) performs a "simple" von Kries-type transform in XYZ color space, while CIELUV uses a Judd-type (translational) white point adaptation. Two revisions of more comprehensive color appearance models, CIECAM97s and CIECAM02, each included a CAT function, CMCCAT97 and CAT02 respectively. CAT02's predecessor is a simplified version of CMCCAT97 known as CMCCAT2000.