SUMMARY
Images in Nuke and Nuke Studio can be viewed with different display transformations applied. These transformations take an image from the working colorspace (often linear space) to an output device’s colorspace. The transformations are defined in the OCIO configuration file as device-specific transforms.
This article describes how to apply custom transforms in the Node Graph Viewer in Nuke/NukeX as well as the Timeline Viewer in Nuke Studio/Hiero, outlining the differences.
MORE INFORMATION
Nuke's Node Graph Viewer
To apply a custom display transformation in the Viewer you need to register a new Viewer Process that uses your custom transform. How this can be done is described in detail in the Creating Custom Viewer Processes section of the Nuke Online Help.
SETUP
This example uses a AlexaV3LogC to Rec709 LUT for the custom Viewer Process, by creating a Gizmo and registering it as a Viewer Process as described in the Using a Gizmo as a Custom Viewer Process section of Nuke's online documentation.
The Gizmo consists of an OCIOColorSpace node to transform the image colorspace from linear to AlexaV3LogC and an OCIOFileTransform node, using a LUT from the Arri LUT Generator, to take the colorspace from AlexaV3LogC to Rec709.
The Gizmo content would look like:
Once the Gizmo is registered as a Viewer Process, it will be available as a display transform in the Viewer Process menu as shown:
Nuke Studio's Timeline Viewer
For the Timeline Viewer on the Nuke Studio side, the same display transform can only be added by modifying the OCIO configuration file. The nuke-default configuration can be found in the Nuke installation directory under:
plugins\OCIOConfigs\configs\nuke-default
SETUP
1. Copy the config.ocio file as well as the “luts” folder into a convenient location, for example:
Home\your-user\Nuke\OCIO
2. Place the custom LUT to be used as a display transform inside the luts folder
3. Edit the config.ocio file in a text editor as described below:
To mimic the Viewer Process from the Nuke example above, add the following colorspace definition to the end of the config.ocio file:
- !<ColorSpace>
name: AlexaToRec709
from_reference: !<GroupTransform>
children:
- !<ColorSpaceTransform> {src: linear, dst: AlexaV3LogC}
- !<FileTransform> {src: AlexaV3_K1S1_LogC2Video_Rec709_EE_nuke3d.cube, interpolation: linear}
Also append the line
- !<View> {name: AlexaToRec709, colorspace: AlexaToRec709}
to the displays section of the config file, so that it looks like the following:
displays:
default:
- !<View> {name: None, colorspace: raw}
- !<View> {name: sRGB, colorspace: sRGB}
- !<View> {name: sRGBf, colorspace: sRGBf}
- !<View> {name: rec709, colorspace: rec709}
- !<View> {name: rec1886, colorspace: Gamma2.4}
- !<View> {name: AlexaToRec709, colorspace: AlexaToRec709}
You will also need need to append the LUT to the active_views
list in the OCIO config:
active_views: [sRGB, sRGBf, rec709, rec1886, None]
For example:
active_views: [sRGB, sRGBf, rec709, rec1886, AlexaToRec709, None]
Please see the OCIO documentation about config-syntax for more information on modifying the config file.
4. You can set use your OCIO config by navigating to Project > Edit Settings > Color Management and changing the OpenColorIO Config dropdown to custom and setting the path to point to your config.ocio file:
We're sorry to hear that
Please tell us why