Custom Argyll Color Patches

Device color profiles may be optimized by the addition of targeted color measurements.  When profiling a device from scratch, a “volley” of colors is printed and measured, with the expectation that the gamut of the device will be fully represented.  But if certain colors are of particular interest, such as grays and near-grays, more precise targeting may be of value, because it is not known in advance what the device’s actual response will be.  RGB (127, 127, 127), for example, may not print as a neutral gray.

When using the Argyll Color Management System, patch sets (.ti1 files) for profiling test targets are created with the program targen.  If an existing device profile is used as a pre-conditioning profile, targen runs its color patch values through the profile to target the device’s response.  This helps to ensure that colors of interest, especially grays, are accurately represented in the profile.

The programs icclu and xicclu similarly run specified colors through an existing profile, and may be used to extend targen by creating custom color patch sets to optimize a device profile.  The process is as follows:

1.  Create a device profile; it may be small and simple.

2.  Use this profile as a pre-conditioning profile, and generate a new .ti1 patch set.

3.  Choose the colors of interest to be added to the patch set.  Please see these .cxf File Generators for a number of methods to specify colors, including Lab, LCh, HSL (called “Colorize” or “Recolor” by photo editors), and HSB.  Specify “Lab only” when using the generators, and save the list of Lab values as a text file.

4.  Use the following command with the pre-conditioning profile (profile.icm) to convert the Lab values (Lab.txt) to RGB, and to then create a list of RGB-XYZ pairs (RGB-XYZ.txt).  Note that the first conversion uses relative colorimetric intent, and the second uses absolute.

icclu -v0 -fif -ir -pl -s100 profile.icm < Lab.txt | icclu -v1 -ff -ia -pX -s100 profile.icm > RGB-XYZ.txt

The output values should look like this:

58.675717 40.085306 15.008152 [RGB] -> Lut -> 21.026675 21.374979 11.935363 [XYZ]

5.  Use the .ti1 Customizer to add the xicclu output to the new .ti1 patch set from step 2.

6.  Use this custom .ti1 file to finish creating the optimized profile.

You may use the .ti3 Combiner to combine the measurements made for the first profile with those for the second (no sense in letting any of them go to waste).


The patch set LabGrays406.ti1 consists of 406 small-gamut gray and near-gray patches.  The Lab values a* and b* vary between -2 and +2.  It was generated from scratch using the default sRGB profile; running the values through xicclu and an existing device profile would improve it.




More resources, custom spectrum files for specifying the D55 (5500 K) illuminant when using colprof to create a printer profile.

A custom spectrum file generator.

ProPhoto2255 RGB, the ProPhoto RGB working color space with gamma set to 2.2 and white point to 5500.