Advanced ColourSpace Operation

ColourSpace uses no fixed workflows for any form of calibration, instead providing a selection of powerful tools that can be applied as required.

With this approach a user with knowledge and understanding of the requirements for calibration and colour management can apply the various tools in different ways to generate the best possible end result, to a far better level than systems that use fixed management workflows.

The following outlines some of the possible ways the tools within ColourSpace can be applied to generate alternative end results.

Advanced ColourSpace Tips & Tricks

Reading ColourSpace Graphs

The graphs within ColourSpace provide a high level of feedback on the calibration status of any display, including traditional 2D charts as well as unique volumetric 3D graphs, all fully interactive, sizeable, colour coded for dE errors, including error Tangent lines. Double clicking any point within any graph will select the given point, updating the Manual Measure window data, and enable the pop-up Point Info dialogue window.

Each graph can be cloned-out of the main Profiling window multiple times, enabling user defined layouts to be configured and different graphs to be viewed simultaneously, single graphs made full screen size, or any combination of different graphs and sizes.

CIE Graphs

The Tangent Lines in the CIE graphs show the direction and numerical xy or uv value of any error. Double clicking any point will select the given point, updating the Manual Measure window data, and enable the pop-up Point Info dialogue window.

The selected point is indicated by a white surround circle within the 2D CIE graphs, and by a cross within the 3D graphs.


The above 2D CIE graph shows the selected point error as a xy offset, with the Tangent Line defining where the colour value should be, compared to the actual measurement. The error is shown only in 2 dimensions, purely as a gamut error.

In comparison, the 3D CIE graphs show the same selected point, with the Tangent Line this time defining the associated Luma error component, as the Tangent Line shows both horizontal as well as vertical error.

Within the 3D CIE graphs a purely vertical Tangent Line indicates a Luma error, which a purely horizontal line indicated a Gamut error, with a diagonal Tangent Line showing a combination error.

The Targets Only option with Graph Options reverses the graph Tangent Line displays, as well as showing the actual location, and colour, of each measured point.

Cube Graphs

The Cube graphs can initially be a little more difficult to interpret, but actually provide a high level of useful information on any display calibration.

A good way to initially start to assess the Cube graphs is to rotate the cube to place it on end, like a diamond, with the black point at the bottom, and the white at the top.

RGB Cube Primary & Secondary
RGB Cube Primary & Secondary
RGB Cube All Axis
RGB Cube All Axis

The first Cube graph shows a Grey, Primary & Secondary profile, with each colour axis (R,G,B,C,M,Y) plotted from black to 100% colour.
(It can be beneficial to watch the plots being generated during the Primary & Secondary profiling.)

The second Cube graph shows a plot of all main axis, with each primary and secondary colour plotted for each edge axis, as well as between black and white.
(The graphs are displayed in Target Only mode, so show the actual patch values.)

RGB Cube Luma Error
RGB Cube Luma Error
RGB Cube Gamut Error
RGB Cube Gamut Error

Luma error Tangent Lines are plotted along an axis extending from the black point, through the measured colour point, as shown in the first graph above, which plots a profile that has a higher luma than the Target colour space .

Gamut error Tangent Lines are plotted on an axis from the grey scale, through the measured colour point, as shown in the second graph above, which plots a profile that has a low gamut compared to the Target colour space..

Understanding the above makes it possible to read the Cube graphs regardless of their orientation.

EOTF Graphs

The two EOTF graphs should be used together to help define any EOTF (Gamma) errors.

The EOTF graphs plots the grey scale against the defined colour space EOTF, including any luminance errors, while the Dif EOTF graph plots just EOTF errors.

EOTF values are effectively inverted as to the effect any error has on the displayed image - a high EOTF value will generate a darker image, and a low EOTF value will generate a brighter image.


The EOTF graph above shows the profile has a peak luma error compared to the target colour space, as well as lifted (brighter) gamma in the shadows, and low (darker) gamma in the mid's and highlights (specifically in the blue channel) - with the peak luma error appearing to show a high (lifted) gamma, which is not technically correct, as it is a high peak luma.
(Technically, the Zero and 100% points have no EOTF/Gamma value.)

The Dif EOTF is a relative graph, and doesn't include luma errors. However, the plot backs-up the gamma errors shown in the EOTF graph, with lifted gamma in the shadows, and low gamma in the mid's and highlights (specifically in the blue channel).

