Implements support for general colorspaces conversions and transfer functions.
"""
+from __future__ import division
+
+import PyOpenColorIO as ocio
+
import aces_ocio.create_aces_colorspaces as aces
from aces_ocio.utilities import ColorSpace, mat44_from_mat33
'create_colorspaces']
# -------------------------------------------------------------------------
-# Generic Matrix transform
+# *Simple Matrix Transform*
# -------------------------------------------------------------------------
def create_generic_matrix(name='matrix',
from_reference_values=None,
cs.family = 'Utility'
cs.is_data = False
+ # A linear space needs allocation variables
+ cs.allocation_type = ocio.Constants.ALLOCATION_LG2
+ cs.allocation_vars = [-8, 5, 0.00390625]
+
cs.to_reference_transforms = []
if to_reference_values:
for matrix in to_reference_values:
return cs
-
def create_colorspaces(lut_directory,
lut_resolution_1d,
lut_resolution_3d):
colorspaces = []
cs = create_generic_matrix('XYZ',
+ to_reference_values=[aces.ACES_XYZ_TO_AP0],
from_reference_values=[aces.ACES_AP0_TO_XYZ],
aliases=["lin_xyz"])
colorspaces.append(cs)
cs = create_generic_matrix(
'Linear - AP1',
to_reference_values=[aces.ACES_AP1_TO_AP0],
+ from_reference_values=[aces.ACES_AP0_TO_AP1],
aliases=["lin_ap1"])
colorspaces.append(cs)
-0.0032853314, 0.0099796402, 0.9933056912]
cs = create_generic_matrix(
- 'Linear - ProPhoto',
+ 'Linear - RIMM ROMM (ProPhoto)',
from_reference_values=[AP0_to_RIMM],
aliases=["lin_prophoto", "lin_rimm"])
colorspaces.append(cs)
aliases=["lin_adobergb"])
colorspaces.append(cs)
+
# *ACES* to *Linear*, *Adobe Wide Gamut RGB* primaries.
AP0_to_ADOBERGB = [1.3809814778, -0.1158594573, -0.2651220205,
0.0057015535, 1.0402949043, -0.0459964578,
colorspaces.append(cs)
return colorspaces
+
+def create_raw():
+ # *Raw* utility space
+ name = "Raw"
+ raw = ColorSpace(name)
+ raw.description = 'The %s color space' % name
+ raw.aliases = []
+ raw.equality_group = name
+ raw.family = 'Utility'
+ raw.is_data = True
+
+ return raw
+
+