Coverage for models/rgb/datasets/cie_rgb.py: 0%

25 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-11-16 22:49 +1300

1""" 

2CIE RGB Colourspace 

3=================== 

4 

5Define the *CIE RGB* colourspace: 

6 

7- :attr:`colour.models.RGB_COLOURSPACE_CIE_RGB`. 

8 

9References 

10---------- 

11- :cite:`Fairman1997` : Fairman, H. S., Brill, M. H., & Hemmendinger, H. 

12 (1997). How the CIE 1931 color-matching functions were derived from 

13 Wright-Guild data. Color Research & Application, 22(1), 11-23. 

14 doi:10.1002/(SICI)1520-6378(199702)22:1<11::AID-COL4>3.0.CO;2-7 

15""" 

16 

17from __future__ import annotations 

18 

19import typing 

20from functools import partial 

21 

22import numpy as np 

23 

24from colour.colorimetry import CCS_ILLUMINANTS 

25 

26if typing.TYPE_CHECKING: 

27 from colour.hints import NDArrayFloat 

28 

29from colour.models.rgb import RGB_Colourspace, gamma_function 

30 

31__author__ = "Colour Developers" 

32__copyright__ = "Copyright 2013 Colour Developers" 

33__license__ = "BSD-3-Clause - https://opensource.org/licenses/BSD-3-Clause" 

34__maintainer__ = "Colour Developers" 

35__email__ = "colour-developers@colour-science.org" 

36__status__ = "Production" 

37 

38__all__ = [ 

39 "PRIMARIES_CIE_RGB", 

40 "WHITEPOINT_NAME_CIE_RGB", 

41 "CCS_WHITEPOINT_CIE_RGB", 

42 "MATRIX_CIE_RGB_TO_XYZ", 

43 "MATRIX_XYZ_TO_CIE_RGB", 

44 "RGB_COLOURSPACE_CIE_RGB", 

45] 

46 

47PRIMARIES_CIE_RGB: NDArrayFloat = np.array( 

48 [ 

49 [0.734742840005998, 0.265257159994002], 

50 [0.273779033824958, 0.717477700256116], 

51 [0.166555629580280, 0.008910726182545], 

52 ] 

53) 

54""" 

55*CIE RGB* colourspace primaries. 

56 

57Notes 

58----- 

59- *CIE RGB* colourspace primaries were computed using 

60 :attr:`colour.models.rgb.datasets.cie_rgb.MATRIX_CIE_RGB_TO_XYZ` attribute 

61 and :func:`colour.primaries_whitepoint` definition. 

62""" 

63 

64WHITEPOINT_NAME_CIE_RGB: str = "E" 

65"""*CIE RGB* colourspace whitepoint name.""" 

66 

67CCS_WHITEPOINT_CIE_RGB: NDArrayFloat = CCS_ILLUMINANTS[ 

68 "CIE 1931 2 Degree Standard Observer" 

69][WHITEPOINT_NAME_CIE_RGB] 

70"""*CIE RGB* colourspace whitepoint chromaticity coordinates.""" 

71 

72MATRIX_CIE_RGB_TO_XYZ: NDArrayFloat = np.array( 

73 [ 

74 [0.4900, 0.3100, 0.2000], 

75 [0.1769, 0.8124, 0.0107], 

76 [0.0000, 0.0099, 0.9901], 

77 ] 

78) 

79"""*CIE RGB* colourspace to *CIE XYZ* tristimulus values matrix.""" 

80 

81MATRIX_XYZ_TO_CIE_RGB: NDArrayFloat = np.linalg.inv(MATRIX_CIE_RGB_TO_XYZ) 

82"""*CIE XYZ* tristimulus values to *CIE RGB* colourspace matrix.""" 

83 

84RGB_COLOURSPACE_CIE_RGB: RGB_Colourspace = RGB_Colourspace( 

85 "CIE RGB", 

86 PRIMARIES_CIE_RGB, 

87 CCS_WHITEPOINT_CIE_RGB, 

88 WHITEPOINT_NAME_CIE_RGB, 

89 MATRIX_CIE_RGB_TO_XYZ, 

90 MATRIX_XYZ_TO_CIE_RGB, 

91 partial(gamma_function, exponent=1 / 2.2), 

92 partial(gamma_function, exponent=2.2), 

93) 

94RGB_COLOURSPACE_CIE_RGB.__doc__ = """ 

95*CIE RGB* colourspace. 

96 

97References 

98---------- 

99:cite:`Fairman1997` 

100"""