colour.adaptation.chromatic_adaptation_matrix_VonKries¶
-
colour.adaptation.
chromatic_adaptation_matrix_VonKries
(XYZ_w, XYZ_wr, transform='CAT02')[source]¶ Computes the chromatic adaptation matrix from test viewing conditions to reference viewing conditions.
Parameters: - XYZ_w (array_like) – Test viewing condition CIE XYZ tristimulus values of whitepoint.
- XYZ_wr (array_like) – Reference viewing condition CIE XYZ tristimulus values of whitepoint.
- transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
Returns: Chromatic adaptation matrix \(M_{cat}\).
Return type: ndarray
Raises: KeyError
– If chromatic adaptation method is not defined.Notes
Domain Scale - Reference Scale - 1 XYZ_w
[0, 1] [0, 1] XYZ_wr
[0, 1] [0, 1] References
Examples
>>> XYZ_w = np.array([0.95045593, 1.00000000, 1.08905775]) >>> XYZ_wr = np.array([0.96429568, 1.00000000, 0.82510460]) >>> chromatic_adaptation_matrix_VonKries(XYZ_w, XYZ_wr) ... # doctest: +ELLIPSIS array([[ 1.0425738..., 0.0308910..., -0.0528125...], [ 0.0221934..., 1.0018566..., -0.0210737...], [-0.0011648..., -0.0034205..., 0.7617890...]])
Using Bradford method:
>>> XYZ_w = np.array([0.95045593, 1.00000000, 1.08905775]) >>> XYZ_wr = np.array([0.96429568, 1.00000000, 0.82510460]) >>> method = 'Bradford' >>> chromatic_adaptation_matrix_VonKries(XYZ_w, XYZ_wr, method) ... # doctest: +ELLIPSIS array([[ 1.0479297..., 0.0229468..., -0.0501922...], [ 0.0296278..., 0.9904344..., -0.0170738...], [-0.0092430..., 0.0150551..., 0.7518742...]])