SUMMARY
This article explains how colorspaces are used in Nuke and the basic workflow concepts behind them.
MORE INFORMATION
Colorspace workflow
The basic idea behind using colorspaces is to allow recorded image data to be displayed correctly on a wide range of devices, by converting from one colorspace to another.
Nuke uses two types of color management to define the colorspace systems utilised, Nuke's native "colorspaces" and OpenColorIO(OCIO).
Nuke's native "colorspaces" are technically colour transformations, but in this article they will be referred to as colorspaces since the same principles apply. More information about Nuke's Native "colorspaces" can be found here: Q100327: How do Nuke's internal "colorspaces" work?
OCIO is an industry standard colour management system, developed by Sony, which allows compatible software to use the same colorspace configuration files to produce consistent results across products, while allowing for complex backend configuration options suitable for production usage. More information about OCIO can be found here: http://opencolorio.org/
Illustrating colorspaces
As colorspaces are used to transform image data, if you apply the same operation to the same image in different colorspaces, then you will end up with different results.
The image below shows the same example image saved originally in Cineon colorspace (left) and sRGB colorspace (right). Inside Nuke this is being read in as RAW and the same ColorCorrect node is applied to both, before converting the result to Linear colorspace using a Colorspace node.
The results display differently as show here:
Cineon to Linear sRGB to Linear
This is one of the reasons why, when footage is read in, it uses an input colorspace which will be transformed to the working colorspace then previewed and written in the output colorspace so that when operations are applied, you get consistent results.
Nuke's working colorspace
After the image file has been read into Nuke using the correct input transform, it is converted to the working space as defined by the color management settings. For Nuke color management, this linearises the image, while other systems like ACES will convert it to the selected working space.
What is common across all these working spaces is that they generally use very wide gamut colorspaces, so that when images from any other colorspaces are converted to the working space, they have color values which can be contained within the working space value range. If this wasn't the case then color data outside of the working space would become clipped and the image data would be lost.
For example, if you were to use Rec 709 as your working space from the diagram below, then when converting from any other colorspace with a wider gamut, such as Rec 2020, any colour values outside of the Rec 709 working space would become clipped.
Using wide gamut allows the data from other colorspaces to be converted correctly, however this also means that once the image data is converted to the working space, it will probably have a gamut which is too wide to display on a device/monitor, so it needs converting to the display colorspace of that device/monitor in order to display correctly.
Viewer colorspace
For Nuke to preview the working space correctly on the users device/monitor, it applies a Viewer transform that allows you to preview the image as if converted from the working space to the correct output colorspace, but without actually affecting the underlying image data (color values).
To use the Viewer space correctly, it should be set to match the colorspace of the device/monitor you are viewing it on. For example if you are using an sRGB calibrated monitor, then you should use an sRGB monitor space, or for a DCI-P3 calibrated monitor, you should use a DCI-P3 space in order to display it correctly. If you then have these two correctly calibrated monitors side by side, then the image you perceive from each one should be the same.
Output colorspace
Once the compositing work inside Nuke has been completed, the final image result can be written out.
The image colorspace needs to be explicitly transformed to the colorspace required downstream. If this is passing to another part of the pipeline, then this may be a wide gamut space, or if being written out for final delivery, then the target colorspace of the final the display device/monitor to be used to show the image.
The image below shows the basic colorspace workflow for Nuke:
Here's an example illustrating how this workflow would look and work inside Nuke:
- The green backdrops indicate the images being read in and their native colorspaces, Cineon (left) and sRGB (right).
- The Read node converts the images to the working space, which in this case is Linear.
- The various operations such as as the Grade, Merge and ColorCorrect are calculated and displayed in Linear colorspace
- In order to preview the image result on a rec709 monitor, the Viewer transform is set to the rec709 colorspace so that it displays correctly.
- The final image result needs to be coverted to rec709 colorspace before writing to disk and this can be done via a Write node
- If the final image should be worked on in another project, then the exported .exr needs to be set to Linear. (final step in example below)
FURTHER READING
Q100328: What is a Colourspace?
Q100327: How do Nuke's internal "colorspaces" work?
Q100330: Generating chromaticity diagrams
We're sorry to hear that
Please tell us why