colour.OSA_UCS_to_XYZ

colour.OSA_UCS_to_XYZ(Ljg, optimisation_parameters=None)[source]

Converts from OSA UCS colourspace to CIE XYZ tristimulus values under the CIE 1964 10 Degree Standard Observer.

Parameters:
  • Ljg (array_like) – OSA UCS \(Ljg\) lightness, jaune (yellowness), and greenness.
  • optimisation_parameters (dict_like, optional) – Parameters for scipy.optimize.fmin() definition.
Returns:

CIE XYZ tristimulus values under the CIE 1964 10 Degree Standard Observer.

Return type:

ndarray

Warning

There is no analytical inverse transformation from OSA UCS to \(Ljg\) lightness, jaune (yellowness), and greenness to CIE XYZ tristimulus values, the current implementation relies on optimization using scipy.optimize.fmin() definition and thus has reduced precision and poor performance.

Notes

Domain Scale - Reference Scale - 1
Ljg

L : [-100, 100]

j : [-100, 100]

g : [-100, 100]

L : [-1, 1]

j : [-1, 1]

g : [-1, 1]

Range Scale - Reference Scale - 1
XYZ [0, 100] [0, 1]
  • OSA UCS uses the CIE 1964 10 Degree Standard Observer.

References

[Cao2013], [Moroney2003]

Examples

>>> import numpy as np
>>> Ljg = np.array([-3.00499790, 2.99713697, -9.66784231])
>>> OSA_UCS_to_XYZ(Ljg)  # doctest: +ELLIPSIS
array([ 20.6540240...,  12.1972369...,   5.1369372...])