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, as well as the secondary Error option for the main EOTF graph.

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.

Dif EOTF Error
EOTF Error

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 Error option for the EOTF graph plots absolute luma errors, relative to the target Min/Max Luma.

Dif EOTF Error
EOTF Error

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 zero and 100% points of the Dif EOTF graph are not plotted, as the points have no effective EOTF/Gamma value.

The Error option for the Dif EOTF graph plots absolute luma errors, relative to the target Min/Max Luma, in stops.

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 used 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 effectively showing display cross-coupling errors and/or luma errors.
(The graphs plots luma errors for RGB vs. the equivalent grey value, based on the black value of the profile.)

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. If one, or both, of the other sub pixels change, there is cross-coupling happening within the display, and the display is not decoupled.

If the individual R, G, and B channels have different EOTFs there will obviously be a luma difference between each colour channel, also causing a bad RGB Separation plot.

RGB Separation
RGB Separation

The above RGB Separation graph shows 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 and a relative drop in luma 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

While the RGB Balance graph is one of the simplest to read, as it displays the grey scale colour accuracy, independently of any luma errors, it is not necessarily as simple as it looks.

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

RGB Balance takes the current measurement and the current colour space target, and reverse calculates the target's RGB code value that would have actually produced the measured colour. The graph then plots the comparison of the current patch RGB value to the calculated RGB value.

In essence, the RGB Balance graph shows is how much magnitude adjustment of the RGB analogue gains of the display would be required to correct the measured value, and that varies dependent on the target colour space.

The graph plot Y Axis is therefore RGB Measured minus RGB Target, assuming normalised values.

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.

Volumetric Gamut Coverage

One of the key verification capabilities of ColourSpace is its ability to report, and graphically represent, Volumetric Gamut Coverage.

Traditionally, gamut coverage has been calculated using a 2-dimensional CIE diagram, plotting the widest primary RGB colour points against the target colour space. Consequently, the reported % Gamut Coverage is wildly inaccurate.


Wide Gamut Displays

Calibration of wide gamut displays has become ever more demanding, with the use if very narrow spectral bandwidth RGB panels and laser projection to enable the required P3 and Rec2020 gamuts to be reached.

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 been 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.

Note: Each patch should be unique, with no repetition of identical patch values.

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.

User generated Characterisation patch sets should follow the general patch order as per the in-built sequences.
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_Random_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 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 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.

User generated Manual Measure patch lists will always be defined by ColourSpace as full Profiles when any profile is saved into the library, regardless of the patches within the patch list.

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

For more information see the Patch Scale & Resolution page, as well as the Focused Patch Set information the within Advanced Profiling & Calibration section below.

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 volumetric 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 (volumetric) 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 used 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 within 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
    (Sub-Space LUT Generation works only with Peak Chroma and Peak Luma, as Hybrid, Map Space, and Fit Space options require full range gamut profiles)

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 Generation

The LUT Generation menu is used for building calibration LUTs from display profiles, as well as Technical Conversion and Look LUTs.

When generating LUTs, there are a range of user options that control the mathematical processes & algorithms used within the ColourSpace Colour Engine.

LUT Generation
LUT Generation


The concept of the Source colour space is the colour space any given images are expected to be viewed in. So, for example, normal video will usually be expected to be viewed in Rec709 or P3 D65 colour space, making these the Source colour spaces to select.

The Drift Compensation tick box become available only when the selected profile has been generated with Drift patches. When active, the LUT Generation uses the Drift data to compensated for drift during the display profiling.

The Normalise Code Range tick box becomes available when the selected profile has been generated using Extended Range patch sets (16-255). When active, the profile patch data is normalised, meaning Extended Range profiles are processed as not having over-range data.
(When used with Extended patch sets, and Normal Range selected within the Normal/Extended drop-down, the LUT Generation is processed as for previous ColourSpace versions.)


