Coverage for colour/io/__init__.py: 100%
31 statements
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
« prev ^ index » next coverage.py v7.11.0, created at 2025-11-15 19:01 +1300
1import sys
3from colour.hints import Any
4from colour.utilities.deprecation import ModuleAPI, build_API_changes
5from colour.utilities.documentation import is_documentation_building
7from . import luts
8from .image import (
9 MAPPING_BIT_DEPTH,
10 READ_IMAGE_METHODS,
11 WRITE_IMAGE_METHODS,
12 Image_Specification_Attribute,
13 as_3_channels_image,
14 convert_bit_depth,
15 image_specification_OpenImageIO,
16 read_image,
17 read_image_Imageio,
18 read_image_OpenImageIO,
19 write_image,
20 write_image_Imageio,
21 write_image_OpenImageIO,
22)
23from .luts import * # noqa: F403
25# isort: split
27from .ctl import (
28 ctl_render,
29 process_image_ctl,
30 template_ctl_transform_float,
31 template_ctl_transform_float3,
32)
33from .fichet2021 import (
34 ComponentsFichet2021,
35 Specification_Fichet2021,
36 read_spectral_image_Fichet2021,
37 sd_to_spectrum_attribute_Fichet2021,
38 spectrum_attribute_to_sd_Fichet2021,
39 write_spectral_image_Fichet2021,
40)
41from .ocio import process_image_OpenColorIO
42from .tabular import (
43 read_sds_from_csv_file,
44 read_spectral_data_from_csv_file,
45 write_sds_to_csv_file,
46)
47from .tm2714 import Header_IESTM2714, SpectralDistribution_IESTM2714
48from .uprtek_sekonic import (
49 SpectralDistribution_Sekonic,
50 SpectralDistribution_UPRTek,
51)
52from .xrite import read_sds_from_xrite_file
54__all__ = luts.__all__
55__all__ += [
56 "MAPPING_BIT_DEPTH",
57 "READ_IMAGE_METHODS",
58 "WRITE_IMAGE_METHODS",
59 "Image_Specification_Attribute",
60 "as_3_channels_image",
61 "convert_bit_depth",
62 "image_specification_OpenImageIO",
63 "read_image",
64 "read_image_Imageio",
65 "read_image_OpenImageIO",
66 "write_image",
67 "write_image_Imageio",
68 "write_image_OpenImageIO",
69]
70__all__ += [
71 "ctl_render",
72 "process_image_ctl",
73 "template_ctl_transform_float",
74 "template_ctl_transform_float3",
75]
76__all__ += [
77 "ComponentsFichet2021",
78 "Specification_Fichet2021",
79 "read_spectral_image_Fichet2021",
80 "sd_to_spectrum_attribute_Fichet2021",
81 "spectrum_attribute_to_sd_Fichet2021",
82 "write_spectral_image_Fichet2021",
83]
84__all__ += [
85 "process_image_OpenColorIO",
86]
87__all__ += [
88 "read_sds_from_csv_file",
89 "read_spectral_data_from_csv_file",
90 "write_sds_to_csv_file",
91]
92__all__ += [
93 "Header_IESTM2714",
94 "SpectralDistribution_IESTM2714",
95]
96__all__ += [
97 "SpectralDistribution_Sekonic",
98 "SpectralDistribution_UPRTek",
99]
100__all__ += [
101 "read_sds_from_xrite_file",
102]
105# ----------------------------------------------------------------------------#
106# --- API Changes and Deprecation Management ---#
107# ----------------------------------------------------------------------------#
108class io(ModuleAPI):
109 """Define a class acting like the *io* module."""
111 def __getattr__(self, attribute: str) -> Any:
112 """Return the value from the attribute with the specified name."""
114 return super().__getattr__(attribute)
117# v0.4.5
118API_CHANGES = {
119 "ObjectRenamed": [
120 [
121 "colour.io.ImageAttribute_Specification",
122 "colour.io.Image_Specification_Attribute",
123 ],
124 ]
125}
127"""Defines the *colour.io* sub-package API changes."""
129if not is_documentation_building():
130 sys.modules["colour.io"] = io( # pyright: ignore
131 sys.modules["colour.io"], build_API_changes(API_CHANGES)
132 )
134 del ModuleAPI, is_documentation_building, build_API_changes, sys