Plotting luma errors as part of the EOTF graph is needed, as for true calibration the target colour space should always be the default standard, and not use the display's measured Min/Max luma values. The Dif EOTF graph is a relative graph, so doesn't include luma errors.

The first and last points of the Dif EOTF graph are interpolated, as the points have no effective EOTF/Gamma value. However, the interpolated points assist with spotting EOTF errors.

As an example of how the graphs work, the following is a synthetic Rec709 profile that is totally accurate, other than the Peak final Luma point is 0.5 nits too high.

EOTF Peak Point Error
EOTF Peak Point Error
Dif EOTF Peak Point Error
Dif EOTF Peak Point Error

As can be seen, the combined graphs are use to define exactly what the error is, with the Dif EOTF appearing to show a gamma error throughout the whole range, as it is a relative graph, while the EOTF graph show the error is just the final peak measurement.

RGB Separation

The RGB Separation graph shows the individual RGB channels compared to the grey scale, with a poor graph showing display cross-coupling errors.

With a good display, the RGB values necessary to generate a specific colour of grey should be totally independent, such that any change made to any rgb value to correct the grey colour will be equally correct throughout the whole volumetric colour space.

This defines a decoupled ( or non-decoupling) display, where any change made to any RGB channel has no effect on the other channels.

Another way to think of this is from the display's screen perspective. Each pixel is made up of three sub-pixels R, G, and B. If one sub-pixel is sent a stimulus value to change its brightness, the other two sub-pixels should not change at all. Of one, or both, the other sub pixels change, there is cross-coupling happening within the display, and the display is not decoupled.

RGB Separation
RGB Separation

The above RGB Separation graph show a display with hue/saturation errors within each RGB channel - with each channel error being of a different value.

With a Hue error, altering just the R input stimulus will have an effect on the G and B output from the display, with the same happening for a G or B only input change, causing alterations in the other two channel outputs.

If the hue/saturation error was consistent across all 3 channels, the RGB Separation graph plots would show all three RGB lines overlapping, equally offset from the target diagonal line.

With a saturation error, changing the RGB input input stimulus will have a greater effect on gray, with a lesser effect on the separate RGB outputs, again showing as a RGB Separation error.

LG WOLEDs show how the addition of the white sub-pixel causes RGB Separation issues as brightness increases, as the individual RGB sub pixels no longer equal the much brighter grey patch, as it is artificially booted by the white sub-pixel. The individual RGB channels suffer desaturation as brightness increases.

WOLED RGB Separation
WOLED RGB Separation

For the RGB Separation graph to plot and make valid sense the profile must have the same patches within the Primary RGB patch sequences as within the Grey sequence.

RGB Balance

The RGB Balance graph is one of the simplest to read. It displays the grey scale colour accuracy, independently of any luma errors.

The graph uses the target colour space to define the error ratio of R, G, and B when the grey scale is not perfect. Therefore targeting Rec709 vs. Rec2020 or P3 D65 will show different error plots, based on the target colour space selected.

RGB Balance
RGB Balance

The above graph shows a display with a blue backlight (which is common for most LCD displays), and which can't be corrected without increasing the black level, that becomes neutral grey at around 10% brightness.


The delta-E graphs provide a quick view of the accuracy of the Grey Scale and All measured profile points.

Both delta-E graphs reference the Target Min/Max Luma values defined within setting.

Grey Scale dE
Grey Scale dE
dE Distribution
dE Distribution

The Grey Scale dE graph shows the dE value for every measured point in the grey scale. The lower the plotted line, the better the grey scale calibration accuracy.

The dE Distribution graph shows the number of measured points that have dE values within the displayed range. The further to the left, narrower, and taller, the graph plot, the better the results.


The Clip graph shows the rate of change for grey scale RGB Channel luminance, based on the target colour space EOTF, white point, with the zero line based on the target Min/Max luma Min/Max luma.


Rate of change is a relative value, which means a mismatch of EOTF/Gamma between the Target colour space and the profile will show as a sloping plot, while different Min/Max luma values will show as a global offset of the plot.


The Drift graph plots the RGB luma values for any drift patched measured during profiling. The zero line if the average of all patches, and any variation from that is shown as a plot deviation in nits.

