
For higher license levels, within Graph Options the Custom Filter option opens a menu into which formula arguments can be entered, enabling users to define what points should be plotted within the graphs, making it easier to assess points of interest.
Custom Filters are a very powerful tool to help define the exact points that are to be displayed within the various graphs.
Custom Filters
Custom Filters enable users to define exactly what measurement data to plot within the graphs, making it extremely easy to assess points of interest, both for direct assessment as well as for addition processing or to enable specific measurement to be re-measured, etc..
When Custom Filters are enabled, the Custom Filters button will show pale green.
The various Tokens that can be used are split into Constants, Functions and Comparison & Logical Operators.
Constants
- R define the Red component of the points to be displayed using the input triplet, range 0.0-1.0
- G define the Green component of the points to be displayed using the input triplet, range 0.0-1.0
- B define the Blue component of the points to be displayed using the input triplet, range 0.0-1.0
- L define points to be displayed based on Luminance values, in absolute nits
- DE_1976 define the dE 1976 range for the points to be displayed
- DE_2000 define the dE 2000 range for the points to be displayed
- DE_ITP define the dE ITP range for the points to be displayed
- DE_LUV define the dE L*u*v* range for the points to be displayed
Functions
- GREY(R,G,B) display Grey Scale points
- PRI(R,G,B) display Primary Colour points
- SEC(R,G,B) display Secondary Colour points
- OTHER(R,G,B) display points that are not Grey Scale, Primary or Secondary
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 various graphs, 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
In the above Custom Filter image the pre-populated string is:
GREY(R,G,B) || (DE_2000 >= 0.5 && DE_2000 < 1.0)
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 graphs 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) && (DE_2000 >= 0.5 && DE_2000 < 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
Another option 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), L >= 10 && L <= 50
The above will show all Grey Scale and Primary Colour points that have Luminance values greater or equal to 10 nits, and less or equal to 50 nits.
And a useful simplification of the above is to show all points within a defined luminance range, as a slice through the 3D CIE graph.
L > 4 && L < 5
Which will show all points that have Luminance values greater than 4 nits, and less than 5 nits.
With more complex filters being possible, such as the following.
((R == G) && (R == B)) ||
((R > 0.9) && (R < 0.95) && (G == 0) && (B == 0)) ||
((R == 0) && (G > 0.9) && (G < 0.95) && (B == 0)) ||
((R == 0) && (G == 0) && (B > 0.9) && (B < 0.95))
Which will display all Grey Scale points, and RGB Primary points between 0.9 and 0.95.
(Which basically displays a Grey Ramp RGB Quick Profile from a volumetric profile)
And.
(R == B) && (G == 1) ||
(R == G) && (B == 1) ||
(G == B) && (R == 1)
Which will display a 100% stimulus Gamut Sweep.
And.(R == 0) && (G == 0) && (B > 0.85) && (B < 0.9) ||
(R == 0) && (G > 0.85) && (G < 0.9) && (B == 0) ||
(R == 0) && (G > 0.85) && (G < 0.9) && (B > 0.85) && (B < 0.9) ||
(R > 0.03) && (R < 0.04) && (G > 0.5) && (G < 0.55) && (B > 0.6) && (B < 0.65) ||
(R > 0.2) && (R < 0.25) && (G > 0.2) && (G < 0.25) && (B > 0.55) && (B < 0.6) ||
(R > 0.25) && (R < 0.3) && (G > 0.55) && (G < 0.6) && (B > 0.25) && (B < 0.3) ||
(R > 0.3) && (R < 0.35) && (G > 0.35) && (G < 0.4) && (B > 0.65) && (B < 0.7) ||
(R > 0.3) && (R < 0.35) && (G > 0.4) && (G < 0.45) && (B > 0.25) && (B < 0.3) ||
(R > 0.35) && (R < 0.4) && (G > 0.2) && (G < 0.25) && (B > 0.4) && (B < 0.45) ||
(R > 0.35) && (R < 0.4) && (G > 0.45) && (G < 0.5) && (B > 0.6) && (B < 0.65) ||
(R > 0.4) && (R < 0.45) && (G > 0.7) && (G < 0.75) && (B > 0.65) && (B < 0.7) ||
(R > 0.45) && (R < 0.5) && (G > 0.3) && (G < 0.35) && (B > 0.25) && (B < 0.3) ||
(R > 0.5) && (R < 0.55) && (G > 0.5) && (G < 0.55) && (B > 0.65) && (B < 0.7) ||
(R > 0.6) && (R < 0.65) && (G > 0.7) && (G < 0.75) && (B > 0.25) && (B < 0.3) ||
(R > 0.65) && (R < 0.7) && (G > 0.2) && (G < 0.25) && (B > 0.2) && (B < 0.25) ||
(R > 0.7) && (R < 0.75) && (G > 0.3) && (G < 0.35) && (B > 0.55) && (B < 0.6) ||
(R > 0.75) && (R < 0.8) && (G > 0.35) && (G < 0.4) && (B > 0.35) && (B < 0.4) ||
(R > 0.75) && (R < 0.8) && (G > 0.55) && (G < 0.6) && (B > 0.5) && (B < 0.55) ||
(R > 0.8) && (R < 0.85) && (G > 0.45) && (G < 0.5) && (B > 0.15) && (B < 0.2) ||
(R > 0.85) && (R < 0.9) && (G > 0.6) && (G < 0.65) && (B > 0.15) && (B < 0.2) ||
(R > 0.85) && (R < 0.9) && (G == 0) && (B == 0) ||
(R > 0.85) && (R < 0.9) && (G == 0) && (B > 0.85) && (B < 0.9) ||
(R > 0.85) && (R < 0.9) && (G > 0.85) && (G < 0.9) && (B == 0)||
(R > 0.9) && (R < 0.95) && (G > 0.75) && (G < 0.8) && (B < 0.1) && (B < 0.15)
Which will extract approx. Memory Colours from a volumetric profile, using an approximate range of 0.05 input stimulus. For different volumetric profiles different values/range would likely be required to encapsulate a point near a specific Memory Colour.
(Obviously, if an Add/Modify Points workflow is applied, as defined in the Profile Concatenation specific stimulus values can be used to target exactly the correct Memory Colours.)
For more information on the various Operators available when defining the filtering see: Custom Filter Operators.
The Custom Filters option also has associated functions linked to it, such as being able to Export patch selections as .csv lists and Save new profiles from within the Point Info window, and for use with Add/Modify Points within Characterisation.