Share

Building Custom Colour Transforms

You can build a chain of colour transforms using the Custom mode of the Colour Transform tool. The transforms are applied in order from beginning to end. For example, you can build a colour transform that first modifies the gamma and then changes the primaries.

The custom transform builder is a very powerful tool for applying any transform available within an OCIO config and combining it with external colour transform or LUT files. It may then be exported for use in other applications that support a sufficiently recent version of OpenColorIO. Note that this is a lossless process, it is not baked-down into a LUT. An exported transform may even be added as a User Colour Space or User View Transform to the OCIO config.

  1. In the Colour Management tool, set the mode box to Colour Transform.

  2. Enable the Custom button.

  3. Click Add to insert an empty row.

  4. Click in the Type column and select a type:

    • OCIO Colour Spaces: To use a colour space from the OCIO config.
    • OCIO Display Colour Spaces: To use a display colour space from the OCIO config (note: these are different from the "displays" of the config).
    • OCIO Looks: To use a look transform from the OCIO config.
    • OCIO Named Transforms: To use a named transform from the OCIO config.
    • OCIO View Transforms: To use a view transform from the OCIO config (note: these are different from the "views" of the config).
    • Import: Browse for colour transforms on your file system. You can select native .ctf format files, as well as several other supported LUT and transform formats.
  5. After you've selected a colour transform type, click in the Transform column and select a transform.

    Information about the transform and the operations it contains appears in the Colour Transform Browser panel.

  6. To add more transforms to the end of the chain, repeat steps 3 to 5.

    You can also:

    • Click in the Type or Transform columns again to change a transform in the chain.

    • Select a row and click Delete to remove a transform from the chain.

    • Use the Up or Down buttons to reorder the chain. Moving a transform up applies it earlier in the chain, and moving it down applies it later.

    • Use the visibility icon to mute or bypass a transform in the chain.

    • Enable the Invert button to invert the entire chain of transforms, or use the Invert column to invert individual transforms in the chain.

      Note: Some colour transforms are impossible to invert perfectly. This happens when they map multiple input colours to the same output colour, such as when transforming from a large space to a smaller space. In these situations, the Invert option maps the original output colour back to one of the original input colours, but applying the forward transform followed by the inverse transform will inevitably change some colours.
  7. Don't forget to set the Tagged Colour Space menu to describe the output colour space, based on the last row in your transform chain.




Specifying the Direction of Transforms from an OCIO Config

All transforms in OCIO have a direction defined in the config file. In the custom transform builder, one direction is considered the forward direction and the other is the inverse direction, as shown in the following table. The opposite direction is applied by clicking in the Invert column. Note that there is no need to check on what direction is actually present in the config file. OCIO is able to invert all transform types (including 3D-LUTs), so regardless of whether a given direction is present in the config file, the requested direction may always be calculated by the custom transform builder.

Transform Type Forward Transform Inverse Transform
Colour Space to_scene_reference from_scene_reference
Display Colour Space to_display_reference from_display_reference
Look transform inverse_transform
Named Transform transform inverse_transform
View Transform from_reference to_reference

The transforms in some configs will sometimes omit the "scene" or "display" and just have a "to_reference" or "from_reference" designation. A view transform may use either "to_scene_reference", "from_scene_reference", "to_display_reference", or "from_display_reference". The tool supports all of those scenarios.

The contents of the Colour Transform Browser panel will update based on whether the Invert column is enabled to show the actual order of colour operators that will be applied. (The direction line at the top of the Browser panel will indicate "forward" if the operators shown are in the order they appear in the config and "inverse" if OCIO has inverted what was in the config. It is not an indication of whether the Invert column is enabled since that is relative to the directions shown in the table above, not on whatever direction happens to be present in a config.)




About Reference Spaces

Colour Space transforms are relative to the scene-referred reference space in the config (in the Autodesk configs, this is "ACES2065-1"). Display Colour Space transforms are relative to the display-referred reference space in the config (in the Autodesk configs, this is "CIE XYZ-D65 - Display-referred"). View Transforms (generally) convert from the scene-referred reference space to the display-referred reference space. The reference spaces act as common connection spaces that provide a way to build paths between colour spaces. Named Transforms are stand-alone components that do not use a reference space.

If you use a Colour Space next to a Display Colour Space, do not forget about the need to account for the fact that they use different reference spaces. The "Un-tone-mapped" View Transform (in the default config) is useful in this scenario since it will convert from the scene-referred reference space to the display-referred reference space without any tone-mapping. Insert this as a row between the Colour Space and Display Colour Space. (Invert it to connect a Display Colour Space to a Colour Space.)

For Looks, a process_space is specified in the config so the transforms are relative to that (i.e., they start and end in the process space). However, the conversion from a reference space to the process space is not included in the actual transform that is part of a Look in a config. Therefore, for this tool, the process space conversion (if you want it) must be applied by adding a row before and after the look to manually convert to and from the desired process space.




About Compatibility

If you save a Custom Colour Management tool as a Batch or Timeline FX setup and load it in another project that uses a different OCIO config, rows that refer to items not present in the current config will appear in red. Similarly, if an imported LUT is no longer available, its row will appear in red. In these cases, you may export the transform from the original project as a CTF file, since that will be entirely self-contained (as well as being a lossless process).

Loading a Custom Colour Management tool setup from a previous release that was using SynColor will convert all rows to imported transforms with absolute paths. Paths referencing the legacy SynColor transform catalog will be converted to reference the legacy colour management CTF content found at the path: /opt/Autodesk/colour_mgmt/configs/legacy_configs/syncolor_ctfs.

Was this information helpful?