The drift data can be used when generating a LUT, by applying offsets the real patch measured data according to the localised drift measurements.

Bad Drift
Heat Cycle Drift
Ok Drift
Slow Drift

The first graph shows a display that is heat-cycling during profiling, combined with a full profile cycle cool to warm drift, especially with green. The relatively high-frequency heat cycle variations will cause issues with the accuracy of any generated LUT, and would require a lot of Drift Patches in the original profile to accurately manage the LUT calibration.

The second graph shows a more standard drift plot, with a small full cycle variation, with the displays starting with a cool colour temperature, and ending warmer.

Multi-Primary Colour Engine

ColourSpace includes a selection of unique pre-set Characterisation Quick Profile patch sets that include Secondary Colours. When these patch sets are used, a totally different Multi-Primary colour engine is used during LUT Generation.

+ Patch Sets

The pre-set + patch sets include Grey Ramp RGBCMY+, Grey Ramp RGBCMY Large+, and Grey, Primary & Secondary Ramp+. When these pre-sets are used, the saved profiles will show as + profiles within the library.

These + Patch Sets are especially suitable for WOLED displays, such as for LG TVs, as they invoke a Multi-Primary Colour Engine, without the need for a full volumetric Cube Based profile.

The + profiles will also generate superior results with any display, compared to alternative calibration systems.

+ Patch Sets
+ Patch Sets

When a LUT is generated using + profiles, a unique Multi-Primary Colour Engine is used, enabling calibration accuracy far in excess of alternative options for such small patch set profiles. Often, generating results that are close to, or even equal to, large volumetric Cube Based patch set profiles.

All Cube Based profiles invoke an Infinite-Primary Colour Engine. The new + profiles invoke a new, and unique, Multi-Primary Colour Engine, enabling calibration results that are far beyond what has traditionally bee possible with such small patch sets.

Grey Ramp
Grey Ramp
Grey Ramp+
Grey Ramp+

The above images show a direct comparison of a Grey Ramp RGB profile result vs. Grey Ramp RGBCMY+, on a standard LCD display with a low blue gamut, which would otherwise require a large volumetric profile to calibrate. The improvements with the Multi-Primary Colour Engine are obvious.

The visual artefacts in the Grey Ramp RGB profile result are due to the non-Multi-Primary Colour Engine not having enough profile data to work with to understand how to process the low Blue gamut of the display. A large Volumetric Cube Based profile has the required data, so deals well with the issue.

The fact the + profile also manages the issue well shows just how powerful the new Multi-Primary Colour Engine really is.

User CSV Patch Sets

CSV Plus

User generated .csv patch sets can also be used to enable the Multi-Primary colour engine during LUT generation.

User generated patch sets can vary from the in-built pre-sets, with different grey scale patch values, and different RGBCMY patch values, but must have just one each RGBCMY patch.
(The RGBCMY patch values must match each other, but need not match any grey scale patch value.)

For Grey, Primary & Secondary Ramp+ patch sets, there must be a matching RGBCMY patch for every Grey patch.

CSV Patch Sets

Very uniquely, ColourSpace is not restricted to pre-set patch-set for profiling, and users can define their own profiling sequences as needed.

Such sequences can give very high levels of final accuracy, with far smaller patch sets, so in far quicker time scales, with a high level of final calibration granularity.


Custom Sequences

The Custom option within Characterisation enables any .csv generated patch sequence to be loaded into ColourSpace, and used to define the patch colours during profiling.

Any User .csv Patch Set used for LUT generation must contain a Grey Scale (including 0% black, & 100% white) and at least one of each R, G, & B patches.

The RGB patches should be of the same stimulus value.

  • R: 213, 16, 16
  • G: 16, 213, 16
  • B: 16, 16, 213

Note: If the .csv is a Grey Scale patch set, and includes matching R, G, B & C, M, Y patch values, the Multi-Primary Colour Engine will be enabled when a LUT is generated.

A user patch set can contain far more patch information, and be fully volumetric, but need not be based on Cube spacing, as with the in-built patch sets. The defined patches can be totally random, and focus patches on specific areas of colour volume as needed.

User generated .csv Characterisation Patch Lists also need to match the Patch Scale setting defined within the ColourSpace Settings menu - Legal, Extended, or Full - as well as define the patch triplet values in the correct Resolution bit depth, to guarantee expected profile results.

