-
-def create_generic_log(aces_ctl_directory,
- lut_directory,
- lut_resolution_1d,
- cleanup,
- name='log',
- aliases=[],
- min_value=0.0,
- max_value=1.0,
- input_scale=1.0,
- middle_grey=0.18,
- min_exposure=-6.0,
- max_exposure=6.5):
- """
- Creates the *Generic Log* colorspace.
-
- Parameters
- ----------
- parameter : type
- Parameter description.
-
- Returns
- -------
- Colorspace
- *Generic Log* colorspace.
- """
-
- cs = ColorSpace(name)
- cs.description = 'The %s color space' % name
- cs.aliases = aliases
- cs.equality_group = name
- cs.family = 'Utility'
- cs.is_data = False
-
- ctls = [os.path.join(
- aces_ctl_directory,
- 'utilities',
- 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl')]
- lut = '%s_to_aces.spi1d' % name
-
- lut = sanitize(lut)
-
- generate_1d_LUT_from_CTL(
- os.path.join(lut_directory, lut),
- ctls,
- lut_resolution_1d,
- 'float',
- input_scale,
- 1.0,
- {'middleGrey': middle_grey,
- 'minExposure': min_exposure,
- 'maxExposure': max_exposure},
- cleanup,
- aces_ctl_directory,
- min_value,
- max_value)
-
- cs.to_reference_transforms = []
- cs.to_reference_transforms.append({
- 'type': 'lutFile',
- 'path': lut,
- 'interpolation': 'linear',
- 'direction': 'forward'})
-
- cs.from_reference_transforms = []
- return cs
-
-
-def create_LMTs(aces_ctl_directory,
- lut_directory,
- lut_resolution_1d,
- lut_resolution_3d,
- lmt_info,
- shaper_name,
- cleanup):
- """
- Object description.
-
- Parameters
- ----------
- parameter : type
- Parameter description.
-
- Returns
- -------
- type
- Return value description.
- """
-
- colorspaces = []
-
- # -------------------------------------------------------------------------
- # *LMT Shaper*
- # -------------------------------------------------------------------------
- lmt_lut_resolution_1d = max(4096, lut_resolution_1d)
- lmt_lut_resolution_3d = max(65, lut_resolution_3d)
-
- # Defining the *Log 2* shaper.
- lmt_shaper_name = 'LMT Shaper'
- lmt_shaper_name_aliases = ['crv_lmtshaper']
- lmt_params = {
- 'middleGrey': 0.18,
- 'minExposure': -10.0,
- 'maxExposure': 6.5}
-
- lmt_shaper = create_generic_log(aces_ctl_directory,
- lut_directory,
- lmt_lut_resolution_1d,
- cleanup,
- name=lmt_shaper_name,
- middle_grey=lmt_params['middleGrey'],
- min_exposure=lmt_params['minExposure'],
- max_exposure=lmt_params['maxExposure'],
- aliases=lmt_shaper_name_aliases)
- colorspaces.append(lmt_shaper)
-
- shaper_input_scale_generic_log2 = 1.0
-
- # *Log 2* shaper name and *CTL* transforms bundled up.
- lmt_shaper_data = [
- lmt_shaper_name,
- os.path.join('%s',
- 'utilities',
- 'ACESlib.OCIO_shaper_log2_to_lin_param.a1.0.0.ctl'),
- os.path.join('%s',
- 'utilities',
- 'ACESlib.OCIO_shaper_lin_to_log2_param.a1.0.0.ctl'),
- shaper_input_scale_generic_log2,
- lmt_params]
-
- sorted_LMTs = sorted(lmt_info.iteritems(), key=lambda x: x[1])
- print(sorted_LMTs)
- for lmt in sorted_LMTs:
- lmt_name, lmt_values = lmt
- lmt_aliases = ["look_%s" % compact(lmt_values['transformUserName'])]
- cs = create_ACES_LMT(
- lmt_values['transformUserName'],
- lmt_values,
- lmt_shaper_data,
- aces_ctl_directory,
- lut_directory,
- lmt_lut_resolution_1d,
- lmt_lut_resolution_3d,
- cleanup,
- lmt_aliases)
- colorspaces.append(cs)
-
- return colorspaces
-
-