colour.adaptation.chromatic_adaptation_Fairchild1990

colour.adaptation.chromatic_adaptation_Fairchild1990(XYZ_1, XYZ_n, XYZ_r, Y_n, discount_illuminant=False)[source]

Adapts given stimulus CIE XYZ_1 tristimulus values from test viewing conditions to reference viewing conditions using Fairchild (1990) chromatic adaptation model.

Parameters:
  • XYZ_1 (array_like) – CIE XYZ_1 tristimulus values of test sample / stimulus.
  • XYZ_n (array_like) – Test viewing condition CIE XYZ_n tristimulus values of whitepoint.
  • XYZ_r (array_like) – Reference viewing condition CIE XYZ_r tristimulus values of whitepoint.
  • Y_n (numeric or array_like) – Luminance \(Y_n\) of test adapting stimulus in \(cd/m^2\).
  • discount_illuminant (bool, optional) – Truth value indicating if the illuminant should be discounted.
Returns:

Adapted CIE XYZ_2 tristimulus values of stimulus.

Return type:

ndarray

Notes

Domain Scale - Reference Scale - 1
XYZ_1 [0, 100] [0, 1]
XYZ_n [0, 100] [0, 1]
XYZ_r [0, 100] [0, 1]
Range Scale - Reference Scale - 1
XYZ_2 [0, 100] [0, 1]

References

[Fairchild1991a], [Fairchild2013s]

Examples

>>> XYZ_1 = np.array([19.53, 23.07, 24.97])
>>> XYZ_n = np.array([111.15, 100.00, 35.20])
>>> XYZ_r = np.array([94.81, 100.00, 107.30])
>>> Y_n = 200
>>> chromatic_adaptation_Fairchild1990(XYZ_1, XYZ_n, XYZ_r, Y_n)
... # doctest: +ELLIPSIS
array([ 23.3252634...,  23.3245581...,  76.1159375...])