Advanced LightSpace CMS Operation

LightSpace CMS 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 LightSpace CMS can be applied to generate alternative end results.


Beyond the Basics

Advanced Calibration Techniques

For those that just want to quickly get to the end result, for example a straightforward calibration, LightSpace CMS is exceptionally simple to use. Just profile the display, generate the Calibration LUT, and upload the LUT into the display, LUT box, or software system.

But, for those looking to take things further, be it SDR Calibration, HDR Calibration, Look LUT Manipulation, Calibration Verification and Assessment, etc., LightSpace CMS offers a lot of additional tools and capabilities that can be applied in unique and beneficial ways.

This User Guide will explain some of the possibilities, citing specific examples where needed, from which the user can extrapolate even more possibilities.


LightSpace CMS - True Flexibility

With LightSpace CMS there are no fixed workflows for any form of calibration, and the more adventurous and knowledgeable calibrators will quickly understand the possibilities.

It is such alternative thinking that separates good calibrators from the rest...

There are no fixed workflows with LightSpace CMS - just tools that can be used and combined as needed!



Augment Data

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

Manage Colour Space Library

For example, a relatively small Cube based profile, such as 10^3 could be used for a volumetric profile, and augmented with a 33 step Grey Only 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 Only Quick Profile, such as the new 'Grey Only Large' Quick Profile, is the most obvious to use. Additionally, using too many steps within the Grey Only profile (for example via a CSV file) can cause issues due to display/probe noise and instability. The 33 step Grey Only Large profile provided within LightSpace is the optimum for most Augment needs.

As always, using large profiles, Cube based or Quick Profiles, will greatly increase LUT generation times!

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


Augment Process
Convert Colour Space

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 via Convert Colour Space
  • Re-profile through the LUT using a Grey Only profile (the 'Grey Only Large' 33 step profile for example), or any other profile - Quick, or Cube based Characterisation
    (The LUT can be loaded directly into the display/LUT box/Graphics program, or Active LUT within LightSpace can be used)
  • The new profile will be 'saved' within the Manage Colour Space library, as normal
  • Open 'Manage Colour Spaces' and select the initial Cube profile
  • Select the 'Add Aug Data' button, and from the pop-up menu select the second 'Grey Only Large' profile
  • The original profile will be modified into a new 'Augmented Data' profile, defined by the addition of a '+' to the Profile type
  • Generate a new LUT via Convert Colour Space, with the 'Augmented Data' option ticked
    (The new LUT will include the Augmented Grey Scale)

As always with all LightSpace operations there are no fixed workflow. The above is one example for the use of Augmented Data. Another could be to modify an older LUT with new Grey Scale data, rather than performing a totally new volumetric profile.


Remote Control & Secondary Execution

The Remote Control option, combined with Secondary Execution, is a very powerful addition to LightSpace, and enables third party programs to take control of LightSpace, and perform functions such as setting patch colours and taking probe measurements, and well as sending measurement data to third party programs for additional functions not native within LightSpace to be performed.


Remote Control

Remote Control is accessed via the 'Calibration Interface', using the 'Measure' button.

Remote Control

For Remote Control to be accessible, the Network Controller must first be set to 'Enable' within the Network Manager.

Network Manager

With 'Remote Control' selected, LightSpace will switch into Remote mode, and a client application can connect to LightSpace by making a TCP connection to.

Once in remote control mode, the client application can send the patch colour it would like to measure, and LightSpace sliders will adjust to the desired colour, as well as displaying the colour via the colour patch window and any network attached patch generators.

Once a measurement has been completed, LightSpace will send to the remote control client the measurement results, where thy can be used as desired.

A possible example of this could be direct DDC control of any suitable display, making manual adjustments to the TV in an iterative process, using LightSpace to control the probe and patch generator.


Secondary Execution

Secondary Execution is accessed via the 'Options' menu, and enables the users to navigate to an external batch file/program that will be executed when LightSpace finishes a measurement process.

Secondary Execution

With this capability any LightSpace measurements can be used by an external program to perform process that are not included within LightSpace by default.

An example Batch File that records all measurement into a .txt file as an example is included within the LightSpace installation.

Protocol documentation for Remote Control, Secondary Execution, as well as the Network Protocol for Patch Generators can be downloaded via the Downloads Page of the website.


Custom Filter

The Custom Filters option enables a user to define what points should be plotted on the CIE diagrams, making it easier to assess the points of interest.

Custom Filter

