colour.XYZ_to_UVW

colour.XYZ_to_UVW(XYZ, illuminant=array([ 0.3127, 0.329 ]))[source]

Converts from CIE XYZ tristimulus values to CIE 1964 U*V*W* colourspace.

Parameters:
  • XYZ (array_like) – CIE XYZ tristimulus values.
  • illuminant (array_like, optional) – Reference illuminant xy chromaticity coordinates or CIE xyY colourspace array.
Returns:

CIE 1964 U*V*W* colourspace array.

Return type:

ndarray

Warning

The input domain and output range of that definition are non standard!

Notes

Domain Scale - Reference Scale - 1
XYZ [0, 1] [0, 1]
illuminant [0, 1] [0, 1]
Range Scale - Reference Scale - 1
UVW

U : [-100, 100]

V : [-100, 100]

W : [0, 100]

U : [-1, 1]

V : [-1, 1]

W : [0, 1]

References

[Wik08b]

Examples

>>> import numpy as np
>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952]) * 100
>>> XYZ_to_UVW(XYZ)  # doctest: +ELLIPSIS
array([ 94.5503572...,  11.5553652...,  40.5475740...])