colour.models.rgb.common Module

Common RGB Colour Models Utilities

Defines various RGB colour models common utilities.

colour.models.rgb.common.XYZ_to_sRGB(XYZ, illuminant=(0.3127, 0.329), chromatic_adaptation_transform=u'CAT02', apply_encoding_cctf=True)[source]

Converts from CIE XYZ tristimulus values to sRGB colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Source illuminant chromaticity coordinates.
  • chromatic_adaptation_transform (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation transform.
  • apply_encoding_cctf (bool, optional) – Apply sRGB encoding colour component transfer function / opto-electronic transfer function.
Returns:

sRGB colour array.

Return type:

ndarray

Notes

  • Input CIE XYZ tristimulus values are in domain [0, 1].

Examples

>>> import numpy as np
>>> XYZ = np.array([0.07049534, 0.10080000, 0.09558313])
>>> XYZ_to_sRGB(XYZ)  
array([ 0.1749817...,  0.3881874...,  0.3215997...])
colour.models.rgb.common.sRGB_to_XYZ(RGB, illuminant=(0.3127, 0.329), chromatic_adaptation_method=u'CAT02', apply_decoding_cctf=True)[source]

Converts from sRGB colourspace to CIE XYZ tristimulus values.

Parameters:
  • RGB (array_like) – sRGB colourspace array.
  • illuminant (array_like, optional) – Source illuminant chromaticity coordinates.
  • chromatic_adaptation_method (unicode, optional) – {‘CAT02’, ‘XYZ Scaling’, ‘Von Kries’, ‘Bradford’, ‘Sharp’, ‘Fairchild’, ‘CMCCAT97’, ‘CMCCAT2000’, ‘CAT02_BRILL_CAT’, ‘Bianco’, ‘Bianco PC’}, Chromatic adaptation method.
  • apply_decoding_cctf (bool, optional) – Apply sRGB decoding colour component transfer function / electro-optical transfer function.
Returns:

CIE XYZ tristimulus values.

Return type:

ndarray

Notes

  • Input RGB colourspace array is in domain [0, 1].

Examples

>>> import numpy as np
>>> RGB = np.array([0.17498172, 0.38818743, 0.32159978])
>>> sRGB_to_XYZ(RGB)  
array([ 0.0704953...,  0.1008...,  0.0955831...])