colour.adaptation.chromatic_adaptation_VonKries#
- colour.adaptation.chromatic_adaptation_VonKries(XYZ: ArrayLike, XYZ_w: ArrayLike, XYZ_wr: ArrayLike, transform: Literal['Bianco 2010', 'Bianco PC 2010', 'Bradford', 'CAT02 Brill 2008', 'CAT02', 'CAT16', 'CMCCAT2000', 'CMCCAT97', 'Fairchild', 'Sharp', 'Von Kries', 'XYZ Scaling'] | str = 'CAT02') NDArrayFloat [source]#
Adapt given stimulus from test viewing conditions to reference viewing conditions.
- Parameters:
XYZ (ArrayLike) – CIE XYZ tristimulus values of stimulus to adapt.
XYZ_w (ArrayLike) – Test viewing conditions CIE XYZ tristimulus values of whitepoint.
XYZ_wr (ArrayLike) – Reference viewing conditions CIE XYZ tristimulus values of whitepoint.
transform (Literal['Bianco 2010', 'Bianco PC 2010', 'Bradford', 'CAT02 Brill 2008', 'CAT02', 'CAT16', 'CMCCAT2000', 'CMCCAT97', 'Fairchild', 'Sharp', 'Von Kries', 'XYZ Scaling'] | str) – Chromatic adaptation transform.
- Returns:
CIE XYZ_c tristimulus values of the stimulus corresponding colour.
- Return type:
Notes
Domain
Scale - Reference
Scale - 1
XYZ
[0, 1]
[0, 1]
XYZ_n
[0, 1]
[0, 1]
XYZ_r
[0, 1]
[0, 1]
Range
Scale - Reference
Scale - 1
XYZ_a
[0, 1]
[0, 1]
References
[Fai13a]
Examples
>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952]) >>> XYZ_w = np.array([0.95045593, 1.00000000, 1.08905775]) >>> XYZ_wr = np.array([0.96429568, 1.00000000, 0.82510460]) >>> chromatic_adaptation_VonKries(XYZ, XYZ_w, XYZ_wr) array([ 0.2163881..., 0.1257 , 0.0384749...])
Using Bradford transform:
>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952]) >>> XYZ_w = np.array([0.95045593, 1.00000000, 1.08905775]) >>> XYZ_wr = np.array([0.96429568, 1.00000000, 0.82510460]) >>> transform = "Bradford" >>> chromatic_adaptation_VonKries(XYZ, XYZ_w, XYZ_wr, transform) ... array([ 0.2166600..., 0.1260477..., 0.0385506...])