Coverage for characterisation/datasets/lenses/sds.py: 0%

1"""

2 Spectral Distributions of Lenses

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

4

5 Define the spectral distributions of lenses.

6

7 Each lens data is in the form of a :class:`dict` class instance of

8:class:`colour.SpectralDistribution` classes as follows::

9

10 {'name': SpectralDistribution, ..., 'name': SpectralDistribution}

11

12 The following *lenses* are available:

13

14- ISO Standard Lens

15

16 References

17----------

18- :cite:`InternationalOrganizationforStandardization2002` : International

19 Organization for Standardization. (2002). INTERNATIONAL STANDARD ISO

20 7589-2002 - Photography - Illuminants for sensitometry - Specifications for

21 daylight, incandescent tungsten and printer.

22"""

23

24 from __future__ import annotations

25

26 from functools import partial

27

28 from colour.colorimetry import SpectralDistribution

29 from colour.utilities import LazyCanonicalMapping

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

40 "SDS_LENSES_ISO",

41 "SDS_LENSES",

42]

43

44 DATA_LENSES_ISO: dict = {

45 "ISO Standard Lens": {

46 350: 0.00,

47 360: 0.07,

48 370: 0.23,

49 380: 0.42,

50 390: 0.60,

51 400: 0.74,

52 410: 0.83,

53 420: 0.88,

54 430: 0.91,

55 440: 0.94,

56 450: 0.95,

57 460: 0.97,

58 470: 0.98,

59 480: 0.98,

60 490: 0.99,

61 500: 0.99,

62 510: 1.00,

63 520: 1.00,

64 530: 1.00,

65 540: 1.00,

66 550: 1.00,

67 560: 1.00,

68 570: 1.00,

69 580: 1.00,

70 590: 0.99,

71 600: 0.99,

72 610: 0.99,

73 620: 0.98,

74 630: 0.98,

75 640: 0.97,

76 650: 0.97,

77 660: 0.96,

78 670: 0.95,

79 680: 0.94,

80 690: 0.94,

81 }

82}

83

84 SDS_LENSES_ISO: LazyCanonicalMapping = LazyCanonicalMapping(

85 {

86 "ISO Standard Lens": partial(

87 SpectralDistribution,

88 DATA_LENSES_ISO["ISO Standard Lens"],

89 name="ISO Standard Lens",

90 ),

91 }

92)

93 SDS_LENSES_ISO.__doc__ = """

94 Spectral distributions of *ISO* lenses.

95

96 References

97----------

98:cite:`InternationalOrganizationforStandardization2002`

99"""

100

101 SDS_LENSES: LazyCanonicalMapping = LazyCanonicalMapping(SDS_LENSES_ISO)

102 SDS_LENSES.__doc__ = """

103 Spectral distributions of lenses.

104

105 References

106----------

107:cite:`InternationalOrganizationforStandardization2002`

108"""