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

25 statements  

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

1""" 

2SMPTE C Colourspace 

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

4 

5Define the *SMPTE C* colourspace: 

6 

7- :attr:`RGB_COLOURSPACE_SMPTE_C`. 

8 

9References 

10---------- 

11- :cite:`SocietyofMotionPictureandTelevisionEngineers2004a` : Society of 

12 Motion Picture and Television Engineers. (2004). RP 145:2004: SMPTE C Color 

13 Monitor Colorimetry. In RP 145:2004: Vol. RP 145:200. The Society of Motion 

14 Picture and Television Engineers. doi:10.5594/S9781614821649 

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, normalised_primary_matrix 

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_SMPTE_C", 

40 "WHITEPOINT_NAME_SMPTE_C", 

41 "CCS_WHITEPOINT_SMPTE_C", 

42 "MATRIX_SMPTE_C_TO_XYZ", 

43 "MATRIX_XYZ_TO_SMPTE_C", 

44 "RGB_COLOURSPACE_SMPTE_C", 

45] 

46 

47PRIMARIES_SMPTE_C: NDArrayFloat = np.array( 

48 [ 

49 [0.630, 0.340], 

50 [0.310, 0.595], 

51 [0.155, 0.070], 

52 ] 

53) 

54"""*SMPTE C* colourspace primaries.""" 

55 

56WHITEPOINT_NAME_SMPTE_C: str = "D65" 

57"""*SMPTE C* colourspace whitepoint name.""" 

58 

59CCS_WHITEPOINT_SMPTE_C: NDArrayFloat = CCS_ILLUMINANTS[ 

60 "CIE 1931 2 Degree Standard Observer" 

61][WHITEPOINT_NAME_SMPTE_C] 

62"""*SMPTE C* colourspace whitepoint chromaticity coordinates.""" 

63 

64MATRIX_SMPTE_C_TO_XYZ: NDArrayFloat = normalised_primary_matrix( 

65 PRIMARIES_SMPTE_C, CCS_WHITEPOINT_SMPTE_C 

66) 

67"""*SMPTE C* colourspace to *CIE XYZ* tristimulus values matrix.""" 

68 

69MATRIX_XYZ_TO_SMPTE_C: NDArrayFloat = np.linalg.inv(MATRIX_SMPTE_C_TO_XYZ) 

70"""*CIE XYZ* tristimulus values to *SMPTE C* colourspace matrix.""" 

71 

72RGB_COLOURSPACE_SMPTE_C: RGB_Colourspace = RGB_Colourspace( 

73 "SMPTE C", 

74 PRIMARIES_SMPTE_C, 

75 CCS_WHITEPOINT_SMPTE_C, 

76 WHITEPOINT_NAME_SMPTE_C, 

77 MATRIX_SMPTE_C_TO_XYZ, 

78 MATRIX_XYZ_TO_SMPTE_C, 

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

80 partial(gamma_function, exponent=2.2), 

81) 

82RGB_COLOURSPACE_SMPTE_C.__doc__ = """ 

83*SMPTE C* colourspace. 

84 

85References 

86---------- 

87:cite:`SocietyofMotionPictureandTelevisionEngineers2004a` 

88"""