colour.difference.delta_e Module

\(\Delta E_{ab}\) - Delta E Colour Difference

Defines \(\Delta E_{ab}\) colour difference computation objects:

The following methods are available:

References

[1]Wikipedia. (n.d.). Color difference. Retrieved August 29, 2014, from http://en.wikipedia.org/wiki/Color_difference
colour.difference.delta_e.delta_E_CIE1976(Lab1, Lab2, **kwargs)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using CIE 1976 recommendation.

Parameters:
  • Lab1 (array_like) – CIE Lab colourspace array 1.
  • Lab2 (array_like) – CIE Lab colourspace array 2.
  • **kwargs (dict, optional) – Unused parameter provided for signature compatibility with other \(\Delta E_{ab}\) computation objects.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

References

[2]Lindbloom, B. (2003). Delta E (CIE 1976). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CIE76.html

Examples

>>> Lab1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CIE1976(Lab1, Lab2)  
451.7133019...
colour.difference.delta_e.delta_E_CIE1994(Lab1, Lab2, textiles=True, **kwargs)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using CIE 1994 recommendation.

Parameters:
  • Lab1 (array_like) – CIE Lab colourspace array 1.
  • Lab2 (array_like) – CIE Lab colourspace array 2.
  • textiles (bool, optional) – Application specific weights.
  • **kwargs (dict, optional) – Unused parameter provided for signature compatibility with other \(\Delta E_{ab}\) computation objects.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

References

[3]Lindbloom, B. (2011). Delta E (CIE 1994). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CIE94.html

Examples

>>> Lab1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CIE1994(Lab1, Lab2)  
88.3355530...
>>> delta_E_CIE1994(Lab1, Lab2, textiles=False)  
83.7792255...
colour.difference.delta_e.delta_E_CIE2000(Lab1, Lab2, **kwargs)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using CIE 2000 recommendation.

Parameters:
  • Lab1 (array_like) – CIE Lab colourspace array 1.
  • Lab2 (array_like) – CIE Lab colourspace array 2.
  • **kwargs (dict, optional) – Unused parameter provided for signature compatibility with other \(\Delta E_{ab}\) computation objects.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

References

[4]Lindbloom, B. (2009). Delta E (CIE 2000). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CIE2000.html

Examples

>>> Lab1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CIE2000(Lab1, Lab2)  
94.0356490...
colour.difference.delta_e.delta_E_CMC(Lab1, Lab2, l=2, c=1)[source]

Returns the difference \(\Delta E_{ab}\) between two given CIE Lab colourspace arrays using Colour Measurement Committee recommendation.

The quasimetric has two parameters: Lightness (l) and chroma (c), allowing the users to weight the difference based on the ratio of l:c. Commonly used values are 2:1 for acceptability and 1:1 for the threshold of imperceptibility.

Parameters:
  • Lab1 (array_like) – CIE Lab colourspace array 1.
  • Lab2 (array_like) – CIE Lab colourspace array 2.
  • l (numeric, optional) – Lightness weighting factor.
  • c (numeric, optional) – Chroma weighting factor.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

References

[5]Lindbloom, B. (2009). Delta E (CMC). Retrieved February 24, 2014, from http://brucelindbloom.com/Eqn_DeltaE_CMC.html

Examples

>>> Lab1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E_CMC(Lab1, Lab2)  
172.7047712...
colour.difference.delta_e.DELTA_E_METHODS = CaseInsensitiveMapping({u'cie1994': <function delta_E_CIE1994 at 0x7fa03e55d398>, u'CIE 1994': <function delta_E_CIE1994 at 0x7fa03e55d398>, u'cie1976': <function delta_E_CIE1976 at 0x7fa03e5508c0>, u'CMC': <function delta_E_CMC at 0x7fa03e55d488>, u'CIE 1976': <function delta_E_CIE1976 at 0x7fa03e5508c0>, u'cie2000': <function delta_E_CIE2000 at 0x7fa03e55d410>, u'CIE 2000': <function delta_E_CIE2000 at 0x7fa03e55d410>})

Supported Delta E computations methods.

DELTA_E_METHODS : CaseInsensitiveMapping
{‘CIE 1976’, ‘CIE 1994’, ‘CIE 2000’, ‘CMC’}

Aliases:

  • ‘cie1976’: ‘CIE 1976’
  • ‘cie1994’: ‘CIE 1994’
  • ‘cie2000’: ‘CIE 2000’
colour.difference.delta_e.delta_E(Lab1, Lab2, method=u'CMC', **kwargs)[source]

Returns the Lightness \(L^*\) using given method.

Parameters:
  • Lab1 (array_like) – CIE Lab colourspace array 1.
  • Lab2 (array_like) – CIE Lab colourspace array 2.
  • method (unicode, optional) – {‘CMC’, ‘CIE 1976’, ‘CIE 1994’, ‘CIE 2000’}, Computation method.
  • **kwargs (dict, optional) – Keywords arguments.
Returns:

Colour difference \(\Delta E_{ab}\).

Return type:

numeric or ndarray

Examples

>>> Lab1 = np.array([100.00000000, 21.57210357, 272.22819350])
>>> Lab2 = np.array([100.00000000, 426.67945353, 72.39590835])
>>> delta_E(Lab1, Lab2)  
172.7047712...
>>> delta_E(Lab1, Lab2, method='CIE 1976')  
451.7133019...
>>> delta_E(Lab1, Lab2, method='CIE 1994')  
88.3355530...
>>> delta_E(  
...     Lab1, Lab2, method='CIE 1994', textiles=False)
83.7792255...
>>> delta_E(Lab1, Lab2, method='CIE 2000')  
94.0356490...