colour.adaptation.chromatic_adaptation_inverse_CMCCAT2000#

colour.adaptation.chromatic_adaptation_inverse_CMCCAT2000(XYZ_c: ArrayLike, XYZ_w: ArrayLike, XYZ_wr: ArrayLike, L_A1: ArrayLike, L_A2: ArrayLike, surround: InductionFactors_CMCCAT2000 = VIEWING_CONDITIONS_CMCCAT2000['Average']) NDArrayFloat[source]#

Adapt given stimulus corresponding colour CIE XYZ tristimulus values from reference viewing conditions to test viewing conditions using CMCCAT2000 inverse chromatic adaptation model.

Parameters:
  • XYZ_c (ArrayLike) – CIE XYZ tristimulus values of the stimulus to adapt.

  • XYZ_w (ArrayLike) – Test viewing condition CIE XYZ tristimulus values of the whitepoint.

  • XYZ_wr (ArrayLike) – Reference viewing condition CIE XYZ tristimulus values of the whitepoint.

  • L_A1 (ArrayLike) – Luminance of test adapting field \(L_{A1}\) in \(cd/m^2\).

  • L_A2 (ArrayLike) – Luminance of reference adapting field \(L_{A2}\) in \(cd/m^2\).

  • surround (InductionFactors_CMCCAT2000) – Surround viewing conditions induction factors.

Returns:

CIE XYZ_c tristimulus values of the adapted stimulus.

Return type:

numpy.ndarray

Notes

Domain

Scale - Reference

Scale - 1

XYZ_c

[0, 100]

[0, 1]

XYZ_w

[0, 100]

[0, 1]

XYZ_wr

[0, 100]

[0, 1]

Range

Scale - Reference

Scale - 1

XYZ

[0, 100]

[0, 1]

References

[LLRH02], [WRC12d]

Examples

>>> XYZ_c = np.array([19.53, 23.07, 24.97])
>>> 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_inverse_CMCCAT2000(XYZ_c, XYZ_w, XYZ_wr, L_A1, L_A2)
... 
array([ 22.4839876...,  22.7419485...,   8.5393392...])