Lookup individual color values through any ICC profile table, either
interactively, or as a batch.
icclu [-v level] [-f func]
[-i intent] [-o order] profile
Verbosity level 0 -
2 (default = 1)
-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 =
(priority: lut > matrix > monochrome)
r = reverse (priority: monochrome > matrix >
-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 parameter sets the level of verbosity.
Default is level 1, which repeats each input value, the colorspaces of
input and output, the type of conversion algorithm used, and if the
result was clipped. Level 2 adds prints extra information about the
profile before doing the conversions. Level 0 turns off all verbosity,
just outputting the results of each conversion. Use the latter to
capture batch output ready for further processing.
The -f flag selects which type of table or conversion is to be
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. -o
r 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
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
color being looked up and displayed after pressing return. To batch
a group of color values, prepare a text file containing each input
a separate line, and use the input indirection facilities of your
line shell to redirect this input file into the standard input of
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 >