The Destination colour space is the colour space the given images will be seen in - an alternative colour space to the image's original Source colour space. This will often be a display's Profile when generating a calibration LUT, or an alternative colour space if generating a colour space conversion LUT.

The Drift Compensation tick box become available only when the selected profile has been generated with Drift patches. When active, the LUT Generation uses the Drift data to compensated for drift during the display profiling.

The Normalise Code Range tick box becomes available when the selected profile has been generated using Extended range patch sets (16-255). When active, the profile patch data is normalised, meaning Extended range profiles are processed as not having over-range data.
(When used with Extended patch sets, and Normal selected within the Normal/Extended drop-down, the LUT Generation is processed as for previous ColourSpace versions.)
Note: Using an Extended range profile, with Normalise Code Range, and the Extended Range drop-down option makes no logical sense, but as always with ColourSpace all options are provided... See Extended Range below.

The Augmented Data tick box become available when the selected profile has been augmented with additional Grey Scale profile data. When active, the LUT Generation uses the Augmented data to increase grey scale accuracy.

The Hint tick box enables a second profile to be selected from the associated drop-down list, and used as a guide for LUT Generation.
For an end user, a large Hint profile, previously generated from the same display, can be used to supplement a smaller new profile when compensating for display drift/ageing.
For manufacturers, a large Hint profile can be generated from a single display within a given batch, or model range, and used to enhance calibration of each additional display in the batch/model range, individually profiled with a smaller patch set.

Limit Luminance

Limit Luminance enable the Min/Max luma for the LUT to be defined. It also uses Peak Luma for LUT Generation, regardless of the option selected.
(If used with display calibration, the Min value should not be smaller than the Min in the profile, and the Max not set higher, and if the peak white of the display has an incorrect colour temperature will introduce channel clipping if the Limit Luminance Max value is not set low enough.)

Limit Luminance should only be used on non-PQ HDR displays when there is no way to set the desired target peak luma via Brightness/Contrast display controls.

On PQ based HDR displays Max should be used to set the clip point to a specific nits value, that matches the select target ST2084 colour space, and that is below the actual measured peak value, and prevents channel clipping.

For technical conversion LUTs, the use of Limit Luminance may be required, for example when converting from HDR to SDR.

If a standard power law, BT1886, or HLG pre-set Colour Space matrix is used as the Destination, the Limit Luminance values will show as a normalised percentage value, with values from 0 to 1.0, although values over 1.0 can be entered.


The Output options define the processing and algorithms to be used during LUT Generation, as well as setting the LUT to be generated as an Out of Gamut Warning LUT.

Normal Range, Extended Range, Custom Ranges

The Range options define the active signal range the generated LUT will function over, depending on the profile being used, and in conjunction with the Normalise Code Range option within Destination for Extended Range profiles.

Normal Range

Normal Range is the default for most LUT generation, especially with Full or Legal Range profiles, generating a 0-1 range LUT from the 0-255/16-235 8 bit profile data. When used with an Extended Range profile, it will generate a 0-1 range LUT based on the Legal Range of the profile - 16-235 8 bit. When used with an Extended Range profile in conjunction with Normalise Code Range, it will generate a 0-1 range LUT based on the Full Range of the profile - 16-255 8 bit.

Extended Range

Extended Range is the default for LUT Generation with Extended Range profiles, generating a 0-1 range LUT from the 16-255 8 bit profile data. When used with a Full or Legal Range profile (or an Extended Range profile with Normalise Code Range active), it will map the 0-1 range of the profile into the compressed Legal range of an Extended Range LUT, extrapolating the Extended component of the LUT.

Custom Ranges

Custom Ranges provided a totally flexible approach to the definition of LUT ranges, using a user defined .csv file, enabling any custom ranges to be defined.

A file called colourSpaceCustomRanges.csv needs to be located in the same directory as the ColourSpace .ini files - nominally C:\Users\xxxx\AppData\Roaming\ColourSpace.

