colour.adaptation.chromatic_adaptation_Fairchild1990#

colour.adaptation.chromatic_adaptation_Fairchild1990(XYZ_1: ArrayLike, XYZ_n: ArrayLike, XYZ_r: ArrayLike, Y_n: ArrayLike, discount_illuminant: bool = False) NDArrayFloat[source]#

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

Parameters:
  • XYZ_1 (ArrayLike) – CIE XYZ_1 tristimulus values of test sample / stimulus.

  • XYZ_n (ArrayLike) – Test viewing condition CIE XYZ_n tristimulus values of whitepoint.

  • XYZ_r (ArrayLike) – Reference viewing condition CIE XYZ_r tristimulus values of whitepoint.

  • Y_n (ArrayLike) – Luminance \(Y_n\) of test adapting stimulus in \(cd/m^2\).

  • discount_illuminant (bool) – Truth value indicating if the illuminant should be discounted.

Returns:

Adapted CIE XYZ_2 tristimulus values of stimulus.

Return type:

numpy.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

[Fai91], [Fai13f]

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)
... 
array([ 23.3252634...,  23.3245581...,  76.1159375...])