The Custom Filters are pre-populated from the settings selected within the available standard 'Filters' (Grey Only, Primary Colours, Delta-E, etc. - excluding the Luminance Levels filter).

Note: The 'Custom Filter' button is a toggle button, so will remain active even after the pop-up Custom Filter window is closes with the 'Red X' close button, if the filter settings are not first Reset, and/or the Custom Filter button re-toggled.

Custom Filters

Custom Filters are a very powerful tool to help define the exact points that are displayed on the CIE charts, especially as the manual Filter settings are used to pre-populate the Custom Filters (excluding Luminance as that uses a unique % based limiter not compatible with Custom Filters, although the token L can be used to define absolute Luminance levels).

The various Tokens that can be used are split into Constants and Functions.

Constants
R Define the Red component of the points to be displayed (input triplet, range 0.0-1.0)
G Define the Green component of the points to be displayed (input triplet, range 0.0-1.0)
B Define the Blue component of the points to be displayed (input triplet, range 0.0-1.0)
L Define points to be displayed based on Luminance values (absolute nits)
DE2000 Define the Delta-E 2000 range for the points to be displayed
DE1976 Define the Delta-E 1976 range for the points to be displayed
Functions
GREY(R,G,B) Define the Grey points to be displayed (input triplet, range 0.0-1.0)
PRI(R,G,B) Define the Primary Colour points to be displayed (input triplet, range 0.0-1.0)
SEC(R,G,B) Define the Secondary Colour points to be displayed (input triplet, range 0.0-1.0)
OTHER(R,G,B) Define points that are not Grey, Primary or Secondary to be displayed (input triplet, range 0.0-1.0)

Constants use operators to define their result ('R > 0.5' to see all points with a R input triplet value greater than 0.5), while the Functions just return a fixed result if active ('GREY(R.G.B)' will show all the Grey Scale points). Combining Constants with Functions enables precise points selection, using the below Operators.

These Tokens can be used with standard programming operators (predominantly Comparison and Logical) to define the selection of points within the CIE diagrams, including the following operators:

Comparison Operators
== Equal to
!= Not equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to
Logical Operators
&& Logical AND
|| Logical OR
Other Operators
() Brackets (used to create groups and/or clarify the filter)
, Comma (used to link filter items)

Example Custom Filters

In the above Custom Filter image the pre-populated string is:

GREY(R,G,B) || (DE2000 >= 0.5 && DE2000 < 1.0)

This has been pre-populated by having 'Grey Only' selected, and the 'Delta-E' drop-down set to 0.5-1.0 range, with the dE 2000 radio button on.
In simple terms the string says it will show all points that are Grey Only, as well as all points that are within the Delta-E range 0.5 to 1.0 dE 2000.

The || operator specifies a logical 'OR' operation, while the && operator specifies a logical 'AND' operation, with >= specifying 'Greater than or equal to', and finally < specifying 'Less than'.

With the above information is should be relatively easy to see that changing the || operator to && will change the CIE chart to show just the points that are within the Grey Scale AND have a dE 2000 between 0.5 and 1.0.

GREY(R,G,B) && (DE2000 >= 0.5 && DE2000 < 1.0)

As a further example, using the following filter would show all Grey Scale and Primary Colour points that have values above 0.05, out of the range of 0-1 for the input patch triplet value.

GREY(R,G,B) || PRI(R,G,B), R > 0.05 || G > 0.05 || B > 0.05

And to add Secondaries:

GREY(R,G,B) || PRI(R,G,B) || SEC(R,G,B), R > 0.05 || G > 0.05 || B > 0.05

An alternative would be to use the L (Luminance) token to define points within an absolute Luminance value range.

GREY(R,G,B) || PRI(R,G,B) || SEC(R,G,B), L >= 10

The above will show all Grey Scale and Primary Colour points that have Luminance values greater or equal to 10 nits.

For more information on the various Operators available when defining the filtering see: Custom Filter Operators


LUT Image Manipulation

The LUT Image within LightSpace is a very powerful tool for direct LUT manipulation, using any graphics program to directly alter the LUT characteristics. With this approach you can easily alter any single point from the 35937 LUT points (the LUT Image is based on 33^3 LUT data).

This is possible because the coloured columns either side of the LUT image contain all 35937 colours within the 3D LUT. Therefore changing any of the colours within these columns will directly alter the LUT data.

As an example the following show using Photoshop Curves to manipulate just the shadow detail, leaving black and the data above shadows alone.

LUT Image in Photoshop

Full details on the use of the LUT Image are provided on the LightSpace CMS LUT Image page.