The file data format is:

  • Label, 0.0, 1.0


  • Label, 0.0, 1.0, 0.0, 1.0

The values are min and max, or min src, max src & min dst, max dst depending the format used.

The values should be 0 or greater (unless you really know what you are doing, in which car negative values can be used...), and min must be smaller than max.

As an example, for a Video Scale process you could use:

  • Video Scale, -0.0731, 1.09


  • Video Scale, -0.0731, 1.09, -0.0731, 1.09

The entries held in the colourSpaceCustomRanges.csv file will appear in the Normal/Extended Range drop-down.

Peak Luma, Peak Chroma, Fit Space, Map Space, & Hybrid

All four of the different processes will produce near identical results on displays that have a native gamut that is larger than the target colour space, have a white point that is accurate to the target colour space, and reasonable EOTF.

On displays that have a native gamut that is larger than the target colour space, but have a white point that is inaccurate to the target colour space, Peak Luma will produce a result that is different to the other three processes, as the peak luma value will be maintained, with channel clipping occurring.

On displays that have a native gamut that is smaller than the target colour space, all four processes will produce results that are different to each other, as they will all use different colour engine algorithms to best manage the display's low gamut.

Peak Luma

Peak Luma maintains the maximum brightness of the display, irrespective of the colour channels, so ignoring any Grey Scale/White Point variation from the measured profile compared to the target colour space. This means if there is any variation in the Grey Scale/White Point colour clipping will occur in one or more colour channels.

For calibration, Peak Luma should therefore only be used on displays that have a perfectly accurate native white point.

Note: Peak Luma should also be the default selection for the generation of Technical conversion LUTs, such as when using the scaled DCI XYZ colour space.

Peak Chroma

Peak Chroma is the normal default within ColourSpace, and for displays with complex RGB channel interaction (high colour cross-coupling), and with a gamut that is greater than the target colour space, will be the correct choice for calibration. Peak Chroma will manage any Grey Scale/White Point variation from the measured profile compared to the target colour space by reducing the maximum brightness of the display to bring the highest colour channel into range, preventing colour clipping in the highlights. However, the results of Fit Space &/or Map Space may be superior on some displays, especially those with a lower gamut than the target colour space - specifically Map Space, as that uses a very powerful set of mathematical algorithms to define the resulting LUT.

Fit Space

Fit Space is fundamentally the same as Peak Chroma, but uses totally different Colour Engine algorithms in generating the final LUT, and offers a potentially superior calibration alternative for displays that have good RGB channel separation (low colour cross-coupling), and for displays that prove difficult to calibrate via Peak Chroma, specifically if the display has a gamut that is significantly lower than the target colour space, although Fit Space can be used on any display as an alternative to Peak Chroma or Peak Luma.

The underlying process within Fit Space is to filter or fit the profile data set into a more simplified form based on the underlying capabilities of the display, so removing unexpected excursions and erroneous data that can cause unwanted artefacts in the final LUT, which in-turn causes visible artefacts in the final viewed image.

This simplification process can make Fit Space the better choice for displays profiled with low-end probes with bad probe readings in the profile. It also means Fit Space will not work well if the display has poor RGB channel separation (bad colour cross-coupling, as shown with the RGB Separation graph).

Map Space

Map Space is far more advanced than any of the other options, and uses a complex set of Colour Engine algorithms in generating the final LUT that are applied in a totally unique multi-step approach to LUT generation and calibration. This process will more often or not produce a cleaner picture quality on any display, with a high level of calibration accuracy, even on displays with poor RGB channel separation (bad cross-coupling), but especially on displays with a smaller gamut than the target colour space.

The approach taken with Map Space is to assess the raw underlying capabilities of the display, without any reference to the target colour space, to see what the display is natively capable of, and then map those capabilities into the target colour space, using a multi-step mathematical process. This mapping process will work on any display, with any underlying issues that may cause calibration artefacts/problems with the other LUT generation options.