The in-built profiles, within ColourSpace, can be exported for reference examples.

The Customer Downloads contains examples of .csv Optimised Patch Sequences, including a Sudo_Ramdom_Optimised.csv, based on Farthest-Point Optimisation.

Manual Measure

This ability for User Patch Sets is further enhanced within ColourSpace by the ability to import patch sets specifically tailored to home TV's internal CMS patch requirements for manual calibration, regardless of the patches needed.

Patch Scale Clipped

User generated .csv Preset Patch Lists should match the Patch Scale setting defined within the ColourSpace Settings menu - Legal, Extended, or Full, to guarantee expected operation.

If the .csv patch list has values that go above/below the range set via Patch Scale, the triplet output will be clipped to the set Patch Scale range, with all patches below/above the set range generating the same output triplet value.

if the patch list lacks black and/or white patches for the selected Patch Scale (e.g. the patch list is Legal, but Patch Scale is set to Full) synthetic black/white data will be added to the profile, based on the Target Min/Max Luma values in the Settings window.

The patch data displayed below the Patch Colour box will shows the actual triplet to be used, and hovering over the patch within the patch list will show both the clipped patch patch triplet value, and the original patch value, with a highlight around the patch, and a **CLIPPED FROM** warning.

When performing an Auto Advance sequence, the highlighted patch being measured will start and stop with the min/max patches that match the set Patch Scale, not the min/max patches within the patch list, if they go below/above the values set via Patch Scale.

Note: If a user generated Preset Patch List, with Full range values, is loaded into Characterisation, Custom Sequences, and re-Exported with Patch Scale set to a different range, for example, Legal, the exported patch set will will be clipped, as defined above.

The Resolution bit depth set within ColourSpace should also be matched by the .csv triplet values, as the patch values are absolute.

The Customer Downloads contains examples of .csv Preset Patch Lists for Manual Measure calibration use.

For more information see the Patch Scale & Resolution page.

Hint, Drift, & Augment Data

When generating LUTs there are a number of advanced options that can be used within the Destination profile selection (only Drift is applicable for Source, and only when a measured profile is used as a Source).
The three options are Hint, Drift, and Augments Data.


The concept behind Hint is to enable the use of a complex full volumetric profile as a guide or master for a smaller profile set. For example, a Grey Ramp, or Grey & Primary Ramp profile can have a display's in-built non-linear volumetric distortions mapped into the data set prior to LUT generation. This means that sparse profiles can generate more accurate LUTs, based on the more complex profile data being used as a Hint.

Ideally, the Hint profile would be generated from the display in question, but can also be used for displays within the same family that have exactly the same underlying non-linear response characteristics.

Hint Use

The Hint process is remarkably simple.

  • Set-up the display for pre-calibration as usual, following the 3D LUT Calibration guide
  • Perform a large volumetric display profile
    (Use as large a patch set as possible, with Stabilisation Patches, etc., to generate the best possible assessment of the raw display)

This profile is now the 'master' profile for the given display, or display family.

  • At a later time, or on a new display from the same display family, perform a sparse patch profile
    (A Grey Ramp, or Grey & Primary Ramp for example)
  • In Convert Colour Space select the Source target colour space as required
  • For Destination select the sparse profile
  • Within the Destination option tick Enable Hint, and select the full Volumetric profile for the given display/family
  • The full Volumetric profile data will be used to enhance the sparse/Quick Profile data, better matching the display's native response

In this way, one master Volumetric profile can be used to enhance the accuracy of smaller/faster profiles when using them to generate 3D calibration LUTs.


Drift has two components.

The first is within Characterisation Profiling, where any user defined colour patch can be inserted every nn measurement frames, providing data that tracks drift of the display during profiling. The drift data can be plotted, and used to better understand how the display responds during profiling, usually due to heat.


Along with Drift, Pre Roll and Stabilisation can be used to minimise the effects of display heating, and reduce drift. Stabilisation patch size can also be set to full screen (FW - Full Width), to assist in limiting burn-in on displays that suffer that, such as WOLEDs


The second Drift component is within LUT Generation, and uses the Drift data to apply a compensation to the profile measurements during LUT building.

Drift Compensation


