colour.io.write_image_OpenImageIO¶
- colour.io.write_image_OpenImageIO(image: ArrayLike, path: str, bit_depth: Literal['uint8', 'uint16', 'float16', 'float32', 'float64', 'float128'] = 'float32', attributes: Optional[Sequence] = None) bool [source]¶
Write given image at given path using OpenImageIO.
- Parameters
image (ArrayLike) – Image data.
path (str) – Image path.
bit_depth (Literal['uint8', 'uint16', 'float16', 'float32', 'float64', 'float128']) – Bit depth to write the image at, the bit depth conversion behaviour is ruled directly by OpenImageIO.
attributes (Optional[Sequence]) – An array of
colour.io.ImageAttribute_Specification
class instances used to set attributes of the image.
- Returns
Definition success.
- Return type
Examples
Basic image writing:
>>> import os >>> import colour >>> path = os.path.join(colour.__path__[0], 'io', 'tests', 'resources', ... 'CMS_Test_Pattern.exr') >>> image = read_image(path) >>> path = os.path.join(colour.__path__[0], 'io', 'tests', 'resources', ... 'CMSTestPattern.tif') >>> write_image_OpenImageIO(image, path) True
Advanced image writing while setting attributes:
>>> compression = ImageAttribute_Specification('Compression', 'none') >>> write_image_OpenImageIO(image, path, 'uint8', [compression]) ... True
Writing an “ACES” compliant “EXR” file:
>>> if is_openimageio_installed(): ... from OpenImageIO import TypeDesc ... chromaticities = ( ... 0.7347, 0.2653, 0.0, 1.0, 0.0001, -0.077, 0.32168, 0.33767) ... attributes = [ ... ImageAttribute_Specification('acesImageContainerFlag', True), ... ImageAttribute_Specification( ... 'chromaticities', chromaticities, TypeDesc('float[8]')), ... ImageAttribute_Specification('compression', 'none')] ... write_image_OpenImageIO(image, path, attributes=attributes)