Hybrid mode is based on Peak Chroma, but does two things that can potentially help with the accuracy of the LUT's grey scale, and low-light performance, by isolating those areas of the profile, and processing them independently from the rest of the profile's volumetric data.

This maximises the accuracy of the grey scale, and helps remove low-light errors introduced by inaccurate probe readings.

Disable Gamut Mapping & Out of Gamut Warning

In addition to the main LUT Generation options, Disable Gamut Mapping & Out of Gamut Warning also have an effect on the generated LUT. Disable Gamut Mapping specifically can be a useful option to understand.

Disable Gamut Mapping

Disable Gamut Mapping disables the standard gamut edge processing when generating a LUT for displays with a native gamut smaller than the target colour space.

When a display has a native gamut smaller than the target colour space, multiple input colours at the gamut boundary will be mapped to the same exact colour on output. Gamut Mapping applies a change to each colour value that would otherwise be identical on output, via changes in hue, saturation or luminance.

With display calibration it may be visually preferable in some instances to simply clip colours at the gamut edge, via Disable Gamut mapping, rather than have the gamut edge altered via Gamut Mapping.

Out of Gamut Warning

Out of Gamut Warning configures the generated LUT to highlight colours that are outside of the display's available gamut.

Out of Gamut
Out of Gamut Warning

In-gamut colours are shown black & white, with out-of-gamut colours shown inverted, and fully saturated.

PQ (ST2084) based HDR

PQ HDR introduces a whole new set of display and signal path issues, as it is an absolute nits based standard, while all other colour space standards are relative, without any understanding of a given display's peak nits values. PQ HDR is based on any given display's absolute peak brightness, referenced to the standard's 10,000 nit absolute peak.

Additionally, due to the excessive EOTF used by PQ HDR, combined with the absolute nature of the standard, there are two different approaches to 3D LUT based PQ HDR calibration.

  • Display initially set to a power law EOTF
  • Display maintains a PQ EOTF

The method to use depends on the display's inherent screen technology and calibration capabilities.

Note: For many displays/TVs, 3D LUT based calibration is impossible for PQ based HDR due to the inherent instability of the display/TV.

Initial Power Law EOTF

For many displays, especially home TVs, the only option is to pre-set the display/TV to a default power law EOTF, usually Gamma 2.2. This is due to inherent restrictions with the display/TV, making direct PQ HRD calibration impossible.

Calibration Workflow
  • Set the display/TV to its un-calibrated state, with a power law EOTF, with max peak brightness
  • Profile as normal with the desired patch set
  • Use the correct Target peak luma value to make a specific ST2084 colour space target
  • Generate the required LUT using the normal LUT Generation process

Because of the absolute nature of PQ HDR, different ST2084 colour spaces need to be defined for each display with a different max peak brightness.

Defining what the target max peak luma value should be for the new colour space is a key part of PQ HDR calibration. If this is set incorrectly, white/near white will tint, due to channel clipping.

The target peak luma will usually need to be lower than the actual pre-calibration peak nits of the display, specifically if the white point colour temperature is inaccurate, to allow headroom for the calibration correction, as all calibration is subtractive.

To find the correct target value, it is possible to use the ColourSpace sliders to temporarily set the peak white colour temperature to be accurate, using the CIE charts to define when the correct colour temperature is attained.
(Do not uses the RGB Zoom & Bars Widgets, as they track the slider target colour - the CIE charts are absolute.)

The above examples show a native while point that is too cyan, and has a peak white value of 1188 nits. However, when the white colour temp is corrected the peak white value drops to 896 nits. Realistically, this display can only be calibrated to 850 nits PQ HDR, and a new ST2084 colour space needs to be made targeting this value.
850 nits is suggested, as any PQ HDR calibration should be to standard peak nits values, such as 1000 nits, 1200, nits, 2000 nits, 3000 nits, etc.