The Augmented Data process enables the grey-scale information within a given profile to be replaced with data from a totally different profile, effectively enabling the grey scale calibration to be altered and potentially improved.

For example, a relatively small Cube based profile, such as 10^3 can be used for a volumetric profile, and augmented with a 33 step Grey Ramp Large (33 step) Quick Profile to enhance the grey scale accuracy. The Augment process uses the LUT generated from the initial profile to pre-process the second 'Augmented' profile, enabling the Augmented Data to correct any inaccuracies in the original profile's grey scale, as well as enabling the use of a higher level of grey scale measurement granularity for enhanced accuracy.

Note: although profiles of any type/size can be used as the Augment Data, a Grey Ramp Quick Profile, such as Grey Ramp RGB Large, is the most obvious to use. Additionally, using too many steps within the Grey Ramp profile (for example via a CSV file) can cause issues due to display/probe noise and instability. The 33 step Grey Ramp Large profile provided within ColourSpace is the optimum for most Augment needs.

Augment Use

The process for using the Augmented Data process is as follows.

  • Perform an initial Cube based profile of desired size
    (10^3 for example)
  • Generate a LUT
  • Re-profile through the LUT using a Grey Ramp Large profile, or any other profile as desired
    (The LUT can be loaded directly into the display/LUT box/Graphics program, or Active LUT within ColourSpace can be used)
  • Open the Manager Spaces library, and select the initial Cube based profile
  • Select Manage, and select Add Aug, which will open a drop-down list of all available profiles from within the library
  • Choose the second Grey Ramp Large profile, and the Select button will add the profile as Augment Data
  • Enter a new profile name to differentiate the profile
  • Use Save, to save the new Augmented profile
Add Augment
Add Augment
  • Within LUT Tools, LUT generation, select the new profile, and tick the Augment Data option
  • A new LUT can then be generated, using the Augmented grey scale data
Use Augment
Use Augment

As always with all ColourSpace, there are no fixed workflows. Another use of Augment could be to modify an older LUT with new Grey Scale data, rather than performing a totally new volumetric profile.

Augment Issues?

The Augment Data process generates a totally new LUT using a combination of the original profile plus the Augmented data profile - the original LUT is not directly used in the generation of the new LUT (the original LUT is just used to profile through to generate the Augment data).

It is therefore technically impossible for the Augment data to make the result worse. Unless...

If the result appears worse, that means there has been display (or probe) drift/change between the two profiles.

Or, the application of the initial LUT was faulty - see the Error! Page of the website to see what type of errors are likely, predominantly due to signal path issues, such as the LUT not being scaled for the correct signal range.

The best test for such signal path errors is to compare the results of the Augment Data profiling using the both the Active LUT within ColourSpace to profile the original LUT, and the original LUT uploaded into the final LUT location. If the two Augment Data profiles are different there is a signal path issue.

However, if the display or probe are unstable, the two profiles will be incompatible, and will potentially generate inaccurate results. Therefore, if a display or probe are unstable, the use of Augmented Data is not recommended.


Sub-Space allows the selection of any colour space - preset or user - to be used as a Sub-Space target for profile measurements.

When enabled, the Sub-Space colour space is treated as the Target colour space, enabling a display calibrated for a different colour space - say DCI P3 - to be profiled as if it were actually calibrated to the Sub-Space colour space - say Rec709 - to verify if the display can accurately cover the Sub-Space colour space.

The Enable tick box enables the use of Sub-Space when profiling, with the graphs plotting based on the Sub-Space colour space.


When a Sub-Space profile is Saved, it can be saved as a default Sub-Space profile, which will plot using the Sub-Space colour space, as defined above.

Alternatively, the additional Sub-Space option, within Graphs Options, can be use to set the Saved profile data to Sub-Space Calibration.

Sub-Space Calibration
Sub-Space Calibration

With Sub-Space Calibration selected, the profile data is mapped to the original Target colour space, not the Sub-Space colour space. This is required if the Sub-Space profile is to be used for LUT Generation, where the calibration target is the main Target colour space, and the Sub-Space is being used to profile a reduced gamut within the Target colour space.

Reduced Gamut Profiling & Calibration

