colour.adaptation.chromatic_adaptation_forward_CMCCAT2000

colour.adaptation.chromatic_adaptation_forward_CMCCAT2000(XYZ, XYZ_w, XYZ_wr, L_A1, L_A2, surround=CMCCAT2000_InductionFactors(F=1))[source]

Adapts given stimulus CIE XYZ tristimulus values from test viewing conditions to reference viewing conditions using CMCCAT2000 forward chromatic adaptation model.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values of the stimulus to adapt.
  • XYZ_w (array_like) – Test viewing condition CIE XYZ tristimulus values of the whitepoint.
  • XYZ_wr (array_like) – Reference viewing condition CIE XYZ tristimulus values of the whitepoint.
  • L_A1 (numeric or array_like) – Luminance of test adapting field \(L_{A1}\) in \(cd/m^2\).
  • L_A2 (numeric or array_like) – Luminance of reference adapting field \(L_{A2}\) in \(cd/m^2\).
  • surround (CMCCAT2000_InductionFactors, optional) – Surround viewing conditions induction factors.
Returns:

CIE XYZ_c tristimulus values of the stimulus corresponding colour.

Return type:

ndarray

Notes

Domain Scale - Reference Scale - 1
XYZ [0, 100] [0, 1]
XYZ_w [0, 100] [0, 1]
XYZ_wr [0, 100] [0, 1]
Range Scale - Reference Scale - 1
XYZ_c [0, 100] [0, 1]

References

[Li2002a], [Westland2012k]

Examples

>>> XYZ = np.array([22.48, 22.74, 8.54])
>>> XYZ_w = np.array([111.15, 100.00, 35.20])
>>> XYZ_wr = np.array([94.81, 100.00, 107.30])
>>> L_A1 = 200
>>> L_A2 = 200
>>> chromatic_adaptation_forward_CMCCAT2000(XYZ, XYZ_w, XYZ_wr, L_A1, L_A2)
... # doctest: +ELLIPSIS
array([ 19.5269832...,  23.0683396...,  24.9717522...])