Parametric Gamma

Any colour space held within LightSpace CMS can have Parametric Gamma Controls added to it, enabling non-power law variable gamma profiles to be defined by the user, enabling very complex gamma curves to be defined.

Parametric Gamma

As an example, a user can create a custom colour space using the Rec709 standard, using a standard power law gamma of 2.2, 2.4, etc, as a starting point, and then make parametric gamma adjustments along the gamma curve to compensate for the display's gamma inconsistencies, or define a gamma profile to overcome issues with a viewing environment.

Full details on the use of Parametric Gamma are provided on the Parametric Gamma page.


OLED Displays

OLED displays have very unique colourimetry, with issues associated with metameric failure, which we address on the Perceptual Matching page of the website. But another unique aspect of 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 human vision, 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.

Traditional Display Shadows Gamut

LCD Shadows Gamut

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

OLED Shadows Gamut

OLED Shadows Gamut

OLED displays maintain saturation all the way down to black, which can cause the viewer to perceive the displayed image as being 'unnatural'.

Understanding this phenomena of 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.


LUT Manipulation Tools

LightSpace CMS licenses with the 'LUT manipulation tools' can perform such a desaturation very simply, using 'Mono Blend'. This example shows a de-saturation effect starting at 15%, and ending with zero saturation at black.

OLED desaturation


LUT Image

For those users without the LUT Manipulation tools the same effect can be created via the use of the LUT Image, and a graphics program such as Photoshop.

Save the LUT Image for the calibration LUT as a .tif image, and load into Photoshop. Duplicate the layer, and use 'Image/Adjustment - Hue/Saturation' to de-saturate the top layer fully. Then use 'Blending Options' to mix back the original LUT Image (the background layer) leaving just the lower 15% of the de-saturated layer active.

OLED desaturation

Save the resulting image as a new .tif image, and load into LightSpace CMS.

The result is identical to using the LUT manipulation tools!


LUT Concatenation

When calibrating with LightSpace CMS there are no fixed workflows, rather a selection of tools that can be applied as required, and the more adventurous and knowledgeable calibrators will quickly understand the possibilities.

The following multi-step 3D LUT calibration approaches will help explain what that means, but are in no way a definitive set of alternative workflows - they are just examples to help with LightSpace CMS understanding.


Multi-step LUT Calibration

With LightSpace, as we do not use 'workflows' for calibration (or any other aspect of colour management), instead providing the necessary 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.

Rather than simply generating a one-step calibration LUT, as is the obvious approach, a multi-step approach can potentially provide a more 'aesthetically' pleasing result, by combining different LUTs in stages.

The following example shows an alternative approach for a display that can't match the source footage Rec709 gamut.

What is critical in this approach is the 'concatenation' process, and understanding what work each separate LUT is actually performing, even when concatenated, and getting the concatenation order correct.

Source Footage Colour Space Conversion Calibration Calibrated Display
Rec709 Source Rec709 to Display Gamut technical conversion LUT Display self calibration LUT Rec709 Calibrated Display
Camera Capture Colour Space Conversion LUT Calibration LUT Working Colour Space

In the above example the first LUT in the image path is just converting the Rec709 colour space into display's native (actual) colour space through the use of a User Generated Colour Space.

The User Generated Colour Space is made by using the 'Point Info' capability of the CIE charts to view the Red, Green, and Blue 'xy' values of patches 255,0,0 - 0,255,0 - 0,0,255.

Gamut Values

The display's native white point, and average gamma values, should also be used when generating the new 'User Colour Space'.

The target Average Gamma value can be found via the DifGamma graph. For example, in the below DifGamma graph the gamma would be 2.2 if the selected colour space is Rec709, with its expected 2.4 gamma.
(The gamma is, on average, 0.2 brighter the target gamma - so showing a gamma of 2.2 vs. a target of 2.4)

Target Gamma

This new Colour Space is then used as the Destination Colour Space, with the standard Rec709 Colour Space set as Source, when generating the first LUT.

Native Gamut

The second LUT is therefore a standard calibration LUT, but with the new user Colour Space as the Source, and the display profile as the destination.

Both LUTs can then be concatenated into a new, single, Calibration LUT.
See below for LUT Concatenation workflows.


LightSpace Correction for Problematic Displays

If a display has inherent volumetric issues, specifically at the gamut edge (as seen within the Error! page, Pre Calibration Issues), the above LUT Concatenation approach can be used to overcome the issues during calibration.

