colour.XYZ_to_Lab#

colour.XYZ_to_Lab(XYZ: ArrayLike, illuminant: ArrayLike = CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D65']) NDArrayFloat[source]#

Convert from CIE XYZ tristimulus values to CIE L*a*b* colourspace.

Parameters:
  • XYZ (ArrayLike) – CIE XYZ tristimulus values.

  • illuminant (ArrayLike) – Reference illuminant CIE xy chromaticity coordinates or CIE xyY colourspace array.

Returns:

CIE L*a*b* colourspace array.

Return type:

numpy.ndarray

Notes

Domain

Scale - Reference

Scale - 1

XYZ

[0, 1]

[0, 1]

illuminant

[0, 1]

[0, 1]

Range

Scale - Reference

Scale - 1

Lab

L : [0, 100]

a : [-100, 100]

b : [-100, 100]

L : [0, 1]

a : [-1, 1]

b : [-1, 1]

References

[CIET14804h]

Examples

>>> import numpy as np
>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952])
>>> XYZ_to_Lab(XYZ)  
array([ 41.5278752...,  52.6385830...,  26.9231792...])