PQ HDR 850 nits
PQ HDR 850 nits

The above User Defined ST2084 colour space can be used to generate the new calibration LUT, using Limit Luminance Max set to the same peak luma nits value as the Target colour space. If Limit Luminance Max is not used, the generated LUT will peak at the maximum the display can do, without clipping any colour channels, making the EOTF inaccurate, but brightening the overall calibration.
The Limit Luminance Max is not forced to the peak luma value of the target colour space as it can be used to alter the EOTF of the LUT, to compensate for viewing conditions. For example, for the above 850 nit peak luma display, targeting a ST2084 colour space with a 500 nit max luma, but setting the Limit Max Luminance value back to 850 nits will lift the EOTF, making the display brighter for use in non-ideal viewing conditions.

Soft RollOff, or BT2390-3 Tone Mapping can be applied as required - but should not be used for grading displays.

PQ HDR LUT Generation
PQ HDR LUT Generation

Initial PQ EOTF

With some displays, specifically professional grading displays that use FALD backlight technology, the preferable option is to leave the display set to a PQ EOTF.

Calibration Workflow
  • Set the display to it's un-calibrated state, with its default initial PQ EOTF, and max peak brightness
  • Profile using the desired patch set, using Limit Range to define the required peak bits value for the maximum patch level
  • Use the required Target peak luma value to make a specific ST2084 colour space target
  • Generate the required LUT as normal

As an example, we are assuming the display to be calibrated has a fixed PQ EOTF with a pre-calibration hard clip at something over 1000 nits, enabling 1000 nits to be set as the Target peak value.

The first step is to define the Limit Range value required.
Note: The correct Limit Range value will not necessarily be the same as the Target nits value if the display has a white point that is inaccurate.

  • Set the Target Gamut/EOTF to the default ST2084 10,000 nits colour space, and set the required Patch Scale
  • Use the Manual Measure sliders to locate the peak luma of the display, just below any channel clipping, which defines the maximum nits value available

The Limit Range nits/code value should be higher than the Target nits value, especially if the white point is inaccurate, to allow headroom for the calibration correction, as all calibration is subtractive.
As outlined above, the ColourSpace sliders can be used to temporarily set the peak white colour temperature accurately, defining the maximum Target peak nits value the display is actually capable of after calibration.

PQ HDR Define Bits
PQ HDR Define Bits
  • Read off the bits value in the sliders - 775 in this example for approx 1050 nits, as the pre-calibrated display can do around 1200 nits nits, with an inaccurate white point, and the desired calibration Target is 1000 nits
  • Limit Range therefore needs to be set to 775 (10 bit)
    (This will still generate a profile with code values that are full range, not the patch range of 0-775)
PQ HDR Limit Range
PQ HDR Limit Range

The following graphs show the Limit Range profile plotted against the full 10,000 nits ST2084 colour space and the user defined 1000 nits colour space.

The Limit Range profile can then be used to generate a calibration LUT to correct the in-built PQ EOTF.

  • Generate a new ST2084 User colour space via the Manage Spaces library, with a peak set to the calibration target for the display - 1000 nits in this example
  • In LUT Generation, set Source to the User Generated ST2084 colour space, and Destination to the Limit Range profile
PQ HDR LUT for in-built PQ EOTF
PQ HDR LUT for in-built PQ EOTF

The LUT generated will correctly map to the peak of 1000 nits, which is approx. 75% of the PQ code range, as defined by the Limit Range value (769, 10 bit).

The LUT operates between 0-769, in a 0-1023 (10 bit) container, and can be used to calibrate a PQ HDR display that has an underlying, burnt-in, PQ EOTF.

Increased Resolution PQ LUT

A totally unique ColourSpace capability for PQ display calibration is the ability to normalise any PQ LUT to the maximum nits capability of the display, rather than to target the default 10,000 nits of the PQ HDR ST2084 standard.

