colour.adaptation.vonkries Module

Von Kries Chromatic Adaptation Model

Defines Von Kries chromatic adaptation model objects:

References

[1]Fairchild, M. D. (2013). Chromatic Adaptation Models. In Color Appearance Models (3rd ed., pp. 4179–4252). Wiley. ASIN:B00DAYO8E2
colour.adaptation.vonkries.chromatic_adaptation_matrix_VonKries(XYZ_w, XYZ_wr, transform=u'CAT02')[source]

Returns the chromatic adaptation matrix from test viewing conditions CIE XYZ_w colourspace matrix to reference viewing conditions CIE XYZ_wr colourspace matrix.

Parameters:
  • XYZ_w (array_like, (3,)) – Test viewing condition CIE XYZ colourspace matrix.
  • XYZ_wr (array_like, (3,)) – Reference viewing condition CIE XYZ colourspace matrix.
  • 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.

Return type:

ndarray, (3, 3)

Raises:

KeyError – If chromatic adaptation method is not defined.

Examples

>>> XYZ_w = np.array([1.09846607, 1., 0.3558228])
>>> XYZ_wr = np.array([0.95042855, 1., 1.08890037])
>>> chromatic_adaptation_matrix_VonKries(XYZ_w, XYZ_wr)    
array([[ 0.8687653..., -0.1416539...,  0.3871961...],
       [-0.1030072...,  1.0584014...,  0.1538646...],
       [ 0.0078167...,  0.0267875...,  2.9608177...]])

Using Bradford method:

>>> XYZ_w = np.array([1.09846607, 1., 0.3558228])
>>> XYZ_wr = np.array([0.95042855, 1., 1.08890037])
>>> method = 'Bradford'
>>> chromatic_adaptation_matrix_VonKries(XYZ_w, XYZ_wr, method)    
array([[ 0.8446794..., -0.1179355...,  0.3948940...],
       [-0.1366408...,  1.1041236...,  0.1291981...],
       [ 0.0798671..., -0.1349315...,  3.1928829...]])
colour.adaptation.vonkries.chromatic_adaptation_VonKries(XYZ, XYZ_w, XYZ_wr, transform=u'CAT02')[source]

Adapts given CIE XYZ colourspace stimulus from test viewing conditions CIE XYZ_w colourspace matrix to reference viewing conditions CIE XYZ_wr colourspace matrix. [6]_

Parameters:
  • XYZ (array_like, (3,)) – CIE XYZ colourspace stimulus to adapt.
  • XYZ_w (array_like, (3,)) – Test viewing condition CIE XYZ colourspace whitepoint matrix.
  • XYZ_wr (array_like, (3,)) – Reference viewing condition CIE XYZ colourspace whitepoint matrix.
  • transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
Returns:

CIE XYZ_c colourspace matrix of the stimulus corresponding colour.

Return type:

ndarray, (3,)

Examples

>>> XYZ = np.array([0.07049534, 0.1008, 0.09558313])
>>> XYZ_w = np.array([1.09846607, 1., 0.3558228])
>>> XYZ_wr = np.array([0.95042855, 1., 1.08890037])
>>> chromatic_adaptation_VonKries(XYZ, XYZ_w, XYZ_wr)  
array([ 0.0839746...,  0.1141321...,  0.2862554...])

Using Bradford method:

>>> XYZ = np.array([0.07049534, 0.1008, 0.09558313])
>>> XYZ_w = np.array([1.09846607, 1., 0.3558228])
>>> XYZ_wr = np.array([0.95042855, 1., 1.08890037])
>>> method = 'Bradford'
>>> chromatic_adaptation_VonKries(XYZ, XYZ_w, XYZ_wr, method)    
array([ 0.0854032...,  0.1140122...,  0.2972149...])