Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

ColorSpace.Adaptation

public static final enum ColorSpace.Adaptation
extends Enum<ColorSpace.Adaptation>

java.lang.Object
   ↳ java.lang.Enum<android.graphics.ColorSpace.Adaptation>
     ↳ android.graphics.ColorSpace.Adaptation


List of adaptation matrices that can be used for chromatic adaptation using the von Kries transform. These matrices are used to convert values in the CIE XYZ space to values in the LMS space (Long Medium Short).

Given an adaptation matrix \(A\), the conversion from XYZ to LMS is straightforward:

$$\left[ \begin{array}{c} L\\ M\\ S \end{array} \right] = A \left[ \begin{array}{c} X\\ Y\\ Z \end{array} \right]$$

The complete von Kries transform \(T\) uses a diagonal matrix noted \(D\) to perform the adaptation in LMS space. In addition to \(A\) and \(D\), the source white point \(W1\) and the destination white point \(W2\) must be specified:

$$\begin{align*} \left[ \begin{array}{c} L_1\\ M_1\\ S_1 \end{array} \right] &= A \left[ \begin{array}{c} W1_X\\ W1_Y\\ W1_Z \end{array} \right] \\ * \left[ \begin{array}{c} L_2\\ M_2\\ S_2 \end{array} \right] &= A \left[ \begin{array}{c} W2_X\\ W2_Y\\ W2_Z \end{array} \right] \\ * D &= \left[ \begin{matrix} \frac{L_2}{L_1} & 0 & 0 \\ * 0 & \frac{M_2}{M_1} & 0 \\ * 0 & 0 & \frac{S_2}{S_1} \end{matrix} \right] \\ * T &= A^{-1}.D.A \end{align*}$$

As an example, the resulting matrix \(T\) can then be used to perform the chromatic adaptation of sRGB XYZ transform from D65 to D50:

$$sRGB_{D50} = T.sRGB_{D65}$$

Summary

Enum values

ColorSpace.Adaptation  BRADFORD

Bradford chromatic adaptation transform, as defined in the CIECAM97s color appearance model. 

ColorSpace.Adaptation  CIECAT02

CIECAT02 chromatic adaption transform, as defined in the CIECAM02 color appearance model. 

ColorSpace.Adaptation  VON_KRIES

von Kries chromatic adaptation transform. 

Public methods

static ColorSpace.Adaptation valueOf(String name)
static final Adaptation[] values()

Inherited methods

Enum values

BRADFORD

added in API level 26
public static final ColorSpace.Adaptation BRADFORD

Bradford chromatic adaptation transform, as defined in the CIECAM97s color appearance model.

CIECAT02

added in API level 26
public static final ColorSpace.Adaptation CIECAT02

CIECAT02 chromatic adaption transform, as defined in the CIECAM02 color appearance model.

VON_KRIES

added in API level 26
public static final ColorSpace.Adaptation VON_KRIES

von Kries chromatic adaptation transform.

Public methods

valueOf

added in API level 26
public static ColorSpace.Adaptation valueOf (String name)

Parameters
name String

Returns
ColorSpace.Adaptation

values

added in API level 26
public static final Adaptation[] values ()

Returns
Adaptation[]