This enables professional display manufacturers to maximise calibration resolution for PQ based HDR applications.

As a direct example, the following is an Increased Resolution LUT for the above Initial PQ EOTF calibration, with the LUT spanning the full range, so increasing calibration granularity.

PQ HDR LUT for in-built PQ EOTF
PQ HDR LUT for in-built PQ EOTF
LUT Generation Workflow

To enable the generation of increased resolution PQ LUTs the Custom Ranges capabilities of ColourSpace are used, with a file called colourSpaceCustomRanges.csv located in the same directory as the ColourSpace .ini files - nominally C:\Users\xxxx\AppData\Roaming\ColourSpace.

The file data format is:

  • Label, 0.0, 1.0


  • Label, 0.0, 1.0, 0.0, 1.0

The values are min and max, or min src, max src & min dst, max dst depending the format used.

The values should be 0 or greater, and min must be smaller than max.

As an example, for a PQ cube where the full range of the LUT covers 70% of the code range, which is approximately 650 nits for a full range PQ display, then you could use:

  • 70% Range, 0.0, 0.7

The entries held in the colourSpaceCustomRanges.csv file will appear in the Normal/Extended Range drop-down.

Note: The Active LUT function within ColourSpace will not work with a LUT generated using the Increased Resolution process, unless the LUT is first compressed back into the full PQ nits range using the LUT Manipulation tools.

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 its 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, focusing 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.

Advanced Profiling & Calibration

For users looking for the ultimate in calibration accuracy - gaining the last few % of accuracy - ColourSpace provides access to a totally unique Focused Patch Set profiling capability that focuses on the Target colour space, making sure all profile measurements are tailored towards generating the best possible 3D calibration LUT for any given target.

This Focused Patch Set capability uses a two-pass profiling approach, using a first profile pass to define the required colour patches for a second, focused profiling pass, and generates unheard of levels of calibration accuracy!

(Note: The concept of Focused Patch Sets is in some ways associated with the Hint option built in to ColourSpace, but uses a totally unique underlying concept.)

Focused Patch Sets

The following defines the basic approach to the generation of a Focused Patch Set, using the in-built 21^3 cube based profile. However, as should be expected, any volumetric patch sets can be used - including User Generated patch sets.

  • Profile an uncalibrated/native display with the required patch set
    (The example here uses the default 21^3 patch set as a direct comparison to the Focused Patch Set, but any patch set can be used for the initial profiling, including User Defined, as well as Quick Profiles)
  • Make a LUT targeting the correct colour space (e.g. Rec709)
  • Upload the LUT and verify the initial standard LUT calibration
    (This is only to generate a standard calibration verification for later comparison, and can be skipped if wanted)
  • After verification delete the uploaded LUT (upload Unity Bypass), so the display is still in uncalibrated/native mode!
    (The verification can also be performed via Active LUT, obviously...)
  • Use the generated LUT to export a new, focused patch set, via the Active LUT option
    (Any volumetric patch set can be used, including User Defined patch sets)
  • Add a standard Grey Scale set of patches to the Focused Patch Set, to enable standard graph operation
    (It is likely the new Focused Patch Set will not have standard Grey Scale patches, so they should to be added to the Focused Patch Set, or Grey Scale patches can be measured via Manual Measure after the Focused Patch Set profile finishes)
  • Re-profile the uncalibrated/native display with the new focused patch set
    (Measure a Grey Scale using Manual Measure, if one was not added to the Focused Patch Set, as above)
  • Make a LUT to the target colour space (e.g. Rec709), and load into the display
  • Re-profile to verify the final calibration...
    (Compare to the previous calibration verification, to assess the calibration improvement)

The above workflow overview is based on a using a standard 21^3 patch set for both the initial standard profile, used to first generate the LUT, and then used to export and define the new Focused Patch Set, again using the default 21^3 as the exported patch set.

