profile/printcal
Summary
Create a printer linearization calibration file from .ti3 test chart patch
values.
Usage Summary
printcal [-options] [prevcal] inoutfile
-v verbosity Set
verbosity level
-p
Plot graphs.
-i
Initial calibration, set targets,
create .cal
-r
Re-calibrate against previous .cal
and
create new .cal
-e
Verify against previous .cal
-I
Create imitation target from .ti3 and
null calibration
-d
Go through the motions but don't
write any files
-A "manufacturer" Set the manufacturer
description string
-M "model"
Set the model
description string
-D "description" Set the
profile Description string
-C "copyright"
Set the copyright
string
-x# percent
Set
maximum device percentage target
-n# deltaE
Set white minimum deltaE
target
-t# percent
Set
50% transfer curve percentage target
# = c, r,
0 First channel
m,
g,
1 Second channel
y,
b,
2 Third channel
k,
3
Fourth channel, etc.
-a
Create
an Adobe Photoshop .AMP file as well as a .cal
prevcal
Base
name of previous .cal file for recal or verify.
inoutname
Base
name of input .ti3 file, output .cal file
Options
-v Turn on verbose mode. Gives progress
information as the calibration is created. An argument greater than 1
increases the verbosity. Will also report the ideal power value to
apply to the test chart in targen.
-p Turns on
plot mode. This causes various graphs to be plotted as the calibration
is created. The channels will be plotted in the graph colors: Blue,
Red, Yellow, Black, Green, Purple, Brown, Orange, Grey, White.
-i Select
initial calibration mode. Initial calibration mode allows setting the
targets for the calibration, such as maximum device percentage, minimum
white level, and the transfer curve shape. The second last parameter prevcal
is not used in this mode.
-r Turns on
re-calibration mode. This is used for calibrations after the initial
one, where the aim is to return the devices response to the same state
as it was after the initial caibration. Parameters that affect the
calibration targets are ignored. The second last parameter prevcal
is used to establish what the targets for the calibration are.
-e Turns on
verify mode. In this mode the test chart input is verified agains the
expected response in the prevcal file.
-I Similar to -i, except that rather than creating
a linear target curve and corresponding calibration, it takes the given
behaviour as an absolute target and create a corresponding null set of
calibration curves. This .cal can then be used to recalibrate a similar
device (or the same device at some other time) to imitate the behaviour
of the initial device. The second last parameter prevcal
is not used in this mode. Parameters that affect the
calibration targets are ignored.
-d Disables the
writing of any files, causing printcal to go through the motions
without changing anything.
The -A parameter allows setting of the device
manufacturer description string in the calibration file. The parameter
should be a string that
identifies the manufacturer of the device being profiled. With most
command line shells, it will be necessary to enclose the parameter
with double quotes, so that spaces and other special characters are
included in the parameter, and not mistaken for the start of another
flag or as a final command line parameters. By default no device
manufacturer description string
will be put in the calibration file.
The -M parameter allows setting of the device
mode description string in the calibration file. The parameter should
be a string that identifies
the particular model of device being profiled. With most command line
shells, it will be necessary to enclose the parameter with double
quotes, so that spaces and other special characters are included in the
parameter, and not mistaken for the start of another flag or as a
final command line parameters. By default no model description string
will be put in the calibration file.
The -D parameter allows setting of the profile
description string in the calibration file. The parameter should be a
string that describes the
device and profile. On many systems, it will be this string that will
be used to identify the profile from a list of possible profiles. With
most command line shells, it will be
necessary to enclose the parameter with double quotes, so that spaces
and other special characters are included in the parameter, and not
mistaken for the start of another flag or as a final command line
parameter. By default no profile description string
will be put in the calibration file.
The -C parameter allows setting of the profile
copyright string in the calibration file. The parameter should be a
string that describes the
copyright (if any) claimed on the profile being generated. With most
command line shells, it will be necessary to enclose the parameter
with double quotes, so that spaces and other special characters are
included in the parameter, and not mistaken for the start of another
flag or as a final command line parameters. By default no copyright
string
will be put in the calibration file.
The -x parameter allows overriding the default
maximum device value computed from the raw device response. The default
uses a heuristic to decide when the response of the device to each
channels colorant value reaches the point of diminishing returns, while
the -x parameter allows this
default to be overridden. The -x
paramater can be used multiple times, once for each channel that is
being set. The -x should be
followed by the channel number between 0 and 15, or the aliases r, g
or g, or c, m,
y or k, and the channel number should
then be followed by the device value as a percentage. NOTE that you will probably get
sub-optimal results if you force a device maximum that is beyond the
point of maximum response of a device channel, since this will have the
effect of reducing
the device response.
The -n parameter allows overriding the default
minimum deltaE of a colorant to white of 0. This can be used to set
a minimum colorant level in order to emulate media darker or of a
different tint. The -n
paramater can be used multiple times, once for each channel that is
being set. The -n should be
followed by the channel number between 0 and 15, or the aliases r, g
or g, or c, m,
y or k, and the channel number should
then be followed by the deltaE value.
The -t parameter allows setting a target
linearization curve that is other than purely linear. The default
is to create a calibration curve that results in a perfectly even
change in output for each change in the calibrated device value, as
measured by steps in delta E94. The -x
parameter allows setting a target curve above or belowe the perfectly
linear, by setting the aim value at 50% input. An aim higher than 50%
will cause that channel to become more intense by the 50% mark, while a
value lower than 50% will cause the channel to become less intense by
the 50% mark than perfectly linear.The -x
should be followed by the channel number between 0 and 15, or the
aliases r, g or g, or c, m,
y or k, and the channel number should
then be followed by the device value as a percentage.
-a Creates an
Adobe Photoshop .AMP format
curves file as well as a .cal.
The optional second last parameter is the file base
name for a previous .cal
calibration file, used as the target reference for recalibrate and
verify modes.
The final parameter is the file base name for the .ti3 input test point data, and the
resulting .cal calibration file
output.
Discussion
Printcal is a tool for creating
per device channel linearization curves for printing devices.
As input it takes a .ti3 file containing the results of printing a test
chart on the non-color
managed, non-calibrated
device, and measuring it. The test chart consists of step wedges for
each of the device primary colors, from the media white to full
individual colorant intensity.
For the initial calibration (-i),
the
range of device values to be used and the shape of the target
linearization curve are established, as well as creating the first set
of calibration curves. For subsequent re-calibrations (-r), the calibration curves aim to
reproduce the same response as the original calibration. If a test
chart is printed with calibration enabled and then is mesured, it can
be used to
verify the calibration against the expected response (-e).
As each colorant steps through the test wedge patches from media white,
they trace out a measured locus in CIE L*a*b* colorspace. Each channel
response is evaluated by computing the CIE DeltaE to media white of
the response to a change in each individual channel of each locus. This
measure is used to determine when the devices response to a colorant
level is reaching diminishing returns, setting a maximum colorant
value. This measure can also be used to set a minimum colorant value
for the purposes of emulating a different media color. The default
maximum and minum values for each colorant can be overriden using the -x and -n parameters.
The actual linearization uses a subtly different measure, which is the
CIE DelataE 94 along each colorant response locus, ensuring that after
linearization each step in colorant value is subjectively even. The
linearization aim can be altered from a purely linear curve by using
the -t
parameters.
After the initial calibration, the device can be re-calibrated (-r) by printing a calibration test
chart under the same conditions as the initial one, but with the
calibration aimed at reproducing the same response as the initial
calibration, rather that setting new targets.
The calibration can be verified (-e)
by
printing a calibration test chart on non-color managed, but calibrated device, the
verification evaluating any discrepancy between the device response
acheived, and the device response expected. For a numerical evaluation
the verbose flag (-v) should be
used, and for a visual evaluation the plot flag (-p) should be used.
If there are several devices of the same or similar model, then one
device can be used to set the initial calibration target, and then the
other devices can be re-calibrated against the same .cal file, to
create matching responses. An alternative to creating an initial linear
target for calibration, is to use the -I
option with an initial device, which sets the initial target to be that
devices absolute response. Naturally the corresponding calibration will
be linear (null). The calibration target can then be used to later
return that device to its initial response, or to make another similar
device have the same response. Note though, that bad things will happen
if the imitated devices response is non-monotonic, or if on
re-calibration the device is unable to reach the same density levels.