Reducing the gamut area to be profiled can be of use for pre-calibrated displays that have a smaller gamut than the required Target colour space target, and have internal colour management that cannot be disabled. Such displays will suffer gamut edge compression, due to being pre-calibrated. JVC projectors are good example of such displays, as they are colour managed to pre-set colour spaces, such as Rec2020, and have no useable method to set the display to its native gamut.

The approach is to define the actual gamut area the display can actively use as a Sub-Space within the Target colour space.

This can be done by using Modify within the Manages Spaces library to extract the actual RGB xy values from a profile of the display.

  • Profile the display with a Primary Only quick profile
  • Select the profile from with the Manages Spaces library, and click Modify
  • Enter a new profile name to differentiate the new colour space
  • Press Extract Space, to save the new colour space
    (The Extracted colour space will also include an extracted average EOTF/Gamma and White point values, which should be edited back to the values of the Target colour space)
  • Profile the display with the extracted colour space as the Sub-Space
  • Save the profile with Sub-Space Calibration enabled
  • Use the profile to generate a LUT as normal, targeting the standard Target colour space
    (The use Map Space, or Fit Space, or even LUT Concatenation, may be preferable with Sub-Space Calibration)

In some circumstances it may be helpful to slightly reduce the Extracted gamut further - say 5% or so, just to make sure the reduced gamut patch set is fully within the display's available gamut coverage.

Note: when a profile is saved with Sub-Space Calibration enabled, the profile will not plot within the various graphs.

LUT Concatenation

As ColourSpace does not use fixed calibration workflows, but instead provides tools for users to apply as required, there are a number of ways any end result can be achieved. And calibrating a display to a colour space that is a wider gamut than the display can actually achieve is a good example.

Obviously, Map Space and Fit Space provided tools that perform LUT Generation via a form of concatenation, but understanding how LUT Concatenation can be performed manually helps develop deeper user understanding of the advanced capabilities of ColourSpace, compared to the more limited options of alternative calibration systems.

The basic principle for LUT Concatenation for display calibration is to split the calibration into two separate parts - one making the display as accurate as possible to it's own gamut/gamma capabilities, and the second to perform a technical conversion to map the now calibrated display into the target colour space.

In practice, this workflow is applied in reverse.

  1. 1
    Source Footage


  2. 2
    Colour Space Conversion

    Rec709 to Display colour space technical conversion LUT

  3. 3

    Display self calibration LUT

  4. 4
    Calibrated Display

    Rec709 Calibrated Display

In the above example the first LUT in the image path is just converting the Rec709 colour space into the display's native (actual) colour space through the use of a User colour space. The second LUT is accurately calibrating the display to itself.

The process for LUT Concatenation based display calibration is as follows.

  • Set the display to its native colour space, and set Black and White points are required
    (Follow the standard pre-calibration procedure as outlined within the 3D LUT Guide)
  • Profile the display as normal, with a large patch set
  • From within the manage Spaces library select the colour space, and use Modify to extract the display's native colour space
  • Generate the first Colour Space Conversion LUT using the extracted colour space as Destination, and Rec709 as Source
  • Generate the second Calibration LUT using the profile as Destination, and the extracted colour space as Source
  • Concatenate both LUTs into a single, final calibration LUT
    (Make sure to get the concatenation order correct...)
How to Concatenate LUTs?

The obvious way to concatenate LUTs, is to use the Add function within LUT Tools to add together multiple LUTs.

  • Save both LUTs into the Manage Spaces library
  • Define the concatenation order, and open the first LUT
  • From within LUT Tools select LUT Adjustment, Maths, and the Add function
  • Select the second LUT from the drop-down list, and Apply
  • The two LUTs will be concatenated

An alternative method to Concatenate LUTs is to generate the second LUT on-top of the first, using the Apply To Existing LUT capability.

Apply to existing LUT
Apply to existing LUT
  • Generate the first LUT as usual
  • With the LUT still held in LUT Generation, configure LUT Generation for the second LUT
  • Set the New LUT drop-down to the Apply to existing LUT option
  • When the second LUT is generated it will be concatenated with the first LUT

Swapping LUT Components

Another application of the ability to concatenate LUTs is to use the same basic process to replace individual LUT components, rather than just concatenating different LUTs, using the LUT Adjustment tools options.

An obvious application is to use the 1D (Grey Scale) LUT component from one calibration LUT and combine it with the gamut only (3D) calibration component from another LUT.