However, any patch set can be used for the initial profiling, including Quick Profiles and User Defined patch sets. The patch set exported through the LUT to generate a Focused Patch Set must be Volumetric based, such as the Cube based in-built profiles, or User Generate volumetric patch sets.

It is also worth realising that once a Focused Patch Set has been generated for a specific display/TV/projector model, that new Focused Patch Set can potentially be used on any display/TV/projector of the same model...

For ultimate calibration accuracy it will always be preferable to generate a new Focused Patch Set on every individual display/TV/projector, but the benefit of using a pre-generated Focused Patch Set on any display/TV/projectors of the same model will still offer improvements over default patch sets.

Note: A generated Focused Patch Set will likely not have pure grey scale triplets (patches with equal RGB triplet values), and as such will not plot RGB Balance, EOTF graphs, etc., as such graphs expect the patch RGB triplet to contain equal RGB data. To enable correct graph plotting, a Grey Scale should be added to the Focused Patch Set as defined above.
It should be realised that there is actually no such thing as a grey scale separate from the whole gamut volume. Plotting grey scale separately is simply a subjective construct defined to attempt to assist the understanding of colour with reference to calibration assessment.

Result Comparison

The following graphs directly compare a Standard profile based calibration result, with the results of a Focused Patch Set, as defined above. The benefit of the Focused Patch Set is obvious, even though for this display the standard profiling approach generates a very impressive calibration result.

Original Default Profile
Original Default Profile
Focused Profile
Focused Profile

As can be seen above, using the Focused Patch Set all profile measurements are targeted at Rec709 gamut, with no unnecessary measurements made.

The above CIE Chart Verification profiles show the subtle, but measurable, improvement in the final display calibration. While calibration with the Default patch set is very good, with an average dE2000 value of just 0.3086, the Focused patch set generates an average dE2000 value of 0.2502.
(Click the graphs to direct compare them.)

The above RGB Balance Chart Verification profiles also show the subtle, but measurable, improvement in the final display calibration, with the Default patch set showing an average grey scale dE2000 value of 0.6849, and the Focused patch set generating an average grey scale dE2000 value of 0.6183.
(Click the graphs to direct compare them.)

Reduced Gamut Display

When calibrating a display to a target gamut larger than the native gamut of the display a slightly different approach is required when generating the Focused Patch Set.

With a display with a gamut smaller than the target colour space the LUT used to generate the Focused Patch Set will compress patch triplet values for patches that originally aimed to measure a colour outside the display's native gamut.

These compressed patches in the Focused Pat Set need to be removed, and replaced with standard RGBCMY 100% measurements.
(Actually, any patches that are gamut edge patches can be added back into the patch set.)

In the Focused Patch Set any patch that has a 255 and/or a 0 value will be a gamut edge patch, and should be deleted.
(There will be a few valid patches that will be deleted, but as the gamut edge patches will be replaced that is not an issue.)

Further Understanding

What should be understood from the above is that the patch set used for profiling doesn't have to cover the full gamut of the display, which means the triplet values used within the patch set do not have to include the full colour range.

To explain further, the in-built Grey Ramp RGB profile has 100% Red, Green & Blue patches, at 230 8 bit brightness levels, as can be seen in the first patch set below.

Grey Ramp RGB Default
Grey Ramp RGB Default
Grey Ramp RGB Low Gamutl
Grey Ramp RGB Low Gamut

The second patch set has the gamut of the RGB patches reduced by approx. 25% (in 8 bit value, not measured gamut). However, both patch sets will calibrate any given display accurately to the required target colour space, as ColourSpace understands where the reduced gamut RGB patches, and hence the associated measurements, are positioned within the full volumetric colour gamut.

Note: The above Grey Ramp RGB patch sets are used to help explain the ability for ColourSpace to work with measurements that do not cover the full display gamut - they cannot be used for Focused Patch Sets, as they are not Volumetric Patch Sets.

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.