icclib/icclu

Summary

Lookup individual color values through any ICC profile table, either interactively, or as a batch.

Usage summary

icclu [-v level] [-f func] [-i intent] [-o order] profile
 -v               Verbose
 -f function   f = forward, b = backwards, g = gamut, p = preview
 -i intent        p = perceptual, r = relative colorimetric,
                    s = saturation, a = absolute
 -p oride        x = XYZ_PCS, l = Lab_PCS, y = Yxy,
 -o order        n = normal (priority: lut > matrix > monochrome)
                    r = reverse (priority: monochrome > matrix > lut)
 -s scale        Scale device range 0.0 - scale rather than 0.0 - 1.0

The colors to be translated should be fed into standard input,
one input color per line, white space separated.
A line starting with a # will be ignored.
A line not starting with a number will terminate the program.

Flags and Parameters

The -v flag enables more verbose output.

The -f flag selects which type of table or conversion is to be used.

The -i flag selects the intent for a lut based profile.

Normally the native PCS (Profile Connection Space) of a device or abstract profile is used, but the -p flag
allows this to be overridden, and XYZ, L*a*b* or Yxy space to be used.

A profile is allowed to contain more than the minimum number of elements or table needed to
describe a certain transform, and may contain redundant descriptions.  By default, lut based
table information will be used first if present, followed by matrix/shaper information, and
only using monochrome information if it is all that is present. The -o flag, reverses this order.

Usually device values are processed and displayed using a normalized value range between 0.0 and 1.0
Sometimes other systems scale them to some other range (such as 100 or 255) due to an underlying
binary representation. The -s flag lets you input and display such data in its normal range. For instance,
if your device values have a range between 0 and 255, use -s 255.

Usage Details and Discussion

Typical usage for an output profile might be:

    icclu -ff -ip profile.icm

Normally the program is interactive, allowing the user to type in input color values, each number separated by a space, and the resulting output color being looked up and displayed after pressing return. To batch process a group of color values, prepare a text file containing each input value on a separate line, and use the input indirection facilities of your command line shell to redirect this input file into the standard input of icclu. The output can be captured to a file by redirecting standard output to a file. In most shells this would be done something like this:

    icclu -ff -ip profile.icm < inputvalues.txt > outputvalues.txt