This can of interest when using lower-end probes to perform full volumetric calibration, which introduce a high number of inaccurate probe readings due to poor low-light capabilities of the probe.

When profiling for LUT based calibration, the usual approach is to use one large volumetric profile to generate the final LUT.

However, there is nothing wrong with using one profile focused on just the Grey Scale, and another profile for the Volumetric Gamut, and then combine the grey scale from one LUT with the gamut component from the other.

Initial LUT Generation

First, focussing on the grey scale, a Grey Ramp Large, or even a user generated .CSV list with a greater number of grey patches, can be used to profile primarily the grey response of the display, and a calibration LUT generated from that profile.

Then a smaller (10^3?) cube based Characterisation can be used to generate a second, volumetric gamut focused, calibration LUT

Combine Separate Grey Scale and Gamut 1D & 3D LUT Components

The first step is to extract the gamut only component from the volumetric LUT by nullifying the 1D (grey scale) component.

The second step is to extract just the 1D grey scale component from the second LUT.

The Grey Scale component can then be combined with the gamut only LUT.

The result is a new 3D LUT, with the grey scale (1D) component from one LUT, combined with the 3D, gamut, component of a second LUT.

The process is:

  • Make the first gamut LUT using a relatively small cube based profile (10^3?)
  • Save a copy of the LUT into the Manage Spaces library
  • Export the LUT using a 1D LUT, such as the VCGT format
  • Import the new 1D LUT back into the library
  • With the original gamut LUT held within LUT Tools, select LUT Adjustment/Maths/Subtract
  • From the drop down list select the imported 1D LUT, and Apply

The resulting LUT will have the 1D grey scale component nullified.

  • Make a second LUT using a Grey Ramp Large profile, or user generated .CSV grey ramp patch set
  • Save a copy of the LUT into the Manage Spaces library
  • Export the LUT using a 1D LUT, such as the VCGT format
  • Import the new 1D LUT back into the library
  • With the new gamut LUT, within original 1D component nullified, held within LUT Tools, select LUT Adjustment/Maths/Add
  • From the drop down list select the imported 1D LUT, and Apply

The result is a new 3D LUT, with the grey scale (1D) component from one LUT, combined with the 3D, gamut, component of a second LUT.

Maths Equations

The Maths Equations options opens a menu into which mathematical calculations and arguments can be entered, allowing direct LUT manipulation, as either Append or Prepend operation.


There are 3 separate text boxes, and the operation of each is identical. The default startup state is:

  • R= R
  • G= G
  • B= B

Which will do nothing, as output equals input.

