colour.XYZ_to_DIN99#

colour.XYZ_to_DIN99(XYZ: ArrayLike, illuminant: ArrayLike = CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D65'], k_E: float = 1, k_CH: float = 1, method: Literal['ASTMD2244-07', 'DIN99', 'DIN99b', 'DIN99c', 'DIN99d'] | str = 'DIN99') NDArrayFloat[source]#

Convert from CIE XYZ tristimulus values to DIN99 colourspace or one of the DIN99b, DIN99c, DIN99d refined formulas according to Cui et al. (2002).

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

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

  • k_E (float) – Parametric factor \(K_E\) used to compensate for texture and other specimen presentation effects.

  • k_CH (float) – Parametric factor \(K_{CH}\) used to compensate for texture and other specimen presentation effects.

  • method (Literal['ASTMD2244-07', 'DIN99', 'DIN99b', 'DIN99c', 'DIN99d'] | str) – Computation method to choose between the [ASTMInternational07] formula and the refined formulas according to Cui et al. (2002).

Returns:

DIN99 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_99

L_99 : [0, 100]

a_99 : [-100, 100]

b_99 : [-100, 100]

L_99 : [0, 1]

a_99 : [-1, 1]

b_99 : [-1, 1]

References

[ASTMInternational07]

Examples

>>> import numpy as np
>>> XYZ = np.array([0.20654008, 0.12197225, 0.05136952])
>>> XYZ_to_DIN99(XYZ)  
array([ 53.2282198...,  28.4163465...,   3.8983955...])