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: Union[Literal['ASTMD2244-07', 'DIN99', 'DIN99b', 'DIN99c', 'DIN99d'], str] = 'DIN99') numpy.ndarray[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 (Union[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...])