Such gamut edge issues can be a real problem if the target colour space is larger than the gamut the display can actually achieve, such as Rec2020, as the compressed gamut edge cannot be 'undone' through the calibration process.

In such an application the key is to define the User Generated Colour Space as being slightly smaller than the point at which the gamut edge compression issues start to occur within the display.

The RGB xy values to be used can be defined by following tangent lines from white, through the primary RGB colours, and plotting the point just before the internal colours get mapped to the extreme gamut edge.

Native Gamut

An alternative approach to define suitable RGB xy value is to manually measure individual 100% RGB patches that are slightly de-saturated. For example a pure 100% Green patch is 0,255,0, while a 1% de-saturated Green patch would be 3,255,3, and a 3% de-saturated Green would be 8,255,8. By slowly increasing the de-saturation 1 bit at a time it should be possible to spot the point where the edge compression issues stop, defining the alternate RGB xy values to use for the new display specific colour space.

Using this new colour space as the initial Source will avoid the gamut edge issues, and the second step in the concatenation process can then be used to map the display into the actual desired colour space.

The following shows the LUT results from a projector with a gamut edge compression issue mapped initially to Rec200, then to a first User Colour Space that is still including some of the gamut compression issues along the green/cyan gamut edge, and a final result with the green primary reduced slightly further.

This final User Colour Space can then be used as the new target for Rec2020 calibration

Original Rec2020 Mapping

Original LUT

The display's volumetric over saturation causes the gamut to compress at the gamut edge, with no way to 'undo' that gamut compression.

First User Colour Space

New Colour Space

A new User Colour Space is used to avoid the compression issues at the gamut edge, but here shows some issues remaining in the green/cyan gamut edge.

Green primary reduced further

New Colour Space-2

A final reduction in the Green primary value used for the User Colour Space removes the remaining issues.

Using the CalImages 'ColourRamp' the error with the first user Colour Space can be seen to be along the green/cyan axis.

Green/Cyan Error

The final User Colour Space can then be used within the LUT Concatenation workflow.

Concatenating LUTs within LightSpace

As we say often when describing the way LightSpace works, there are no 'set' ways to do anything, and that goes for LUT Concatenation.


LUT Addition

The obvious way, if you have a LightSpace CMS license with the LUT Manipulation tools, is to use the 'Add' function to add together two LUTs, having first 'Saved' the second LUT (the LUT to be added to the first LUT) via the 'Export' function. With the first LUT held within LightSpace simply select the Add function and navigate to the previously saved LUT.


LUT Image

A less obvious, but actually extremely useful method, is to use the 'LUT Image' function, and 'Save' the second LUT as a tif or dpx image. You can then use the 'LUT Preview function' to open the saved LUT Image, and apply the first LUT to it, saving the resulting LUT Image as a new LUT Image. To save the new LUT Image right click on the image and select 'Save As'.

When the new LUT Image is 'Opened' within LightSpace you will have a the concatenated result!

Again, what is key to concatenating LUTs is the order of addition. Swapping the order will generated different results!

For additional information see the LUT Image page of the website.


Convert Colour Space

Yet another alternative option is to combine the LUTs via the 'Convert Colour Space' menu. If there is a LUT already within LightSpace you can use the 'Use existing' to combine the LUT you are about to make with the LUT already within LightSpace.

Combining LUTs

The 'Apply to the Image' and 'Apply to the Data' both do the same function as far as the resulting LUT is concerned. The 'Image/Data' concept refers to any 'Reference Image' that may or may not be held within the LUT Image. See: LUT Image for more info.

Note: depending on the profile data set being used within Convert Colour Space there may be some variations in the final result compared to a pure 'Add' process. That is to be expected. But, there is always another way...

From the above it should be obvious that if using a LUT box with multiple LUT capabilities the different LUTs can be applied separately within the LUT box, rather than being concatenated.


Swapping LUT Components

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

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.

As 3D LUT calibration uses all volumetric profile data to generate the final calibration LUT is is possible that the LUT generation processes used, such as Peak Chroma, Peak Luma, and Map Space, may result in a slightly inaccurate grey scale compared to Fit Space, which uses a 'simplification' process to manage poor probe/display profile data.

But, due to the simplification process used with Fit Space it is possible the volumetric gamut calibration may be less accurate than the results from Peak Chroma, Peak Luma, and Map Space.

A potential solution is to combine the better components from two different calibration LUTs.


Initial LUT Generation

Knowing that Fit Space uses a 'simplification' process to better manage poor volumetric probe readings the use of a Primary Only Quick Profile may be all that is needed to generated the first calibration LUT, especially if a larger CVS patch sequence is used (see the example CSV Quick Profiles available from the 'Downloads' page).

