target/targen
Summary
Generate a profiling test target values .ti1 file. targen
is
used to generate the device channel test point values for grayscale,
RGB, CMY, CMYK or N-color output or display devices.
Usage Summary
targen [options]
outfile
-v [level]
Verbose mode [optional
verbose level, 1..n]
-d col_comb choose
colorant combination from the following:
0:
Print
grey
1:
Video
grey
2:
Print
RGB
3:
Video RGB
4: CMYK
5:
CMY
6:
CMYK + Light CM
7: CMYK + Light CMK
8:
CMYK
+
Red
+ Blue
9: CMYK +
Orange + Green
10: CMYK +
Light CMK + Light Light K
11: CMYK +
Orange + Green + Light CM
12: CMYK + Light
CM + Medium CM
-D colorant Add or
delete colorant from combination:
0:
Additive
1:
Cyan
2:
Magenta
3:
Yellow
4:
Black
5:
Orange
6:
Red
7:
Green
8:
Blue
9:
White
10:
Light
Cyan
11:
Light
Magenta
12:
Light
Yellow
13:
Light
Black
14:
Medium
Cyan
15:
Medium
Magenta
16:
Medium
Yellow
17:
Medium
Black
18:
Light
Light
Black
-G
Generate
good
optimzed
points
rather
than
Fast
-e patches White
color test patches (default 4)
-s steps
Single
channel
steps
(default
0)
-g steps
Gray
axis
RGB
or
CMY
steps
(default
0)
-m steps
Multidimensional
device
space
cube
steps
(default
2)
-f patches
Add
iterative & adaptive full spread patches to total (default
836)
Default
is
Optimised
Farthest
Point
Sampling
(OFPS)
-t
Use
incremental
far
point
for
full spread
-r
Use
device
space
random
for
full spread
-R
Use
perceptual
space
random
for
full spread
-q
Use
device
space-filling
quasi-random
for
full spread
-Q
Use perceptual space-filling quasi-random for full spread
-i
Use
device
space
body
centered
cubic grid for full spread
-I
Use
perceptual
space
body
centered
cubic grid for full
spread
-a angle
Simplex
grid
angle
0.0
-
0.5
for
B.C.C. grid, default -2047840407
-A adaptation
Degree
of adaptation of OFPS 0.0 - 1.0 (default 0.1, 1.0 if -c profile
provided)
-t
Use
incremental
far
point
for
full
spread
(default
iterative)
-l ilimit
Total
ink
limit in %(default = none, or estimated from profile)
-p power
Optional
power-like
value
applied
to
all
device
values.
-c profile
Optional device ICC or MPP pre-conditioning profile filename
-N emphasis
Degree of
neutral axis patch concentration 0-1. (default 0.50)
-F L,a,b,rad Filter out
samples
outside Lab sphere.
-w
Dump
diagnostic
outfile.wrl
file
(Lab
locations)
-W
Dump
diagnostic
outfile.wrl
file
(Device
locations)
outfile
Base
name
for
output(.ti1)
Usage Details and Discussion
The number of target patches needs to be chosen, depending on the
media
size, the type of device, and the quality of profile required. For
an
inkjet device, something like 3000 test points or more is desirable
for high quality profiles, while 500-1000 will probably suffice for
a
medium quality profile. A few hundred may be sufficient for a
preliminary profile. Well behaved printing devices (such as a
chemical
proof, or a high quality printing press) may produce good profiles
with
1000 to 2000 test points. Well behaved RGB devices such as CRT
monitors
may need only a few
hundred points, if a shaper/matrix type profile is to be produced,
while pseudo RGB printers, or other RGB devices that a CLUT type
profile may be used
with, should probably choose somewhere between 500 and 3000 patches.
For 'N' color profile creation,
3000 or more test points should probably be used.
The -v flag turns on extra verbosity when
generating patch values. Extra diagnostics and verbosity may be
available if a parameter is provided with a value greater than 1.
The -d parameter sets the colorspace the
test
values will be generated in. Video gray space is assumed to be an
additive space, where a zero device value will be black, and a
maximum
device value will be white. A print gray space is assumed to be a
subtractive space,
in which a zero device value will be white, and a maximum device
value
will
be black. If no colorspace is specified, subtractive CMYK is assumed
as
a default.
The -D parameter modifies the colorspace
set
by -d by allowing
individual
colorants to be added or subtracted from the colorspace.
The -G flag changes the Incremental Far
Point
Distribution
algorithm from fast to good mode. Fast mode uses a limited number of
iterations to optimize the patch locations, while good mode strives
for
a more even patch distribution by using more iterations.
The composition of the test patches is controlled by the following
flags and parameters:
The -e parameter sets the number of white
colored test patches, defaulting to 4 if the -e flag isn't used. The
white patches are usually very important in establishing white point
that the ICC data is made relative to, so it improves robustness to
use
more than a
single point.
The -s parameter sets the number of patches
in a set of per colorant wedges. The steps are evenly spaced in
device
space by default, and the total number of test patches will be the
number of
colorants
times the value specified with the -s flag. If the -p parameter is provided, then,
then the steps will be distributed according to the power value.
e.g.
the option -s 5 will
generate
steps at 0.0 0.25 0.5 0.75 and 1.0, while the option -s 5 -p 2.0 will generate steps
at
0.0
0.0625 0.25 0.5625 and 1.0. By default, no per colorant
test wedge values are generated. When creating a test chart for a
device
that will be used as a source colorspace, it is often useful to
generated
some per colorant wedge values.
The -g parameter sets the number of patches
in a set of combined (nominally gray) wedges. This will typically be
equal RGB or CMY values, and by default will be equally spaced steps
in
device
space. If the -p parameter
is
provided, then,
then the steps will be distributed according to the power value.
e.g.
the option -g 5
will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while the option -g 5 -p 2.0 will generate steps
at
0.0
0.0625 0.25 0.5625 and 1.0. By
default, no gray combination values are generated. When creating a
test
chart for a device that will be used as a source colorspace, it is
often
useful to generated some per colorant wedge values.
The -m parameter sets the edge size of the
multidimensional grid of test values. The total number of patches of
this type will be the -m parameter value to the power of the number
of
colorants. The grid steps are evenly spaced in device space by
default,
but if the -p parameter is
provided, then,
then the steps will be distributed according to the power value.
e.g.
the option -m 5
will generate steps at 0.0 0.25 0.5 0.75 and 1.0, while the option -m 5 -p 2.0 will generate steps
at
0.0
0.0625 0.25 0.5625 and 1.0. By
default, all the device primary color combinations that fall within
the
ink limit are generated..
The behavior of the -e, -s, -g and -m
flags, is not to duplicate test values already created by a previous
type.
The -f parameter sets the number of full
spread test patches. Full spread patches are distributed according
to
the default or chosen algorithm. The default algorithm will optimize
the point locations to minimize the distance from any point in
device
space, to the nearest
sample point. This is called Optimized Farthest Point Sampling
(OFPS) .
This can be overridden by specifying the -t. -r, -R,
-q,
-i or -I flags. If the default OFPS algorithm is used, then
adaptive
test
point distribution can be fully enabled by supplying a previous or
typical profile with the -c
option. The total number patches specified will
include any
patches
generated using the -e, -s, -g and -m
flags (i.e.
full spread patches will be added to bring the total number of
patches
including
those generated using the -e, -s, -g and -m
flags
up to the specified number). When there are more than four device
channels,
the full spread distribution algorithm can't deal with so many
dimensions,
and targen falls back on an incremental far point
distribution
algorithm
by default, that doesn't generate such evenly spread points. This
behaviour
can be forced using the -t flag. A table
of useful total patch counts for different paper sizes is shown
below.
Note that it's occasionally the case that the OFPS algorithm will
fail
to complete, or make very slow progress if the -c profile is poor, non-smooth,
or
has unusual behaviour. In these cases a different algorithm should
be
chosen (ie. -Q or -I), or perhaps a smoother or
lower
resolution ("quality") previous profile may overcome the problem.
The -t flag overrides the default full
spread
test patch algorithm, and makes use of the Incremental Far Point
Distribution
algorithm, which incrementally searches for test points that are as
far
away
as possible from any existing points. This is used as the default
for
dimensions
higher than 4.
The -r flag overrides the default full
spread
test patch algorithm, and chooses test points with an even random
distribution in device space.
The -R flag overrides the default full
spread
test patch algorithm, and chooses test points with an even random
distribution in perceptual space.
The -q flag overrides the default full
spread
test patch algorithm, and chooses test points with a quasi-random,
space filling distribution in device space.
The -Q flag overrides the default full
spread
test patch algorithm, and chooses test points with a quasi-random,
space filling distribution in perceptual space.
The -i flag overrides the default full
spread
test patch algorithm, and chooses test points with body centered
cubic
distribution in device space.
The -I flag overrides the default full
spread
test patch algorithm, and chooses test points with body centered
cubic
distribution in perceptual space.
The -a angle parameter sets the
overall
angle that the body centered grid distribution has.
The -A adaptation parameter sets
the
degree of adaptation to the known device characteristics, used by
the
default full spread OFPS algorithm. A profile
should be provided using the -c
parameter if adaptation
is set above a low level. By
default the adaptation is 0.1 (low), and 1.0 (maximum) if -c profile is provided, but
these
defaults can be overridden using this option. For instance, if the -c profile doesn't represent the
device behavior very well, a lower adaption than 1.0 might be
appropriate.
The -l flag and parameter sets a total ink
limit (Total
Area Coverage or TAC), which is adhered to for all the generated
points. It is generally good practice to set a test chart ink limit
at
least 10% higher than the ink limit that will be applied when making
the resulting profile. In the case of device cube points, this can
generate extra test
values that lie at the ink limit boundary. For gray wedge values,
any
that exceed the ink limit are omitted. Full spread test values are
all
generated to lie
within the ink limit. Although it doesn't make much sense, this
parameter has an affect on additive device spaces (such as RGB), but
should not normally be used with such devices. The total ink limit
value will be written to the
.ti1 file, and carried through automatically to the .ti3 file, so
that
it
can be used during profile creation. If a profile is provided using
the
-c flag, then this will be
used
to estimate an ink limit, if none is provided with the -l flag. Ink limits are, as far
as
possible, always in final calibrated device values, and the
calibration
curves from the profile provided to the -c flag will be used to estimate the
equivalent limit in the underlying pre-calibration device space
values
that targen creates.
The -p flag and parameter sets a power-like
value
applied to all of the device values after they are generated, the
spacer
colors.
This
can
be
useful
in
creating calibration charts for
very non-linearly behaved devices. A value greater than 1.0 will
cause
a tighter spacing of test values near device value 0.0, while a
value
less than 1.0 will cause a tighter spacing near device value 1.0. printcal will recommend a
power-like
value if the verbose option is used. [ Note
that for Print RGB space this
is reversed, since internally a Print RGB space is treated as a CMY
space. ]. Note that the
device
model used to create the expected patch values will not take into
account the applied power, nor will the more complex full spread
algorithms correctly take into account the power in generating
values
up to the ink limits. (A power-like function is used, to avoid the
excessive compression that a real power function would apply).
The -c flag and parameter is used to
specify
an ICC or MPP pre-conditioning profile, for
estimating perceptual distances and colorspace curvature, used in
optimizing the full spread test point placement,or in creating
perceptualy spaced distributions. Normally a previous
profile for this or a similar device will be used, or a simpler,
preliminary profile will be created and used. If no such profile is
specified, a default device space model is used. Note that this
will only have an effect if an algorithm that uses perceptual
placement (such as -R, -Q, -I
or the default OFPS with an
-A value > 0.0) is being
used.
The -N emphasis parameter allows changing
the
degree to which the patch distribution should emphasise the neutral
axis. Since the neutral axis is regarded as the most visually
critical
are of the color space, it can help maximize the quality of the
resulting profile to place more measurement patches in this region.
This emphasis is only effective for perceptual patch distributions,
and
for the default OFPS distribution if the adaptation
parameter is set to a high value. It is also most effective when a pre-conditioning profile is provided, since this is
the
only way that neutral can be determined. The default value of 0.5
provides an affect about twice the emphasis of the CIE94 Delta E
formula.
The -F flag and parameters is used to
define
an L*a*b* sphere to filter the test points through. Only test points
within the sphere (defined by it's center and radius) will be
written
to the .ti1 file. This can be good for targeting supplemental test
points at a troublesome area of a device. The accuracy of the L*a*b*
target will be best when the -c
option is used to specify a reasonably accurate profile for the
device.
Note that the actual number of points generated can be hard to
predict,
and will depend on the type of generation used. All means of
generating
points except the -f N & -r, -R and -q will generate a smaller
number of test points than expected. If the -f N & -r, -R and -q
methods are used, then the target number of points will be achieved.
For this reason, the -f N -q method is probably the easiest to use.
The -w flag causes a diagnostic VRML .wrl file to be created, in
which the test points are plotted as small spheres in L*a*b*
colorspace. Note that for a CMYK device, the point spacing may seem
strange, since the extra K dimension is compressed into the 3
dimensional L*a*b* space. If the -W flag is given, the plot will
be
in device space, with only the first 3 dimensions of each point
being
plotted.
The final parameter on the command line is the
base
filename for the .ti1 output
file. targen will add the .ti1 extension automatically.
Some typical total patch number/paper size combinations are shown
below. These "magic" numbers are found by using printtarg to compute the row length and
number of rows, and then adjusting the total number of patches to
fill
the last row or paper size, in an iterative fashion.
Size (mm/Standard Name),
No. Patches
DTP20:
1 x A4 540
2 x A4 1080
3 x A4
1620
4 x A4
2160
1 x Letter 570
2 x Letter 1140
3 x Letter 1710
4 x Letter 2280
DTP 22:
1 x A4 782
2 x A4 1564
1 x Letter 736
2 x Letter 1472
DTP41:
1 x A4
375
2 x A4
750
3 x A4
1125
4 x A4
1500
1 x Letter
345
2 x Letter
690
3 x Letter
1035
4 x Letter
1380
1 x A3
836
2 x A3
1672
1 x 11x17
780
2 x 11x17
1560
DTP51:
1 x A4
266
2 x A4
532
3 x A4
798
4 x A4
1064
1 x Letter
252
2 x Letter
504
3 x Letter
756
4 x Letter
1008
1 x A3
580
2 x A3
1160
1 x 11x17
570
2 x 11x17
1140
SpectroScan with square patches:
1 x A4R 1014
2 x A4R 2028
3 x A4R
3042
4 x A4R
4056
1 x LetterR 999
2 x LetterR 1998
3 x LetterR 2997
4 x LetterR 3996
SpectroScan with hexagonal patches:
1 x A4R 1170
2 x A4R 2340
3 x A4R
3510
4 x A4R
4680
1 x LetterR 1092
2 x LetterR 2184
3 x LetterR 3276
4 x LetterR 4368
Eye-One Pro:
1 x A4 441
2 x A4 882
3 x A4
1323
4 x A4
1764
1 x Letter 462
2 x Letter 924
3 x Letter 1386
4 x Letter 1848
ColorMunki:
1 x A4
90
2 x A4 180
3 x A4
270
4 x A4
360
1 x Letter 98
2 x Letter 196
3 x Letter 294
4 x Letter 392
ColorMunki -h:
1 x A4 210
2 x A4 420
3 x A4
630
4 x A4
840
1 x Letter 196
2 x Letter 392
3 x Letter 588
4 x Letter 784
Scanner (printtarg with -iSS -s options):
1 x A4R 1014
2 x A4R 2028
3 x A4R 3042
4 x A4R 4056
1 x LetterR 962
2 x LetterR 1924
3 x LetterR 2886
4 x LetterR 3848