colour.XYZ_to_OSA_UCS#

colour.XYZ_to_OSA_UCS(XYZ: Annotated[_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], 100]) Annotated[ndarray[tuple[Any, ...], dtype[float16 | float32 | float64]], 100][source]#

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

The lightness axis, L, is typically in range [-9, 5] and centered around middle gray (Munsell N/6). The yellow-blue axis, j, is typically in range [-15, 15]. The red-green axis, g, is typically in range [-20, 15].

Parameters:

XYZ (Annotated[_Buffer | _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | complex | bytes | str | _NestedSequence[complex | bytes | str], 100]) – CIE XYZ tristimulus values under the CIE 1964 10 Degree Standard Observer.

Returns:

OSA UCS \(Ljg\) lightness, jaune (yellowness), and greenness.

Return type:

numpy.ndarray

Notes

Domain

Scale - Reference

Scale - 1

XYZ

100

1

Range

Scale - Reference

Scale - 1

Ljg

100

1

  • OSA UCS uses the CIE 1964 10 Degree Standard Observer.

References

[CTS13], [Mor03]

Examples

>>> import numpy as np
>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952]) * 100
>>> XYZ_to_OSA_UCS(XYZ)
array([-3.0049979...,  2.9971369..., -9.6678423...])