A smaller (10^3?) cube based Characterisation can then be used to generate a second, gamut, calibration LUT via Peak Chroma, etc.

Within LightSpace you will now have two calibration LUTs - one made with Fit Space, and one made with Peak Chroma (or Peak Luma, Map Space depending on your choice). These two LUT may have been generated from the same profile data, or two different profiles.


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

To extract the gamut only component from the 'Peak Chroma' generated LUT the process is to 'null' the 1D (grey scale) component from within the LUT.

The initial process is to first export the original LUT in a 1D LUT format, and then use the 'Subtraction' LUT Manipulation tool to re-combine the exported 1D LUT with the original 3D LUT, using the subtraction process so negating the 1D component of the original LUT, leaving just the 3D gamut component.

The next step is to export the 1D LUT component from the 'Fit Space' generated LUT, again by exporting in a 1D LUT format.

This 1D LUT can then be combined with the 'gamut only LUT' using the 'Addition' LUT manipulation tool.

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 LUT with Peak Chroma
  • Export the LUT in a 1D LUT format from the available LUT options (VCGT for example)
  • Use 'Subtract' to combine the exported 1D LUT with the original LUT
    (You now have a LUT with no 1D (Grey Scale) component)
  • Make the second LUT using Fit Space
  • Again, export as a 1D LUT
  • Delete the Fit Space LUT from within LightSpace
  • Use 'Addition' to combine the second exported 1D LUT with the Peak Chroma LUT
    (Presently without any Grey Scale info)

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 Functions

The Maths option, within the LUT Manipulation Tools, opens a window into which mathematical calculations and arguments can be entered, allowing direct LUT manipulation.

Maths

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.