Any combination of the following operators can be used is generating an equation, effectively just like a normal calculator:

  • +,-,*,/ (add, subtract(negate), multiply and divided)
  • ^ (to the power)
  • () (brackets)
  • min(a,b), max(a,b) (minimum or maximum of 2 values)
  • sqrt(a) (square root of a value)
  • abs(a) (absolute value)
  • (a cond b) ? trueExp : falseExp (cond is the condition, can be =, !=, <, >, <=, >= (If true, returns the value of the trueExp else returns the value of the falseExp)
    (Alternatively: (if(a cond b))
    There is no ELSE for if. If the condition is true, it returns 1.0. if it is false, it returns 0.0. Therefore, you multiply the function buy the if(). Alternatively, it is possible to use 1.0 - if() to implement the ELSE type operation.
  • log(a) returns the log to base 10 of a

In addition to these, you can use R,G,B to represent the current LUT's r or g or b channel value.

All of the key words and R,G,B are case sensitive, so if is ok, but If and IF are not good. You can use as many R,G,B as you like in ANY channel process. You can also use constant values.

All maths is done floating point, so an integer value of 65535 in 16 bit is represented as 1.0

An example could be:

R= (R *0.28) + (G * 0.7) + (B *0.02)
G= (R *0.28) + (G * 0.7) + (B *0.02)
B= (R *0.28) + (G * 0.7) + (B *0.02)

Putting these 3 lines into the maths engine, will give a LUT that produces a 'weighted' monochrome image.

Another example could be:

(R > 0.1496582) ? ((((10.0 ^ (R - 0.385537)) / 0.2471896) - 0.052272) / 5.555556) : ((R - 0.092809) / 5.367655)
(G > 0.1496582) ? ((((10.0 ^ (G - 0.385537)) / 0.2471896) - 0.052272) / 5.555556) : ((G - 0.092809) / 5.367655)
(B > 0.1496582) ? ((((10.0 ^ (B - 0.385537)) / 0.2471896) - 0.052272) / 5.555556) : ((B - 0.092809) / 5.367655)

Which is the Arri formula for LogC EI800 to linear data, extrapolated from:

t > 0.1496582 ? (pow(10.0, (t -0.385537) / 0.2471896) -0.052272) / 5.555556 : (t -0.092809) / 5.367655

To meet the formula requirements for the ColourSpace maths engine.

And for Linear to sRGB encoding:

R= (R <= 0.0031308) ? R * 12.92 : 1.055 * (R ^ (1.0/2.4)) - 0.055
G= (G <= 0.0031308) ? G * 12.92 : 1.055 * (G ^ (1.0/2.4)) - 0.055
B= (B <= 0.0031308) ? B * 12.92 : 1.055 * (B ^ (1.0/2.4)) - 0.055

Which is the gamma formula for sRGB from linear data, extrapolated from:

x <= 0.0031308 ? x * 12.92 : (1.055 * pow(x, 1/2.4)) - 0.055
( if(x <= [input], [result if true], [result if false]) )

And for Linear to Rec709 encoding:

R= (R < 0.018) ? R * 4.5 : 1.099 * (R ^ (0.45)) - 0.099
G= (G < 0.018) ? G * 4.5 : 1.099 * (G ^ (0.45)) - 0.099
B= (B < 0.018) ? B * 4.5 : 1.099 * (B ^ (0.45)) - 0.099

Which is the gamma formula for Rec709 from linear data, extrapolated from:

x < 0.018 ? (x * 4.5) : 1.099 * pow( x, (0.45) ) - 0.099

Note: the sRGB and Rec709 formulas are 'capture/encoding' standards, and are NOT correct for display calibration. For both sRGB and Rec709, display calibration is always a simple Power Law gamma!
(Gamma 2.2 for sRGB, and 2.2 to 2.4 for Rec709...)

And for Linear to Cineon Log:

R= (((log (R * (1.0 - 0.0108) + 0.0108)) * 300) + 685) / 1023
G= (((log (G * (1.0 - 0.0108) + 0.0108)) * 300) + 685) / 1023
B= (((log (B * (1.0 - 0.0108) + 0.0108)) * 300) + 685) / 1023

As you can have different formulas in each colour channel, the actual possibilities are very powerful!

(W)OLED Gamut Correction

(W)OLED displays have very unique colourimetry, with issues associated with metameric failure, which we address within the Perceptual Matching page of the website.

But another unique aspect of (W)OLED displays is that they maintain near full saturation (gamut) all the way down to black.

Alternative display technologies, including traditional CRT and LCD displays, as well as projectors, have a de-saturation effect as the luma levels drop below about 20% peak luma, depending on the actual display.

This is also in-line with the operation of the human visual system, where the eye's ability to see colour drops as the level of available light causes the colour sensitive cones to cease working, due to their lower sensitivity compared to the eye's monochrome sensitive rods.

Using the unique 3D CIE graphs of ColourSpace this issue can be easily displayed, with the following graphs showing the desaturation in an LCD displays, compared to the lack of desaturation in a (W)OLED, looking at Red Primary only.

LCD Gamut Reduction
LCD Gamut Reduction
(W)OLED No Gamut Reduction
(W)OLED No Gamut Reduction

LCD & CRT displays show progressively lower gamut (saturation) as the luma levels drop, in this case starting at around 50% of peak Red luma.

(W)OLED displays maintain saturation all the way down to black, which can cause the viewer to perceive the displayed image as being 'unnatural', with Red appearing very saturated near black in the above case.

Understanding this phenomena of (W)OLED displays means we have to adapt their calibration to better mimic more traditional displays, by introducing a degree of desaturation in the displays lower luma levels.

The available LUT Tools Filters can be used to apply a low-light desaturation, matching the effect on all other display technologies.

LUT Filters
Gamut Reduction

Using the Mono Blend filter, Gamut Reduction can be applied to nay selected range within the calibration LUT. Very uniquely, the gamut reduction can be set independently for the three RGB colour channels as required, as shown above.