You can use any combination of the following operators, just like a normal calculator:

  • +,-,*,/ (add, subtract, multiply and divided)
  • ^ (to the power)
  • - (negate)
  • () (brackets)
  • min(a,b), max(a,b) (minimum or maximum of 2 values)
  • sqrt(a) (square root of a value)
  • abs(a) (absolute value)
  • if(a cond b) (cond is the condition, can be =, !=, <, >, <=, >= (If true, returns the value of the trueExp else returns the value of the falseExp)
  • Log(a) returns the log to base 10 of a
  • ? (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)

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 the 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 = (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

to meet the formula requirements for the LightSpace CMS maths engine.

And for Linear to Rec709:

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

to meet the formula requirements for the LightSpace CMS maths engine.

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 posibities are very powerful!


Remove Bad Profile Points

LightSpace is very good as spotting, and removing, bad points from a display profile when generating a calibration LUT.

However, there are times such 'bad' profile points can be missed, and the resulting LUT will show unusual errors. When this happens it can be a simple process to remove such points from the profile.

LUT Error

The above 3D Cube image shows where the LightSpace generated LUT is attempting to correct a couple of 'cyan' points that have bad point data in the original profile.
(There are other inaccurate points, but they are hidden within the volume of the cube.)

With LightSpace any such bad readings within the original profile can be quickly isolated, using the available profile graphs and associated tools.

The firsts step is to generate a 'Colour Space' matrix that is the native gamut and white point of the display that has been profiled. To do this load the profile, and using the CIE charts double click the peak R, G, B, and W points in turn and make a note of their xy values. Then select the DifGamma chart and note the gamma value of the display.
(Note: the target 'colour space' used for this is irrelevant, and any dE values can be ignored.)

Record Peak RGBW Values

Gamut Extraction

Selecting each peak RGBW point in turn enables their xy values to be recorded. The selected target colour space is irrelevant, and the displayed dE values can be ignored.

Record Gamma Value

Gamut Extraction

Match the DifGamma graph to the closest Gamma value for the profile. In this case 2.4 to 2.5 average, reading from the vertical scale with the target gamma being Rec709 2.4.

Use the extracted values to generate a colour space that is the native raw gamut and white point of the display, and save as a new Colour Space matrix.

Extracted Colour Space

The original display profile can then be mapped (compared) to the new Colour Space, and any bad points isolated, as they will have hight dE values!
(When a display is mapped to itself, all points should obviously be well within acceptable parameters.)

Using the in-built Delta-E filter, or the 'Custom' filters, any high dE value points can be isolated. The following diagram shows all points greater than 5dE. Each point can be edited to show a negative value, meaning LightSpace will ignore the points when generating a LUT.

Edit Bad Points

After editing the points, the profile can be saved with a new name, and used to generate a LUT as normal, without the errors associated with the bad profile points.

LUT Corrected


Alternate Patch Sets

LightSpace can use any user defined Patch Set, either as a Quick Profile or as a full Characterisation.
Example Patch Sets for both can be downloaded via the Downloads page, and information on their use can be found in the Display Profiling User Guide.


Reduced Gamut Profiling

However, there are further uses for user defined patch sets, such as deliberately reducing the Gamut Area to be profiled, which can be of use with displays that have a smaller gamut than the required colour space target, with internal colour management that cannot be disabled. Such displays will suffer gamut edge compression, such as JVC Wide Gamut projectors that are colour managed to Rec2020, and cannot be disabled, as described in the Error! page, Pre Calibration Issues.

The first step is to define the actual gamut area the display is actively using within its target colour space. For example, using a JVC projector set to Rec2020 wide gamut, the R, G, and b peak xy values can be extracted, leaving the white point and gamma as per the target Rec2020 colour space.

To define the actual gamut area of the display profile with a Grey Only or Primary Only Quick Profile, and use the Point Info pop-up window to interrogate the max Red, Green, and Blue values, as shown.

Gamut Extraction

The extracted colour space can then be used to define a gamut reduction LUT, using Convert Colour Space with Source as the Extracted colour space, and the Destination as the target colour space - Rec2020 for the JVC projector mentioned here. This will generate a LUT that defines the active gamut area of the projector within the Rec2020 colour space.

Gamut Reduction LUT

The gamut reduction LUT can then be used as an 'Active LUT' within the Characterisation menu, and 'Export Colour List' used to export a CSV file with a reduced gamut patch set.

Gamut Reduction

The patch set will not yet work as desired, as there are no 100% patches at all. So, 100% Red, Green, and Blue patches need to be added to the end of the list using Excel. It is the addition of these 100% RGB patches that places the actual reduced gamut patches correctly within the targte Rec2020 colour space.

Excel RGB

You will then have a reduced volumetric gamut profile set, with Peak RGB patches at 100%, so precisely locating the gamut area to be profiled.

The patch set will therefore not attempt to profile outside the display's available gamut, so will avoid any edge compression issues, such as suffered when a display is pre-calibrated to a larger gamut than it can actually attain.
But, by also having the three 100% RGB patches in the profile set means the calibration LUT will correctly target the desired colour space - Rec2020 in the above example.

Note: When exporting the reduced gamut patch set from with the Characterisation menu it may be preferable to reduce the cube size - say 19^3, or 17^3, so when the final calibration LUT is being generated it will have approximately the same volumetric granularity as a standard 21^3 profile. However, a gamut reduced patch set can be made to any size.

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

The following example shows the extracted JVC gamut Green being reduced buy 5%, with the new xy values shown. The same would need to be done for Red and Blue, and a new 'Colour Space' saved using the new RGB xy values.

Colour Space Gamut Reduction

Note: The Gamut Reduction will be based on the relative distance of Red, Green, and Blue from the colour space white point.

While the above example only added back the three 100% Red, Green, and Blue patches, it may be preferable to add back 100% CMY as well, or all Primary/Secondary Red, Green, and Blue patches, or even add back all the patches on the gamut edge!
(Any patch with a zero value for one of the RGB colour channels will be a gamut edge colour, so XXX,XXX,0 or XXX,0,XXX or 0,XXX,XXX...)

In most circumstances using just the three 100% RGB patches will probably be best, with 'some' displays benefiting from CMY patches as well, or even all Primary/Secondary RGB patches, It is unlikely using all gamut edge patches will provide any noticable benefit.

Additionally, it may be preferable to focus on getting the reduced gamut patch set best suited to the display first, finding the best Red, Green, and Blue gamut reduction values that on their own produce the best calibration with the best overall calibrated gamut.
(The calibrated gamut will be smaller than the actual max gamut of the display, as there are no 100% gamut patches.)
When the ideal reduced gamut set has been defined, the 100% gamut patches can be added back, to restore the the missing gamut.


Gamma Too!

From the above it should be obvious that altering just the Gamma value when generating a LUT to be used to export a User Patch Set will 'bias' the patches more towards the blacks, or the whites.

Gamma Spacing

In the above example, the default Gamma of 2.4 for a Rec709 display will effectively be cancelled out, making the patches more equally spaced in linear light terms.


Additional Technical & Support Info.

German language version of this page: displaycalibration.de

© Light Illusion - All rights reserved - Privacy Notice