1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<title>Argyll Usage Scenarios</title>
5
<meta http-equiv="content-type"
6
content="text/html; charset=ISO-8859-1">
9
<h2><u>Typical usage Scenarios and Examples</u></h2>
10
Choose a task from the list below. For more details on alternative
11
options, follow the links to the individual tools being used.<br>
13
Note that by default it is assumed that ICC profile have the file
14
extension <span style="font-weight: bold;">.icm</span>, but that on
15
Apple OS X and Unix/Linux platforms, the <span
16
style="font-weight: bold;">.icc</span> extension is expected and
18
<h4><a href="#PM1">Profiling Displays</a></h4>
19
<h4> <a href="#PM1a">Checking you can access your
22
<h4> <a href="#PM1b">Adjusting and Calibrating
25
<h4> <a href="#PM1c">Adjusting, calibrating and
26
profiling in one step<br>
27
</a><span style="font-weight: bold;"></span><span
28
style="font-weight: bold;"></span><span
29
style="text-decoration: underline;"></span></h4>
30
<h4> <a href="#PM2">Creating display test values</a></h4>
31
<h4> <a href="#PM3">Taking readings from a display</a></h4>
32
<h4> <a href="#PM4">Creating a
33
display profile</a></h4>
34
<h4> <span style="text-decoration: underline;"></span><a
35
href="#PM5">Installing a
36
display profile</a></h4>
37
<h4> <span style="text-decoration: underline;"></span><a
38
href="#PM6">Expert tips when measuring displays</a></h4>
40
<a href="#PS1">Profiling Scanners and other input devices such as
43
<h4> <a href="#PS2">Types of test charts</a></h4>
44
<h4> <a href="#PS3">Taking readings from a scanner</a></h4>
45
<h4> <a href="#PS4">Creating a scanner profile</a></h4>
47
<a href="#PP1">Profiling Printers</a></h4>
48
<h4> <a href="#PP2">Creating a print profile test
50
<h4> <a href="Scenarios.html#PP2b">Printing a print
51
profile test chart</a></h4>
52
<h4> <a href="#PP3">Reading a print test chart
53
using an instrument</a></h4>
54
<h4> <a href="#PP4">Reading a print test chart
55
using a scanner</a></h4>
57
<h4> <a href="#PP5">Creating a printer profile<br>
59
<h4> <a href="#PP6">Choosing a black generation curve</a></h4>
61
<h4><a href="Scenarios.html#PC1">Calibrating Printers</a></h4>
62
<h4> <a href="Scenarios.html#PC2">Calibrated print
64
<h4> <a href="Scenarios.html#PC3">Creating a print
65
calibration test chart</a></h4>
67
<h4> <a href="Scenarios.html#PC4">Creating a printer
70
<h4> <a href="Scenarios.html#PC5">Using a printer
72
<h4> <a href="#PC6">How profile ink limits are
73
handled when calibration is being used<br>
76
<a href="#LP1">Linking Profiles</a></h4>
78
<a href="#TR1">Transforming colorspaces of raster files</a></h4>
80
<hr style="width: 100%; height: 2px;"><br>
81
<h3><a name="PM1"></a>Profiling Displays</h3>
82
Argyll supports adjusting, calibrating and profiling of displays using
84
instruments - see <a href="instruments.html">instruments</a> for a
85
current list. Adjustment and calibration are prior
86
steps to profiling, in which the display is adjusted using it's
87
screen controls, and then per channel lookup tables are created
88
to make it meet a well behaved response
89
of the desired type. The process following that of creating a
90
display profile is then similar to that of all other
92
devices :- first a set of device colorspace test values needs to be
93
created to exercise the display, then these values need to be
94
displayed, while taking measurements of the resulting colors using the
95
instrument. Finally, the device value/measured color values need to be
96
converted into an ICC profile.<br>
98
<h3><a name="PM1a"></a>Checking you can access your display<br>
100
You might first want to check that you are accessing and can calibrate
101
your display. You can do this using the <a href="dispwin.html">dispwin</a><span
102
style="font-weight: bold;"></span> tool<span style="font-weight: bold;">.</span>
103
If you just run <span style="font-weight: bold;">dispwin</span>
104
it will create a test window and run through a series of test colors
105
before checking that the VideoLUT can be accessed by the display. If
106
you invoke the usage for <span style="font-weight: bold;">dispwin</span>
107
(by giving it an unrecognized option, e.g. <span
108
style="font-weight: bold;">-?</span>) then it will show a list of
109
available displays next to the <span style="font-weight: bold;"><span
110
style="font-weight: bold;">-d</span></span>
111
flag. Make sure that you are accessing the display you intend to
112
calibrate and profile, and that the VideoLUT is effective (the <span
113
style="font-weight: bold;">-r</span> flag can be used to just run the
114
VideoLUT test). You can also try clearing the VideoLUTs using the <span
115
style="font-weight: bold;">-c</span> flag, and loading a deliberately
116
strange looking calibration <span style="font-weight: bold;">strange.cal</span>
117
that is provided in the Argyll <span style="font-weight: bold;">ref</span>
120
<h3><a name="PM1b"></a>Adjusting and Calibrating Displays</h3>
121
Please read <a href="calvschar.html">What's the difference between
122
Calibration and Characterization ?</a> if you are unclear as to the
125
The first step is to decide what the target should be for adjustment
127
This boils down to three things: The desired brightness, the desired
128
white point, and the desired response curve. The native brightness and
129
white points of a display may be different to the desired
130
characteristics for some purposes. For instance, for graphic arts use,
131
it might be desirable to run with a warmer white point of about 5000
132
degrees Kelvin, rather than the default display white point of 6500 to
133
9000 Kelvin. Some LCD displays are too bright to compare to printed
134
material under available lighting, so it might be desirable to reduce
135
the maximum brightness.<br>
137
You can run <a href="dispcal.html#r">dispcal -r</a> to check on how
138
your display is currently set up. (you may have to run this as <span
139
style="text-decoration: underline; color: rgb(204, 51, 204);">dispcal
140
-yl -r</span> for an LCD display, or <span
141
style="text-decoration: underline; color: rgb(204, 51, 204);">dispcal
142
-yc -r</span> for a CRT display with most of the colorimeter
143
instruments. If so, this will apply to all of the following examples.)<br>
145
Once this is done, <a href="dispcal.html">dispcal</a> can be run to
146
guide you through the display adjustments, and then calibrate it. By
147
default, the brightness and white point will be kept
148
the same as the devices natural brightness and white point. The default
149
response curve is a gamma of 2.4, except for Apple OS X systems prior
150
to 10.6 where a gamma of 1.8 is the default. 2.4 is close to that
152
monitors, and close to that of the sRGB colorspace. <br>
154
A typical calibration that leaves the brightness and white point alone,
157
<a href="dispcal.html">dispcal</a> -v TargetA<br>
159
which will result in a "TargetA.cal" calibration file, that can then be
160
used during the profiling stage.<br>
162
If the absolutely native response of the display is desired during
163
profiling, then calibration should be skipped, and the linear.cal file
164
from the "ref" directory used instead as the argument to the -k flag of
165
<span style="font-weight: bold;">dispread</span>.<br>
167
<b>Dispcal</b> will display a test window in the middle of the screen,
168
and issue a series of instructions about placing the instrument on the
169
display. You may need to make sure that the display cursor is not in
170
the test window, and it may also be necessary to disable any
171
screensaver and powersavers before starting the
172
process, although both <span style="font-weight: bold;">dispcal</span>
173
and <span style="font-weight: bold;">dispread</span> will attempt to
174
do this for you. It's also highly desirable on CRT's, to clear your
178
or bright background images or windows (running your shell window with
179
white text on a black background helps a lot here.), or at least keep
180
any bright areas away from the test window, and be careful not to
181
change anything on the display while the readings
182
are taken. Lots of bright images or windows can affect the ability to
184
the black point accurately, and changing images on the display can
185
cause inconsistency in the readings, and leading to poor results.<span
186
style="font-weight: bold;"></span> LCD displays seem to be
187
less influenced by what else is on the screen.<br>
189
If <span style="font-weight: bold;">dispcal</span> is run
190
without arguments, it will provide a usage screen. The <span
191
style="font-weight: bold;">-c</span> parameter allows selecting a
192
communication port for an instrument, or selecting the instrument you
193
want to use, and the <a href="dispcal.html#d"><span
194
style="font-weight: bold;">-d</span></a>
195
option allows selecting a target
196
display on a multi-display system. On some multi-monitor systems, it
197
may not be possible to independently calibrate and profile each display
198
if they appear as one single screen to the operating system, or if it
199
is not possible to set separate video lookup tables for each
200
display. You can change the position and size of the test
201
window using the <a href="dispcal.html#P"><span
202
style="font-weight: bold;">-P</span></a> parameter.
203
You can determine how best to arrange the test window, as well as
204
whether each display has separate video lookup capability, by
205
experimenting with the <a href="dispwin.html">dispwin</a> tool. <br>
207
For a more detailed discussion on interactively adjusting the display
208
controls using <span style="font-weight: bold;">dispcal</span>, see <a
209
href="dispcal.html#Adjustment">dispcal-adjustment</a>. Once you have
210
adjusted and calibrated your display, you can move on to the next step.<br>
212
When you have calibrated and profiled your display, you can keep it
213
calibrated using the <a href="dispcal.html#u">dispcal -u</a> option.<br>
215
<h4><a name="PM1c"></a>Adjusting, calibrating and profiling in one step.</h4>
216
If a simple matrix/shaper display profile is all
217
that is desired, <span style="font-weight: bold;">dispcal</span> can
218
be used to do this, permitting display adjustment, calibration and
219
profiling all in one operation. This is done by using the <span
220
style="font-weight: bold;"><span style="font-weight: bold;">dispcal </span>-o</span>
223
<a href="dispcal.html">dispcal</a> <a href="dispcal.html#v">-v</a> <a
224
href="dispcal.html#o">-o</a> <a href="dispcal.html#p1">TargetA</a><br>
226
This will create both a TargetA.cal file, but also a TargetA.icm file.
227
See <a href="dispcal.html#o">-o</a> and <a href="dispcal.html#O">-O</a>
228
for other variations.<br>
230
For more flexibility in creating a display profile, the separate steps
231
of creating characterization test values using <span
232
style="font-weight: bold;">targen</span>, reading them from the
233
display using <span style="font-weight: bold;">dispread</span>, and
234
then creating a profile using <span style="font-weight: bold;">colprof</span>
235
are used. The following steps illustrate this:<br>
236
<h4><a name="PM2"></a>Profiling in several steps: Creating display test
238
If the <span style="font-weight: bold;">dispcal</span> has not been
239
used to create a display profile at the same time as adjustment and
240
calibration, then the first step in profiling any output device, is to
242
of device colorspace test values. The important parameters needed are:
245
<li>What colorspace does the device use ?</li>
246
<li>How many test patches do I want to use ?</li>
247
<li>What information do I already have about how the device behaves ?</li>
249
For a display device, the colorspace will be RGB. The number of
250
test patches will depend somewhat on what quality profile you want to
251
make, what type of profile you want to make, and how long you are
252
prepared to wait when testing the display.<br>
253
At a minimum, a few hundred values are needed. A matrix/shaper type of
254
profile can get by with fewer test values, while a LUT based profile
255
will give better results if more test values are used. A typical number
256
might be 200-600 or so values, while 1000-2000 is not an unreasonable
257
number for a high quality characterization of a display.<br>
259
To assist the choice of test patch values, it can help to have a rough
260
idea of how the device behaves. This could be in the form of an ICC
261
profile of a similar device, or a lower quality, or previous profile
262
for that particular device. If one were going to make a very high
263
quality LUT based profile, then it might be worthwhile to make up a
264
smaller, preliminary shaper/matrix profile using a few hundred test
265
points, before embarking on testing the device with several thousand.<br>
267
Lets say that we ultimately want to make a profile for the device
268
"DisplayA", the simplest approach is to make a set of test values that
270
independent of the characteristics of the particular device:<br>
272
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> <a
273
href="targen.html#d">-d3</a> <a href="targen.html#f">-f500</a> <a
274
href="targen.html#p1">DisplayA</a><br>
276
If there is a preliminary or previous profile called "OldDisplay"
277
available, and we want to try creating a "pre-conditioned" set of test
278
values that will more efficiently sample the device response, then the
279
following would achieve this:<br>
281
</u><a href="targen.html"> targen</a> <a href="targen.html#v">-v</a>
282
<a href="targen.html#d">-d3</a> <a href="targen.html#f">-f500</a>
283
<a href="targen.html#c">-cOldDisplay.icm</a>
284
<a href="targen.html#p1">DisplayA</a><br>
286
The output of <b>targen</b> will be the file DisplayA.ti1, containing
287
the device space test values, as well as expected CIE values used for
288
chart recognition purposes.<br>
290
<h4><a name="PM3"></a>Profiling in several steps: Taking readings from
292
First it is necessary to connect your measurement instrument to your
293
computer, and check which communication port it is connected to. In the
294
following example, it is assumed that the instrument is connected to
295
the default port 1, which is either the first USB instrument found, or
296
serial port found. Invoking dispread so as to display the usage
299
using a flag -? or --) will list the identified serial and USB ports,
301
labels. If we created a calibration for the display using <a
302
href="dispcal.html">dispcal</a>, then we will want to use this when we
303
take the display readings (e.g. TargetA.cal from the calibration
306
<a href="dispread.html">dispread</a> <a href="dispread.html#v">-v</a> <a
307
href="dispread.html#k">-k
308
TargetA.cal</a> <a href="dispread.html#p1">DisplayA</a><br>
310
<b>dispread</b> will display a test window in the middle of the screen,
311
and issue a series of instructions about placing the instrument on the
312
display. You may need to make sure that the display cursor is not in
313
the test window, and it may also be necessary to disable any
314
screensaver before starting the
315
process. Exactly the same facilities are provided to select alternate
316
displays using the <span style="font-weight: bold;">-d</span>
317
parameter, and an alternate location and size for the test window using
318
the <span style="font-weight: bold;">-P</span> parameter as with <span
319
style="font-weight: bold;">dispcal</span>.<br>
320
<h4><a name="PM4"></a>Profiling in several steps: Creating a display
322
There are two basic choices of profile type for a display, a
323
shaper/matrix profile, or a LUT based profile. They have different
324
tradeoffs. A shaper/matrix profile will work well on a well behaved
325
display, that is one that behaves in an additive color manner, will
327
very smooth looking results, and needs fewer test points to create. A
328
LUT based profile on the other hand, will model any display behaviour
329
more accurately, and can accommodate gamut mapping and different intent
330
tables. Often it can show some unevenness and contouring in the results
333
To create a matrix/shaper profile, the following suffices:<br>
335
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
336
href="colprof.html#E">-D"Display A"</a> <a href="colprof.html#q">-qm</a>
337
<a href="colprof.html#a">-as</a> <a href="colprof.html#p1">DisplayA</a><br>
339
For a LUT based profile, where gamut mapping is desired, then a source
340
profile will need to be provided to define the source gamut. For
341
instance, if the display profile was likely to be linked to a CMYK
342
printing source profile, say "swop.icm", then the following would
345
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
346
href="colprof.html#E">-D"Display A"</a>
347
<a href="colprof.html#q">-qm</a> <a href="colprof.html#S">-S</a><a
348
href="colprof.html#S">
349
swop.icm</a> <a href="colprof.html#c">-cpp</a> <a
350
href="colprof.html#d">-dmt</a>
351
<a href="colprof.html#p1">DisplayA</a><br>
353
Make sure you check the delta E report at the end of the profile
354
creation, to see if the profile is behaving reasonably.<br>
355
If a calibration file was used with <a href="dispread.html">dispread</a>,
4
<title>Argyll Usage Scenarios</title>
5
<meta http-equiv="content-type" content="text/html;
9
<h2><u>Typical usage Scenarios and Examples</u></h2>
10
Choose a task from the list below. For more details on alternative
11
options, follow the links to the individual tools being used.<br>
13
Note that by default it is assumed that ICC profile have the file
14
extension <span style="font-weight: bold;">.icm</span>, but that on
15
Apple OS X and Unix/Linux platforms, the <span style="font-weight:
16
bold;">.icc</span> extension is expected and should be used.<br>
17
<h4><a href="#PM1">Profiling Displays</a></h4>
18
<h4> <a href="#PM1a">Checking you can access your
21
<h4> <a href="#PM1b">Adjusting and Calibrating a
23
<h4> <a href="#PM1c">Adjusting, calibrating and
24
profiling in one step<br>
25
</a><span style="font-weight: bold;"></span><span
26
style="font-weight: bold;"></span><span style="text-decoration:
27
underline;"></span></h4>
28
<h4> <a href="#PM2">Creating display test values</a></h4>
29
<h4> <a href="#PM3">Taking readings from a
31
<h4> <a href="#PM4">Creating a display profile</a></h4>
32
<h4> <span style="text-decoration: underline;"></span><a
33
href="#PM5">Installing a display profile</a></h4>
34
<h4> <span style="text-decoration: underline;"></span><a
35
href="#PM6">Expert tips when measuring displays</a></h4>
36
<h4> <span style="text-decoration: underline;"></span><a
37
href="#PM7">Calibrating and profiling a display that doesn't
38
have VideoLUT access.</a></h4>
40
<a href="#PS1">Profiling Scanners and other input devices such as
43
<h4> <a href="#PS2">Types of test charts</a></h4>
44
<h4> <a href="#PS3">Taking readings from a
46
<h4> <a href="#PS4">Creating a scanner profile</a></h4>
48
<a href="#PP1">Profiling Printers</a></h4>
49
<h4> <a href="#PP2">Creating a print profile
51
<h4> <a href="Scenarios.html#PP2b">Printing a
52
print profile test chart</a></h4>
53
<h4> <a href="#PP3">Reading a print test chart
54
using an instrument</a></h4>
55
<h4> <a href="#PP4">Reading a print test chart
56
using a scanner</a></h4>
58
<h4> <a href="#PP5">Creating a printer profile<br>
60
<h4> <a href="#PP6">Choosing a black generation
63
<h4><a href="Scenarios.html#PC1">Calibrating Printers</a></h4>
64
<h4> <a href="Scenarios.html#PC2">Calibrated
65
print workflows</a></h4>
66
<h4> <a href="Scenarios.html#PC3">Creating a
67
print calibration test chart</a></h4>
69
<h4> <a href="Scenarios.html#PC4">Creating a
70
printer calibration<br>
72
<h4> <a href="Scenarios.html#PC5">Using a printer
74
<h4> <a href="#PC6">How profile ink limits are
75
handled when calibration is being used<br>
78
<a href="#LP1">Linking Profiles</a></h4>
80
<a href="#TR1">Transforming colorspaces of raster files</a></h4>
82
<hr style="width: 100%; height: 2px;"><br>
83
<h3><a name="PM1"></a>Profiling Displays</h3>
84
Argyll supports adjusting, calibrating and profiling of displays
85
using one of a number of instruments - see <a
86
href="instruments.html">instruments</a> for a current list.
87
Adjustment and calibration are prior steps to profiling, in which
88
the display is adjusted using it's screen controls, and then
89
per channel lookup tables are created to make it meet a well behaved
90
response of the desired type. The process following that of
91
creating a display profile is then similar to that of all other
92
output devices :- first a set of device colorspace test values needs
93
to be created to exercise the display, then these values need to be
94
displayed, while taking measurements of the resulting colors using
95
the instrument. Finally, the device value/measured color values need
96
to be converted into an ICC profile.<br>
98
<h3><a name="PM1a"></a>Checking you can access your display<br>
100
You might first want to check that you are accessing and can
101
calibrate your display. You can do this using the <a
102
href="dispwin.html">dispwin</a><span style="font-weight: bold;"></span>
103
tool<span style="font-weight: bold;">.</span> If you just run <span
104
style="font-weight: bold;">dispwin</span> it will create a test
105
window and run through a series of test colors before checking that
106
the VideoLUT can be accessed by the display. If you invoke the usage
107
for <span style="font-weight: bold;">dispwin</span> (by giving it
108
an unrecognized option, e.g. <span style="font-weight: bold;">-?</span>)
109
then it will show a list of available displays next to the <span
110
style="font-weight: bold;"><span style="font-weight: bold;">-d</span></span>
111
flag. Make sure that you are accessing the display you intend to
112
calibrate and profile, and that the VideoLUT is effective (the <span
113
style="font-weight: bold;">-r</span> flag can be used to just run
114
the VideoLUT test). You can also try clearing the VideoLUTs using
115
the <span style="font-weight: bold;">-c</span> flag, and loading a
116
deliberately strange looking calibration <span style="font-weight:
117
bold;">strange.cal</span> that is provided in the Argyll <span
118
style="font-weight: bold;">ref</span> directory.<br>
120
Note that calibrating and/or profiling <span style="font-weight:
121
bold;">remote</span> displays is possible using X11 or a web
122
browser (see <span style="font-weight: bold;">-d</span> option of
123
dispcal and dispread), or by using some external program to send
124
test colors to a display (see <span style="font-weight: bold;">-C</span>
125
and <span style="font-weight: bold;">-M</span> options of dispcal
126
and dispread), but you may want to refer to <a href="#PM7">Calibrating
127
and profiling a display that doesn't have VideoLUT access</a>.<br>
129
<h3><a name="PM1b"></a>Adjusting and Calibrating Displays</h3>
130
Please read <a href="calvschar.html">What's the difference between
131
Calibration and Characterization ?</a> if you are unclear as to
134
The first step is to decide what the target should be for adjustment
135
and calibration. This boils down to three things: The desired
136
brightness, the desired white point, and the desired response curve.
137
The native brightness and white points of a display may be different
138
to the desired characteristics for some purposes. For instance, for
139
graphic arts use, it might be desirable to run with a warmer white
140
point of about 5000 degrees Kelvin, rather than the default display
141
white point of 6500 to 9000 Kelvin. Some LCD displays are too bright
142
to compare to printed material under available lighting, so it might
143
be desirable to reduce the maximum brightness.<br>
145
You can run <a href="dispcal.html#r">dispcal -r</a> to check on how
146
your display is currently set up. (you may have to run this as <span
147
style="text-decoration: underline; color: rgb(204, 51, 204);">dispcal
154
-r</span> for an LCD display, or <span style="text-decoration:
155
underline; color: rgb(204, 51, 204);">dispcal -yc -r</span> for a
156
CRT display with most of the colorimeter instruments. If so, this
157
will apply to all of the following examples.)<br>
159
Once this is done, <a href="dispcal.html">dispcal</a> can be run to
160
guide you through the display adjustments, and then calibrate it. By
161
default, the brightness and white point will be kept the same as the
162
devices natural brightness and white point. The default response
163
curve is a gamma of 2.4, except for Apple OS X systems prior to 10.6
164
where a gamma of 1.8 is the default. 2.4 is close to that of
165
many monitors, and close to that of the sRGB colorspace. <br>
167
A typical calibration that leaves the brightness and white point
170
<a href="dispcal.html">dispcal</a> -v TargetA<br>
172
which will result in a "TargetA.cal" calibration file, that can then
173
be used during the profiling stage.<br>
175
If the absolutely native response of the display is desired during
176
profiling, then calibration should be skipped, and the linear.cal
177
file from the "ref" directory used instead as the argument to the -k
178
flag of <span style="font-weight: bold;">dispread</span>.<br>
180
<b>Dispcal</b> will display a test window in the middle of the
181
screen, and issue a series of instructions about placing the
182
instrument on the display. You may need to make sure that the
183
display cursor is not in the test window, and it may also be
184
necessary to disable any screensaver and powersavers before starting
185
the process, although both <span style="font-weight: bold;">dispcal</span>
186
and <span style="font-weight: bold;">dispread</span> will attempt
187
to do this for you. It's also highly desirable on CRT's, to clear
188
your screen of any white or bright background images or windows
189
(running your shell window with white text on a black background
190
helps a lot here.), or at least keep any bright areas away from the
191
test window, and be careful not to change anything on the display
192
while the readings are taken. Lots of bright images or windows can
193
affect the ability to measure the black point accurately, and
194
changing images on the display can cause inconsistency in the
195
readings, and leading to poor results.<span
196
style="font-weight: bold;"></span> LCD displays seem to be less
197
influenced by what else is on the screen.<br>
199
If <span style="font-weight: bold;">dispcal</span> is run without
200
arguments, it will provide a usage screen. The <span
201
style="font-weight: bold;">-c</span> parameter allows selecting a
202
communication port for an instrument, or selecting the instrument
203
you want to use, and the <a href="dispcal.html#d"><span
204
style="font-weight: bold;">-d</span></a> option allows selecting
205
a target display on a multi-display system. On some multi-monitor
206
systems, it may not be possible to independently calibrate and
207
profile each display if they appear as one single screen to the
208
operating system, or if it is not possible to set separate video
209
lookup tables for each display. You can change the position and size
210
of the test window using the <a href="dispcal.html#P"><span
211
style="font-weight: bold;">-P</span></a> parameter. You can
212
determine how best to arrange the test window, as well as whether
213
each display has separate video lookup capability, by experimenting
214
with the <a href="dispwin.html">dispwin</a> tool. <br>
216
For a more detailed discussion on interactively adjusting the
217
display controls using <span style="font-weight: bold;">dispcal</span>,
218
see <a href="dispcal.html#Adjustment">dispcal-adjustment</a>. Once
219
you have adjusted and calibrated your display, you can move on to
222
When you have calibrated and profiled your display, you can keep it
223
calibrated using the <a href="dispcal.html#u">dispcal -u</a>
226
<h4><a name="PM1c"></a>Adjusting, calibrating and profiling in one
228
If a simple matrix/shaper display profile is all that is desired, <span
229
style="font-weight: bold;">dispcal</span> can be used to do this,
230
permitting display adjustment, calibration and profiling all in one
231
operation. This is done by using the <span style="font-weight:
232
bold;"><span style="font-weight: bold;">dispcal </span>-o</span>
235
<a href="dispcal.html">dispcal</a> <a href="dispcal.html#v">-v</a>
236
<a href="dispcal.html#o">-o</a> <a href="dispcal.html#p1">TargetA</a><br>
238
This will create both a TargetA.cal file, but also a TargetA.icm
239
file. See <a href="dispcal.html#o">-o</a> and <a
240
href="dispcal.html#O">-O</a> for other variations.<br>
242
For more flexibility in creating a display profile, the separate
243
steps of creating characterization test values using <span
244
style="font-weight: bold;">targen</span>, reading them from the
245
display using <span style="font-weight: bold;">dispread</span>, and
246
then creating a profile using <span style="font-weight: bold;">colprof</span>
247
are used. The following steps illustrate this:<br>
248
<h4><a name="PM2"></a>Profiling in several steps: Creating display
250
If the <span style="font-weight: bold;">dispcal</span> has not been
251
used to create a display profile at the same time as adjustment and
252
calibration, then it can be used to create a suitable set of
253
calibration curves as the first step, or the calibration step can be
254
omitted, and the display cansimply be profiled.<br>
256
The first step in profiling any output device, is to create a set of
257
device colorspace test values. The important parameters needed are:
260
<li>What colorspace does the device use ?</li>
261
<li>How many test patches do I want to use ?</li>
262
<li>What information do I already have about how the device
265
For a display device, the colorspace will be RGB. The number
266
of test patches will depend somewhat on what quality profile you
267
want to make, what type of profile you want to make, and how long
268
you are prepared to wait when testing the display.<br>
269
At a minimum, a few hundred values are needed. A matrix/shaper type
270
of profile can get by with fewer test values, while a LUT based
271
profile will give better results if more test values are used. A
272
typical number might be 200-600 or so values, while 1000-2000 is not
273
an unreasonable number for a high quality characterization of a
276
To assist the choice of test patch values, it can help to have a
277
rough idea of how the device behaves. This could be in the form of
278
an ICC profile of a similar device, or a lower quality, or previous
279
profile for that particular device. If one were going to make a very
280
high quality LUT based profile, then it might be worthwhile to make
281
up a smaller, preliminary shaper/matrix profile using a few hundred
282
test points, before embarking on testing the device with several
285
Lets say that we ultimately want to make a profile for the device
286
"DisplayA", the simplest approach is to make a set of test values
287
that is independent of the characteristics of the particular device:<br>
289
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a>
290
<a href="targen.html#d">-d3</a> <a href="targen.html#f">-f500</a>
291
<a href="targen.html#p1">DisplayA</a><br>
293
If there is a preliminary or previous profile called "OldDisplay"
294
available, and we want to try creating a "pre-conditioned" set of
295
test values that will more efficiently sample the device response,
296
then the following would achieve this:<br>
298
</u><a href="targen.html"> targen</a> <a href="targen.html#v">-v</a>
299
<a href="targen.html#d">-d3</a> <a href="targen.html#f">-f500</a>
300
<a href="targen.html#c">-cOldDisplay.icm</a> <a
301
href="targen.html#p1">DisplayA</a><br>
303
The output of <b>targen</b> will be the file DisplayA.ti1,
304
containing the device space test values, as well as expected CIE
305
values used for chart recognition purposes.<br>
307
<h4><a name="PM3"></a>Profiling in several steps: Taking readings
309
First it is necessary to connect your measurement instrument to your
310
computer, and check which communication port it is connected to. In
311
the following example, it is assumed that the instrument is
312
connected to the default port 1, which is either the first USB
313
instrument found, or serial port found. Invoking dispread so as to
314
display the usage information (by using a flag -? or --) will list
315
the identified serial and USB ports, and their labels.<br>
317
<a href="dispread.html">dispread</a> <a href="dispread.html#v">-v</a>
318
<a href="dispread.html#p1">DisplayA</a><br>
320
If we created a calibration for the display using <a
321
href="dispcal.html">dispcal</a>, then we will want to use this
322
when we take the display readings (e.g. TargetA.cal from the
323
calibration example)..<br>
325
<a href="dispread.html">dispread</a> <a href="dispread.html#v">-v</a>
326
<a href="dispread.html#k">-k TargetA.cal</a> <a
327
href="dispread.html#p1">DisplayA</a><br>
329
<b>dispread</b> will display a test window in the middle of the
330
screen, and issue a series of instructions about placing the
331
instrument on the display. You may need to make sure that the
332
display cursor is not in the test window, and it may also be
333
necessary to disable any screensaver before starting the process.
334
Exactly the same facilities are provided to select alternate
335
displays using the <span style="font-weight: bold;">-d</span>
336
parameter, and an alternate location and size for the test window
337
using the <span style="font-weight: bold;">-P</span> parameter as
338
with <span style="font-weight: bold;">dispcal</span>.<br>
339
<h4><a name="PM4"></a>Profiling in several steps: Creating a display
341
There are two basic choices of profile type for a display, a
342
shaper/matrix profile, or a LUT based profile. They have different
343
tradeoffs. A shaper/matrix profile will work well on a well behaved
344
display, that is one that behaves in an additive color manner, will
345
give very smooth looking results, and needs fewer test points to
346
create. A LUT based profile on the other hand, will model any
347
display behaviour more accurately, and can accommodate gamut mapping
348
and different intent tables. Often it can show some unevenness and
349
contouring in the results though.<br>
351
To create a matrix/shaper profile, the following suffices:<br>
353
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
354
<a href="colprof.html#E">-D"Display A"</a> <a href="colprof.html#q">-qm</a>
355
<a href="colprof.html#a">-as</a> <a href="colprof.html#p1">DisplayA</a><br>
357
For a LUT based profile, where gamut mapping is desired, then a
358
source profile will need to be provided to define the source gamut.
359
For instance, if the display profile was likely to be linked to a
360
CMYK printing source profile, say "swop.icm" or "fogra39l.icm", then
361
the following would suffice:<br>
363
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
364
<a href="colprof.html#E">-D"Display A"</a> <a href="colprof.html#q">-qm</a>
365
<a href="colprof.html#S">-S</a><a href="colprof.html#S">
366
fogra39l.icm</a> <a href="colprof.html#c">-cpp</a> <a
367
href="colprof.html#d">-dmt</a> <a href="colprof.html#p1">DisplayA</a><br>
369
Make sure you check the delta E report at the end of the profile
370
creation, to see if the profile is behaving reasonably.<br>
371
If a calibration file was used with <a href="dispread.html">dispread</a>,
372
then it will be converted to a vcgt tag in the profile, so that the
373
operating system or other system color tools load the lookup curves
374
into the display hardware, when the profile is used.<br>
375
<h4><a name="PM5"></a>Installing a display profile</h4>
376
<a href="dispwin.html">dispwin</a> provides a convenient way of
377
installing a profile as the default system profile for the chosen
380
<a href="dispwin.html">dispwin</a> <a href="dispwin.html#I">-I</a>
381
<a href="dispwin.html#p1">DisplayA.icm</a><br>
383
This also sets the display to the calibration contained in the
384
profile. If you want to try out a calibration before installing the
385
profile, using dispwin without the <span style="font-weight: bold;">-I</span>
386
option will load a calibration (ICC profile or .cal file) into the
389
Some systems will automatically set the display to the calibration
390
contained in the installed profile (ie. OS X), while on other
391
systems (ie. MSWindows and Linux/X11) it is necessary to use some
392
tool to do this. On MSWindows XP you could install the
393
optional <span style="font-weight: bold;">Microsoft Color Control Panel Applet for Windows XP</span>
394
available for download from Microsoft to do this, but <span
395
style="font-weight: bold;">NOTE</span> however that it seems to
396
have a <span style="font-weight: bold;">bug</span>, in that it
397
sometimes associates the profiles with the <span
398
style="font-weight: bold;">wrong monitor</span> entry. Other
399
display calibration tools will often install a similar tool, so
400
beware of there being multiple, competing programs. [ Commonly these
401
will be in your Start->Programs->Startup folder. ]<br>
402
On Microsoft Vista, you need to use dispwin -L or some other tool to
403
load the installed profiles calibration at startup.<br>
405
To use dispwin to load the installed profiles calibration to the
408
<a href="dispwin.html">dispwin</a> <a href="dispwin.html#L">-L</a><br>
410
As per usual, you can select the appropriate display using the <a
411
href="dispwin.html#d">-d</a> flag.<br>
413
This can be automated on MSWindows and X11/Linux by adding this
414
command to an appropriate startup script.<br>
415
More system specific details, including how to create such startup
416
scripts are <a href="dispprofloc.html">here</a>. <br>
418
If you are using Microsoft <span style="font-weight: bold;">Vista</span>,
419
there is a known <span style="font-weight: bold;">bug</span> in
420
Vista that resets the calibration every time a fade-in effect is
421
executed, which happens if you lock and unlock the computer, resume
422
from sleep or hibernate, or User Access Control is activated. Using
423
<a href="dispwin.html">dispwin</a> <a href="dispwin.html#L">-L</a>
424
may not restore the calibration, because Vista filters out setting
425
(what it thinks) is a calibration that is already loaded. Use <a
426
href="dispwin.html">dispwin</a> <a href="dispwin.html#c">-c</a> <a
427
href="dispwin.html#L">-L</a><span style="font-family: monospace;"></span>
428
as a workaround, as this will first clear the calibration, then
429
re-load the current calibration.<br>
431
On X11/Linux systems, you could try adding <a href="dispwin.html">dispwin</a>
432
<a href="dispwin.html#L">-L</a> to your <span style="font-weight:
433
bold;">~/.config/autostart</span> file, so that your window
434
manager automatically sets calibration when it starts. If you are
435
running XRandR 1.2, you might consider running the experimental <a
436
href="dispwin.html#D">dispwin -E</a> in the background, as in its
437
"daemon" mode it will update the profile and calibration in response
438
to any changes in the the connected display.<br>
440
<h4><a name="PM6"></a>Expert tips when measuring displays:<br>
442
Sometimes it can be difficult to get good quality, consistent and
443
visually relevant readings from displays, due to various practical
444
considerations with regard to instruments and the displays
445
themselves. Argyll's tools have some extra options that may assist
446
in overcoming these problems.<br>
448
If you are using an Eye-One Pro or ColorMunki spectrometer, then you
449
may wish to use the <a href="dispcal.html#H">high resolution
450
spectral mode</a> (<span style="font-weight: bold;">-H</span>).
451
This may be better at capturing the often narrow wavelength peaks
452
that are typical of display primary colors.<br>
454
Another option that can be used with the Eye-One Pro or ColorMunki
455
spectrometer is the <a href="dispcal.html#V">adaptive measurement
456
mode</a> (<span style="font-weight: bold;">-V</span>). By default
457
a fixed measurement integration time is used, as this will give the
458
most consistent results, but for displays with high contrast ratio's
459
and deep blacks, the integration time may be too short to give
460
adequate precision. The adaptive measurement mode increases
461
integration time when measuring dark colors (which will increase the
462
overall calibration or profiling time), and is capable of achieving
463
higher precision for these dark measurements.<br>
465
All instruments depend on silicon sensors, and such sensors generate
466
a temperature dependant level of noise ("dark noise") that is
467
factored out of the measurements by a dark or black instrument
468
calibration. The spectrometers in particular need this calibration
469
before commencing each set of measurements. Often an instrument will
470
warm up as it sits on a display, and this warming up can cause the
471
dark noise to increase, leading to inaccuracies in dark patch
472
measurements. The longer the measurement takes, the worse this
473
problem is likely to be. One way of addressing this is to
474
"acclimatise" the instrument before commencing measurements by
475
placing it on the screen in a powered up state, and leaving it for
476
some time. (Some people leave it for up to an hour to acclimatise.).
477
Another approach is to try and <a href="dispcal.html#I">compensate
478
for dark calibration changes</a> (<span style="font-weight: bold;">-Ib</span>)
479
by doing on the fly calibrations during the measurements, based on
480
the assumption that the black level of the display itself won't
481
change significantly. <br>
483
Some displays take a long time to settle down and stabilise. The is
484
often the case with LCD (Liquid Crystal) displays that use
485
fluorescent back lights, and these sorts of displays can change in
486
brightness significantly with changes in temperature. One way of
487
addressing this is to make sure that the display is given adequate
488
time to warm up before measurements. Another approach is to try and
489
<a href="dispcal.html#I">compensate for display white level</a>
495
(<span style="font-weight: bold;">-Iw</span>) changes by doing on
496
the fly calibrations during the measurements. Instrument black level
497
drift and display white level drift can be combined (<span
498
style="font-weight: bold;">-Ibw</span>).<br>
500
Colorimeter instruments make use of physical color filters that
501
approximate the standard observer spectral sensitivity curves.
502
Because these filters are not perfectly accurate, the manufacturer
503
calibrates the instrument for typical displays, which is why you
504
have to make a selection between CRT (Cathode Ray Tube) and LCD
505
(Liquid Crystal Display) modes. If you are measuring a display that
506
has primary colorants that differ significantly from those typical
507
displays, (ie. you have a Wide Gamut Display), then you may
508
get disappointing results with a Colorimeter. One way of addressing
509
this problem is to use a <a href="File_Formats.html#.ccmx">Colorimeter
514
Correction Matrix</a>. These are specific to a particular
515
Colorimeter and Display make and model combination, although a
516
matrix for a different but similar type of display may give better
517
results than none at all. A list of contributed <span
518
style="font-weight: bold;">ccmx</span> files is <a
519
href="ccmxs.html">here</a>.<br>
521
<h4><a name="PM7"></a>Calibrating and profiling a display that
522
doesn't have VideoLUT access.</h4>
523
<p>In some situation there is no access to a displays VideoLUT
524
hardware, and this hardware is what is usually used to implement
525
display calibration. This could be because the display is being
526
accessed via a web server, or because the driver or windowing
527
system doesn't support VideoLUT access.<br>
529
<p>There are two basic options in this situation:<br>
531
<p> 1) Don't attempt to calibrate, just profile the display.<br>
532
2) Calibrate, but incorporate the calibration in some other
533
way in the workflow.<br>
535
<p>The first case requires nothing special - just skip calibration
536
(see the previous section <a href="#PM7">Profiling in several
537
steps: Creating display test values</a>).</p>
538
<p> In the second case, there are three choices:<br>
540
<p> 2a) Use dispcal to create a calibration and a quick profile
541
that incorporates the calibration into the profile.<br>
542
2b) Use dispcal to create the calibration, then dispread and
543
colprof to create a profile, and then incorporate the calibration
544
into the profile using applycal.<br>
545
2c) Use dispcal to create the calibration, then dispread and
546
colprof to create a profile, and then apply the calibration after
547
the profile in a cctiff workflow.<br>
549
<p>The first case requires nothing special, use dispcal in a normal
550
fashioned with the <span style="font-weight: bold;">-o</span>
551
option to generate a quick profile.The profile created will <span
552
style="text-decoration: underline;">not</span> contain a 'vcgt'
553
tag, but instead will have the calibration curves incorporated
554
into the profile itself. If calibration parameters are chosen that
555
change the displays white point or brightness, then this will
556
result in a slightly unusual profile that has a white point that
557
does not correspond with device R=G=B=1.0. Some systems may not
558
cope properly with this type of profile, and a general shift in
559
white point through such a profile can create an odd looking
560
display if it is applied to images but not to other elements on
561
the display say as GUI decoration elements or other application
564
<p>In the second case, the calibration file created using dispcal
565
should be provided to dispread using the <span
566
style="font-weight: bold;">-K</span> flag:<br>
568
<p><a href="dispread.html">dispread</a> <a href="dispread.html#v">-v</a>
569
<a href="dispread.html#K">-K TargetA.cal</a> <a
570
href="dispread.html#p1">DisplayA</a></p>
571
<p><span style="font-weight: bold;"></span>Create the profile as
572
usual using colprof. but note that colprof will ignore the
573
calibration, and that no 'vcgt' tag will be added to the profile.<br>
574
You can then use <a href="applycal.html">applycal </a>to combine
575
the calibration into the profile. Note that the resulting profile
576
will be slightly unusual, since the profile is not made completely
577
consistent with the effects of the calibration, and the device
578
R=G=B=1.0 probably not longer corresponds with the PCS white or
581
In the third case, the same procedure as above is used to create a
582
profile, but the calibration is applied in a raster transformation
583
workflow explicitly, e.g.:<br>
585
<a href="cctiff.html">cctiff</a> <a
586
href="cctiff.html#p1">SourceProfile.icm</a> <a
587
href="cctiff.html#p1">DisplayA.icm</a> <a href="cctiff.html#p2">DisplayA.cal</a>
588
<a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
590
<a href="cctiff.html">cctiff</a> <a
591
href="cctiff.html#p1">SourceProfile.icm</a> <a
592
href="cctiff.html#p1">DisplayA.icm</a> <a href="cctiff.html#p2">DisplayA.cal</a>
593
<a href="cctiff.html#p3">infile.jpg</a> <a href="cctiff.html#p4">outfile.jpg</a><br>
594
<span style="font-weight: bold;"></span><br>
595
<hr size="2" width="100%">
596
<h3><a name="PS1"></a>Profiling Scanners and other input devices
599
Because a scanner or camera is an input device, it is necessary to
600
go about profiling it in quite a different way to an output device.
601
To profile it, a test chart is needed to exercise the input device
602
response, to which the CIE values for each test patch is known.
603
Generally standard reflection or transparency test charts are used
604
for this purpose.<br>
605
<h4><a name="PS2"></a>Types of test charts</h4>
606
The most common and popular test chart for scanner profiling is the
607
IT8.7/2 chart. This is a standard format chart generally reproduced
608
on photographic film, containing about 264 test patches.<br>
609
An accessible and affordable source of such targets is Wolf Faust a
610
<a href="http://www.targets.coloraid.de/">www.coloraid.de</a>.<br>
611
Another source is LaserSoft <a
612
href="http://www.silverfast.com/show/it8/en.html">www.silverfast.com.</a><br>
613
The Kodak Q-60 Color Input Target is also a typical example:<br>
615
<img src="Q60.jpg" alt="Kodak Q60 chart image" height="141"
618
A very simple chart that is widely available is the Macbeth
619
ColorChecker chart, although it contains only 24 patches and
620
therefore is probably not ideal for creating profiles:<br>
621
<img alt="ColorChecker 24 patch" src="colorchecker.jpg"
622
style="width: 112px; height: 78px;"><br>
624
Other popular charts are the X-Rite/GretagMacbeth ColorChecker DC
625
and <a href="http://www.xrite.com/product_overview.aspx?ID=938">ColorChecker
633
<img src="DC.jpg" alt="GretagMacbeth ColorChecker DC chart"
634
height="122" width="200"> <img alt="ColorChecker SG" src="SG.jpg"
635
style="width: 174px; height: 122px;"><br>
637
The GretagMacbeth Eye-One Pro Scan Target 1.4 can also be used:<br>
639
<img alt="Eye-One Scan Target 1.4" src="i1scan14.jpg" style="border:
640
2px solid ; width: 200px; height: 140px;"><br>
642
Also supported is the <a href="http://www.hutchcolor.com/hct.htm">HutchColor
650
<img alt="HutchColor HCT" src="HCT.jpg" style="width: 182px; height:
655
href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.html">Christophe
661
Métairie's Digital TargeT 003</a> and <a
662
href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.html">Christophe
668
Métairie's Digital Target - 3</a> :<br>
670
<img alt="CMP_DT_003" src="CMP_DT_003.jpg" style="width: 186px;
671
height: 141px;"> <img style="width: 203px; height: 140px;"
672
alt="CMP_Digital_Target-3" src="CMP_Digital_Target-3.jpg"><br>
674
and the <a href="http://www.silverfast.com/show/dc-targets/en.html">LaserSoft
680
Imaging DCPro Target</a>:<br>
682
<img style="width: 153px; height: 122px;" alt="LaserSoft DCPro
683
Target" src="LSDC.jpg"><br>
686
href="http://spyder.datacolor.com/product-cb-spydercheckr.php">SpyderCheckr</a>:<br>
688
<img style=" width: 146px; height: 109px;" alt="Datacolor
689
SpyderCheckr" src="SpyderChecker.jpg"><br>
691
<h4><a name="PS3"></a>Taking readings from a scanner or camera<br>
693
The test chart you are using needs to be placed on the scanner, and
694
the scanner needs to be configured to a suitable state, and restored
695
to that same state when used subsequently with the resulting
696
profile. For a camera, the chart needs to be lit in a controlled and
697
even manner using the light source that will be used for subsequent
698
photographs, and should be shot so as to minimise any geometric
699
distortion, although the <a href="scanin.html#p">scanin -p</a> flag
700
may be used to compensate for some degree of distortion. As with any
701
color profiling task, it is important to setup a known and
702
repeatable image processing flow, to ensure that the resulting
703
profile will be usable.<br>
705
The chart should be captured and saved to a TIFF format file. I will
706
assume the resulting file is called scanner.tif. The raster file
707
need only be roughly cropped so as to contain the test chart
708
(including the charts edges).<br>
710
The second step is to extract the RGB values from the scanner.tif
711
file, and match then to the reference CIE values. To locate the
712
patch values in the scan, the <b>scanin</b> tool needs to be given
713
a template <a href="File_Formats.html#.cht">.cht</a> file that
714
describes the features of the chart, and how the test patches are
715
labeled. Also needed is a file containing the CIE values for each of
716
the patches in the chart, which is typically supplied with the
717
chart, available from the manufacturers web site, or has been
718
measured using a spectrometer.<br>
720
<div style="margin-left: 40px;">For an IT8.7/2 chart, this is the <span
721
style="font-weight: bold;">ref/</span><b>it8.cht</b> file
722
supplied with Argyll, and the manufacturer will will supply
723
an individual or batch average file along with the chart
724
containing this information, or downloadable from their web site.<br>
725
NOTE that the reference file for the IT8.7/2 chart supplied with <span
726
style="font-weight: bold;">Monaco EZcolor</span> can be
727
obtained by unzipping the .mrf file. (You may have to make a copy
728
of the file with a .zip extension to do this.)<br>
730
For the ColorChecker 24 patch chart, the <span
731
style="font-weight: bold;">ref/ColorChecker.cht</span> file
732
should be used, and there is also a <span style="font-weight:
733
bold;">ref/ColorChecker.cie</span> file provided that is based
734
on the manufacturers reference values for the chart. You can also
735
create your own reference file using an instrument and chartread,
736
making use of the chart reference file <span style="font-weight:
737
bold;">ref/ColorChecker.ti2</span>:<br>
738
<a href="chartread.html">chartread</a> -n -a
740
Note that due to the small number of patches, a profile created
741
from such a chart is not likely to be very detailed.<br>
743
For the ColorChecker DC chart, the <span style="font-weight:
744
bold;">ref/ColorCheckerDC.cht</span> file should be used, and
745
there will be a ColorCheckerDC reference file supplied by
746
X-Rite/GretagMacbeth with the chart.<br>
748
The ColorChecker SG is relatively expensive, but is preferred by
749
many people because (like the ColorChecker and ColorCheckerDC) its
750
colors are composed of multiple different pigments, giving it
751
reflective spectra that are more representative of the real world,
752
unlike many other charts that are created out of combination of 3
754
A limited CIE reference file is available from X-Rite <a
755
href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.txt">here</a>,
756
but it is not in the usual CGATS format. To convert it to a CIE
757
reference file useful for <span style="font-weight: bold;">scanin</span>,
758
you will need to edit the X-Rite file using a <span
759
style="text-decoration: underline;">plain text</span> editor,
760
first deleting everything before the line starting with "A1" and
761
everything after "N10", then prepending <a href="SG_header.txt">this
766
header</a>, and appending <a href="SG_footer.txt">this footer</a>,
767
making sure there are no blank lines inserted in the process.<br>
768
If you do happen to have access to a more comprehensive instrument
769
measurement of the ColorChecker SG, or you have measured it
770
yourself using a color instrument,<br>
771
then you <span style="text-decoration: underline;">may</span>
772
need to convert the reference information from spectral <span
773
style="font-weight: bold;">ColorCheckerSG.txt</span> file to CIE
774
value <span style="font-weight: bold;">ColorCheckerSG.cie</span>
775
reference file, follow the following steps:<br>
776
<a href="txt2ti3.html">txt2ti3</a>
777
ColorCheckerSG.txt ColorCheckerSG<br>
778
<a href="spec2cie.html">spec2cie</a>
779
ColorCheckerSG.ti3 ColorCheckerSG.cie<br>
781
For the Eye-One Pro Scan Target 1.4 chart, the <span
782
style="font-weight: bold;"><span style="font-weight: bold;">ref/</span>i1_RGB_Scan_1.4.cht</span>
783
file should be used, and as there is no reference file
784
accompanying this chart, the chart needs to be read with an
785
instrument (usually the Eye-One Pro). This can be done using
786
chartread, making use of the chart reference file <span
787
style="font-weight: bold;">ref/i1_RGB_Scan_1.4.ti2</span>:<br>
788
<a href="chartread.html">chartread</a> -n -a
790
and then rename the resulting <span style="font-weight: bold;">i1_RGB_Scan_1.4.ti3</span>
791
file to <span style="font-weight: bold;">i1_RGB_Scan_1.4.cie</span><br>
792
<span style="font-weight: bold;"></span><br>
793
For the HutchColor HCT chart, the <span style="font-weight:
794
bold;"><span style="font-weight: bold;">ref/</span>Hutchcolor.cht</span>
795
file should be used, and the reference <span style="font-weight:
796
bold;">.txt</span> file downloaded from the HutchColor website.<br>
798
For the Christophe Métairie's Digital TargeT 003 chart with
799
285 patches, the <span style="font-weight: bold;"><span
800
style="font-weight: bold;">ref/</span>CMP_DT_003.cht</span>
801
file should be used, and the cie reference <span
802
style="font-weight: bold;"></span>files come with the chart.<br>
804
For the Christophe Métairie's Digital Target-3 chart with
805
570 patches, the <span style="font-weight: bold;">ref/CMP_Digital_Target-3.cht</span>
806
file should be used, and the cie reference <span
807
style="font-weight: bold;"></span>files come with the chart.<br>
809
For the LaserSoft DCPro chart, the <span style="font-weight:
810
bold;">ref/LaserSoftDCPro.cht</span> file should be used, and
811
reference <span style="font-weight: bold;">.txt</span> file
812
downloaded from the <a
813
href="http://www.silverfast.com/it8calibration/">Silverfast
816
For the Datacolor SpyderCheckr, the <span style="font-weight:
817
bold;">ref/SpyderChecker.cht</span> file should be used, and a
818
reference <span style="font-weight: bold;">ref/SpyderChecker.cie
819
</span>file made from measuring a sample chart is also available.
820
Alternately you could create your own reference file by
822
href="http://spyder.datacolor.com/images/photo_checkr_colordatainfo.jpg">values</a>
823
on the Datacolor website. <br>
826
For any other type of chart, a chart recognition template file will
827
need to be created (this is beyond the scope of the current
828
documentation, although see the <a href="cht_format.html">.cht_format
833
documentation</a>).<br>
835
To create the scanner .ti3 file, run the <b>scanin</b> tool as
836
follows (assuming an IT8 chart is being used):<br>
838
<a href="scanin.html"> scanin</a> -v scanner.tif It8.cht It8ref.txt<br>
840
"It8ref.txt" or "It8ref.cie" is assumed to be the name of the CIE
841
reference file supplied by the chart manufacturer. The resulting
842
file will be named "<b>scanner.ti3</b>".<br>
844
<span style="font-weight: bold;">scanin</span> will process 16 bit
845
per component .tiff files, which (if the scanner is capable of
846
creating such files), may improve the quality of the profile.
849
If you have any doubts about the correctness of the chart
850
recognition, or the subsequent profile's delta E report is unusual,
851
then use the scanin diagnostic flags <a href="scanin.html#d">-dipn</a>
852
and examine the <span style="font-weight: bold;">diag.tif</span>
853
diagnostic file, to make sure that the patches are identified and
854
aligned correctly. If you have problems getting good automatic
855
alignment, then consider doing a manual alignment by locating the
856
fiducial marks on your scan, and feeding them into scanin <a
857
href="scanin.html#F">-F</a> parameters. The fiducial marks should
858
be listed in a clockwise direction starting at the top left.<br>
859
<h4><a name="PS4"></a>Creating a scanner or camera input profile</h4>
860
Similar to a display profile, an input profile can be either a
861
shaper/matrix or LUT based profile. Well behaved input devices will
862
probably give the best results with a shaper/matrix profile, and
863
this may also be the best choice if your test chart has a small or
864
unevenly distributed set of test patchs (ie. the IT8.7.2). If a
865
shaper/matrix profile is a poor fit, consider using a LUT type
868
When creating a LUT type profile, there is the choice of XYZ or
869
L*a*b* PCS (Device independent, Profile Connection Space). Often for
870
input devices, it is better to choose the XYZ PCS, as this may be a
871
better fit given that input devices are usually close to being
872
linearly additive in behaviour.<br>
874
If the purpose of the input profile is to use it as a substitute for
875
a colorimeter, then the <b>-u</b> flag should be used to avoid
876
clipping values above the white point. Unless the shaper/matrix type
877
profile is a very good fit, it is probably advisable to use a LUT
878
type profile in this situation.<br>
880
To create a matrix/shaper profile, the following suffices:<br>
882
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
883
<a href="colprof.html#E">-D"Scanner</a> <a href="colprof.html#E">A"</a>
884
<a href="colprof.html#q">-qm</a> <a href="colprof.html#a">-as</a> <a
885
href="colprof.html#p1">scanner</a><br>
887
For an XYZ PCS LUT based profile then the following would be used:<br>
889
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
890
<a href="colprof.html#E">-D"Scanner A"</a> <a href="colprof.html#q">-qm</a>
891
<a href="colprof.html#a">-ax</a> <a href="colprof.html#p1">scanner</a><br>
893
For the purposes of a poor mans colorimeter, the following would
894
generally be used:<br>
896
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
897
<a href="colprof.html#E">-D"Scanner A"</a> <a href="colprof.html#q">-qm</a>
898
<a href="colprof.html#a">-ax</a> <a href="colprof.html#u">-u</a> <a
899
href="colprof.html#p1">scanner</a><br>
901
Make sure you check the delta E report at the end of the profile
902
creation, to see if the profile is behaving reasonably.<br>
905
If profiling a <span style="font-weight: bold;">camera</span> in <span
906
style="font-weight: bold;">RAW</span> mode, then there may be some
907
advantage in creating a pure matrix only profile, in which it is
908
assumed that the camera response is completely linear. This may
909
reduce extrapolation artefacts. If setting the white point will be
910
done in some application, then it may also be an advantage to use
911
the <span style="font-weight: bold;">-u</span> flag and avoid
912
setting the white point to that of the profile chart:<br>
914
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
915
<a href="colprof.html#E">-D"Camera"</a> <a href="colprof.html#q">-qm</a>
916
<a href="colprof.html#a">-am</a> <a href="colprof.html#u">-u</a> <a
917
href="colprof.html#p1">scanner</a><br>
920
<hr size="2" width="100%">
921
<h3><a name="PP1"></a>Profiling Printers<br>
923
The overall process is to create a set of device measurement target
924
values, print them out, measure them, and then create an ICC profile
925
from the measurements. If the printer is an RGB based printer, then
926
the process is only slightly more complicated than profiling a
927
display. If the printer is CMYK based, then some additional
928
parameters are required to set the total ink limit (TAC) and
929
black generation curve.<br>
930
<h4><a name="PP2"></a>Creating a print profile test chart</h4>
931
The first step in profiling any output device, is to create a set of
932
device colorspace test values. The important parameters needed are:<br>
934
<li>What colorspace does the device use ?</li>
935
<li>How many test patches do I want to use/what paper size do I
937
<li>What instrument am I going to use to read the patches ?<br>
939
<li>If it is a CMYK device, what is the total ink limit ?<br>
941
<li>What information do I already have about how the device
944
Most printers running through simple drivers will appear as if they
945
are RGB devices. In fact there is no such thing as a real RGB
946
printer, since printers use white media and the colorant must
947
subtract from the light reflected on it to create color, but the
948
printer itself turns the incoming RGB into the native print
949
colorspace, so for this reason we will tell targen to use the "Print
950
RGB" colorspace, so that it knows that it's really a subtractive
951
media. Other drivers will drive a printer more directly, and will
952
expect a CMYK profile. [Currently Argyll is not capable of creating
953
an ICC profile for devices with more colorants than CMYK. When this
954
capability is introduced, it will by creating an additional
955
separation profile which then allows the printer to be treated as a
956
CMY or CMYK printer.] One way of telling what sort of profile is
957
expected for your device is to examine an existing profile for that
958
device using <a href="http://www.argyllcms.com/doc/iccdump.html">iccdump</a>.<br>
960
The number of test patches will depend somewhat on what quality
961
profile you want to make, how well behaved the printer is, as well
962
as the effort needed to read the number of test values. Generally it
963
is convenient to fill a certain paper size with the maximum number
964
of test values that will fit.<br>
966
At a minimum, for an "RGB" device, a few hundred values are needed
967
(400-1000). For high quality CMYK profiles, 1000-3000 is not an
968
unreasonable number of patches.<br>
970
To assist the determination of test patch values, it can help to
971
have a rough idea of how the device behaves, so that the device test
972
point locations can be pre-conditioned. This could be in the form of
973
an ICC profile of a similar device, or a lower quality, or previous
974
profile for that particular device. If one were going to make a very
975
high quality Lut based profile, then it might be worthwhile to make
976
up a smaller, preliminary shaper/matrix profile using a few hundred
977
test points, before embarking on testing the device with several
980
The documentation for the <a
981
href="http://www.argyllcms.com/doc/targen.html">targen</a> tool
982
lists a <a href="http://www.argyllcms.com/doc/targen.html#Table">table</a>
983
of paper sizes and number of patches for typical situations.<br>
985
For a CMYK device, a total ink limit usually needs to be specified.
986
Sometimes a device will have a maximum total ink limit set by its
987
manufacturer or operator, and some CMYK systems (such as chemical
988
proofing systems) don't have any limit. Typical printing devices
989
such as Xerographic printers, inkjet printers and printing presses
990
will have a limit. The exact procedure for determining an ink limit
991
is outside the scope of this document, but one way of going about
992
this might be to generate some small (say a few hundred patches)
993
with targen & pritntarg with different total ink limits, and
994
printing them out, making the ink limit as large as possible without
995
striking problems that are caused by too much ink.<br>
997
Generally one wants to use the maximum possible amount of ink to
998
maximize the gamut available on the device. For most CMYK devices,
999
an ink limit between 200 and 400 is usual, but and ink limit of 250%
1000
or over is generally desirable for reasonably dense blacks and dark
1001
saturated colors. And ink limit of less than 200% will begin to
1002
compromise the fully saturated gamut, as secondary colors (ie
1003
combinations of any two primary colorants) will not be able to reach
1006
Once an ink limit is used in printing the characterization test
1007
chart for a device, it becomes a critical parameter in knowing what
1008
the characterized gamut of the device is. If after printing the test
1009
chart, a greater ink limit were to be used, the the software would
1010
effectively be extrapolating the device behaviour at total ink
1011
levels beyond that used in the test chart, leading to inaccuracies.<br>
1013
Generally in Argyll, the ink limit is established when creating the
1014
test chart values, and then carried through the profile making
1015
process automatically. Once the profile has been made however, the
1016
ink limit is no longer recorded, and you, the user, will have to
1017
keep track of it if the ICC profile is used in any program than
1018
needs to know the usable gamut of the device.<br>
1021
Lets consider two devices in our examples, "PrinterA" which is an
1022
"RGB" device, and "PrinterB" which is CMYK, and has a target ink
1025
The simplest approach is to make a set of test values that is
1026
independent of the characteristics of the particular device:<br>
1028
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a>
1029
<a href="targen.html#d">-d2</a> <a href="targen.html#f">-f1053</a>
1030
<a href="targen.html#p1">PrinterA</a><br>
1032
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a>
1033
<a href="targen.html#d">-d4</a> <a href="targen.html#l">-l260</a>
1034
<a href="targen.html#f">-f1053</a> <a href="targen.html#p1">PrinterB</a><br>
1036
The number of patches chosen here happens to be right for an A4
1037
paper size being read using a Spectroscan instrument. See the <a
1038
href="targen.html#Table">table</a> in the <a
1039
href="targen.html">targen</a> documentation for some other
1040
suggested numbers.<br>
1042
If there is a preliminary or previous profile called "OldPrinterA"
1043
available, and we want to try creating a "pre-conditioned" set of
1044
test values that will more efficiently sample the device response,
1045
then the following would achieve this:<u><br>
1047
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a>
1048
<a href="targen.html#d">-d2</a> <a href="targen.html#f">-f1053</a>
1049
<a href="targen.html#c">-c OldPrinterA</a> <a
1050
href="targen.html#p1">PrinterA</a><br>
1052
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a>
1053
<a href="targen.html#d">-d4</a> <a href="targen.html#l">-l260</a>
1054
<a href="targen.html#f">-f1053</a> <a href="targen.html#c">-c
1055
OldPrinterB</a> <a href="targen.html#p1">PrinterB</a><br>
1056
<a href="targen.html#p1"></a><br>
1058
The output of <b>targen</b> will be the file PrinterA.ti1 and
1059
PrinterB.ti1 respectively, containing the device space test values,
1060
as well as expected CIE values used for chart recognition purposes.<br>
1062
<h4><a name="PP2b"></a>Printing a print profile test chart<br>
1065
The next step is turn the test values in to a PostScript or TIFF
1066
raster test file that can printed on the device. The basic
1067
information that needs to be supplied is the type of instrument that
1068
will be used to read the patches, as well as the paper size it is to
1069
be formatted for.<br>
1071
For an X-Rite DTP41, the following would be typical:<br>
1073
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
1074
<a href="printtarg.html#i">-i41</a> <a href="printtarg.html#p">-pA4</a>
1075
<a href="printtarg.html#p1">PrinterA</a><br>
1077
For a Gretag Eye-One Pro, the following would be typical:<br>
1079
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
1080
<a href="printtarg.html#i">-ii1</a> <a href="printtarg.html#p">-pA4</a>
1081
<a href="printtarg.html#p1">PrinterA</a><br>
1083
For using with a scanner as a colorimeter, the Gretag Spectroscan
1084
layout is suitable, but the <a href="printtarg.html#s">-s</a> flag
1085
should be used so as to generate a layout suitable for scan
1086
recognition, as well as generating the scan recognition template
1087
files. (You probably want to use less patches with <span
1088
style="font-weight: bold;">targen</span>, when using the <span
1089
style="font-weight: bold;">printtarg -s</span> flag, e.g. 1026
1090
patches for an A4R page, etc.) The following would be typical:<br>
1092
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
1093
<a href="printtarg.html#s">-s</a> <a href="printtarg.html#i">-iSS</a>
1094
<a href="printtarg.html#p">-pA4R</a> <a href="printtarg.html#p1">PrinterA</a><br>
1095
<span style="font-weight: bold;"><br>
1096
printtarg</span> reads the PrinterA.ti1 file, creates a
1097
PrinterA.ti2 file containing the layout information as well as the
1098
device values and expected CIE values, as well as a PrinterA.ps file
1099
containing the test chart. If the <span style="font-weight: bold;">-s</span>
1100
flag is used, one or more PrinterA.cht files is created to allow the
1101
<a href="scanin.html">scanin</a> program to recognize the chart.<br>
1103
To create TIFF raster files rather than PostScript, use the <a
1104
href="printtarg.html#t"><span style="font-weight: bold;">-t</span></a>
1107
<span style="font-weight: bold;">GSview</span> is a good program to
1108
use to check what the PostScript file will look like, without
1109
actually printing it out. You could also use <span
1110
style="font-weight: bold;">Photoshop</span> or <span
1111
style="font-weight: bold;">ImageMagick</span> for this purpose.<br>
1113
The last step is to print the chart out.<br>
1115
Using a suitable PostScript or raster file printing program,
1116
downloader, print the chart. If you are not using a TIFF test chart,
1117
and you do not have a PostScript capable printer, then an
1118
interpreter like GhostScript or even Photoshop could be used to
1119
rasterize the file into something that can be printed. Note that it
1120
is important that the PostScript interpreter or TIFF printing
1121
application and printer configuration is setup for a device
1122
profiling run, and that any sort of color conversion of color
1123
correction be turned off so that the device values in the PostScript
1124
or TIFF file are sent directly to the device. If the device has a
1125
calibration system, then it would be usual to have setup and
1126
calibrated the device before starting the profiling run, and to
1127
apply calibration to the chart values. If Photoshop was to be used,
1128
then either the chart needs to be a single page, or separate .eps or
1129
.tiff files for each page should be used, so that they can be
1130
converted and printed one at a time (see the <a
1131
href="printtarg.html#e">-e</a> and <a href="printtarg.html#t">-t</a>
1134
<h4><a name="PP3"></a>Reading a print test chart using an instrument</h4>
1135
Once the test chart has been printed, the color of the patches needs
1136
to be read using a suitable instrument.<br>
1138
Several different instruments are currently supported, some that
1139
need to be used patch by patch, some read a strip at a time, and
1140
some read a sheet at a time. See <a href="instruments.html">instruments</a>
1141
for a current list.<br>
1143
The instrument needs to be connected to your computer before running
1144
the <a href="chartread.html">chartread</a> command. Both serial
1145
port and USB connected Instruments are supported. A serial port to
1146
USB adapter might have to be used if your computer doesn't have any
1147
serial ports, and you have a serial interface connected instrument.<br>
1149
If you run <a href="chartread.html">chartread</a> so as to print
1150
out its usage message (ie. by using a <span style="font-weight:
1151
bold;">-?</span> or <span style="font-weight: bold;">--</span>
1152
flags), then it will list any identified serial ports or USB
1153
connected instruments, and their corresponding number for the <a
1154
href="chartread.html#c">-c</a> option. By default, <a
1155
href="chartread.html">chartread</a> will try to connect to the
1156
first available USB instrument, or an instrument on the first serial
1159
The only arguments required is to specify the basename of the .ti2
1160
file. If a non-default serial port is to be used, then the <span
1161
style="font-weight: bold;">-c</span> option would also be
1164
e.g. for a Spectroscan on the second port:<br>
1166
<a href="chartread.html">chartread</a> <a href="chartread.html#c">-c2</a>
1167
<a href="chartread.html#p1">PrinterA</a><br>
1169
For a DTP41 to the default serial port:<br>
1171
<a href="chartread.html">chartread</a><a href="chartread.html#i"></a>
1172
<a href="chartread.html#p1">PrinterA</a><br>
1174
<span style="font-weight: bold;">chartread</span> will interactively
1175
prompt you through the process of reading each sheet or strip. See <a
1176
href="chartread.html">chartread</a> for more details on the
1177
responses for each type of instrument. Continue with <a
1178
href="Scenarios.html#PP5">Creating a printer profile</a>.<br>
1180
<h4><a name="PP4"></a>Reading a print test chart using a scanner or
1184
Argyll supports using a scanner or even a camera as a substitute for
1185
a colorimeter. While a scanner or camera is no replacement for a
1186
color measurement instrument, it may give acceptable results in some
1187
situations, and may give better results than a generic profile for a
1188
printing device.<br>
1190
The main limitation of the scanner-as-colorimeter approach are:<br>
1192
* The scanner dynamic range and/or precision may not match the
1193
printers or what is required for a good profile.<br>
1194
* The spectral interaction of the scanner test chart and printer
1195
test chart with the scanner spectral response can cause color
1197
* Spectral differences caused by different black amounts in the
1198
print test chart can cause color errors. <br>
1199
* The scanner reference chart gamut may be much smaller than the
1200
printers gamut, making the scanner profile too inaccurate to be
1203
As well as some of the above, a camera may not be suitable if it
1204
automatically adjusts exposure or white point when taking a picture,
1205
and this behavior cannot be disabled.<br>
1207
The end result is often a profile that has a noticeable color cast,
1208
compared to a profile created using a colorimeter or spectrometer.<br>
1211
It is assumed that you have created a scanner or camera profile
1213
href="http://www.argyllcms.com/doc/Scenarios.html#PS1">procedure</a>
1214
outline above. For best possible results it is advisable to both
1215
profile the scanner or camera, and use it in scanning the printed
1216
test chart, in as "raw" mode as possible (i.e. using 16 bits per
1217
component images, if the scanner or camera is capable of doing so;
1218
not setting white or black points, using a fixed exposure etc.). It
1219
is generally advisable to create a LUT type input profile, and use
1220
the <a href="http://www.argyllcms.com/doc/colprof.html#u">-u</a>
1221
flag to avoid clipping scanned value whiter than the input
1222
calibration chart.<br>
1224
Scan or photograph your printer chart (or charts) on the scanner or
1225
camera previously profiled. <big><span style="font-weight: bold;">The
1231
scanner or camera must be configured and used exactly the same
1232
as it was when it was profiled.</span></big><br>
1234
I will assume the resulting scan/photo input file is called <span
1235
style="font-weight: bold;">PrinterB.tif</span> (or <span
1236
style="font-weight: bold;">PrinterB1.tif</span>, <span
1237
style="font-weight: bold;">PrinterB2.tif</span> etc. in the case
1238
of multiple charts). As with profiling the scanner or camera, the
1239
raster file need only be roughly cropped so as to contain the test
1242
The scanner recognition files created when <span
1243
style="font-weight: bold;">printtarg</span> was run is assumed to
1244
be called <span style="font-weight: bold;">PrinterB.cht</span>.
1245
Using the scanner profile created previously (assumed to be called <span
1246
style="font-weight: bold;">scanner.icm</span>), the printer test
1247
chart scan patches are converted to CIE values using the <span
1248
style="font-weight: bold;">scanin</span> tool:<br>
1250
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1251
href="scanin.html#c">-c</a> <a href="scanin.html#cp1">PrinterB.tif</a>
1252
<a href="scanin.html#cp2">PrinterB.cht</a> <a
1253
href="scanin.html#cp3">scanner.icm</a> <a href="scanin.html#cp4">PrinterB</a><br>
1255
If there were multiple test chart pages, the results would be
1256
accumulated page by page using the <a href="scanin.html#ca">-ca</a>
1257
option, ie., if there were 3 pages:<br>
1259
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1260
href="scanin.html#c">-c</a> <a href="scanin.html#cp1">PrinterB1.tif</a>
1261
<a href="scanin.html#cp2">PrinterB1.cht</a> <a
1262
href="scanin.html#cp3">scanner.icm</a> <a href="scanin.html#cp4">PrinterB</a><br>
1263
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1264
href="scanin.html#ca">-ca</a> <a href="scanin.html#cp1">PrinterB2.tif</a>
1265
<a href="scanin.html#cp2">PrinterB2.cht</a> <a
1266
href="scanin.html#cp3">scanner.icm</a> <a href="scanin.html#cp4">PrinterB</a><br>
1267
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1268
href="scanin.html#ca">-ca</a> <a href="scanin.html#cp1">PrinterB3.tif</a>
1269
<a href="scanin.html#cp2">PrinterB3.cht</a> <a
1270
href="scanin.html#cp3">scanner.icm</a> <a href="scanin.html#cp4">PrinterB</a><br>
1272
Now that the <span style="font-weight: bold;">PrinterB.ti3</span>
1273
data has been obtained, the profile continue in the next section
1274
with <span style="font-weight: bold;">Creating a printer profile</span>.<br>
1276
If you have any doubts about the correctness of the chart
1277
recognition, or the subsequent profile's delta E report is unusual,
1278
then use the scanin diagnostic flags <a href="scanin.html#d">-dipn</a>
1279
and examine the <span style="font-weight: bold;">diag.tif</span>
1280
diagnostic file.<br>
1281
<h4><a name="PP5"></a>Creating a printer profile<br>
1283
Creating an RGB based printing profile is very similar to creating a
1284
display device profile. For a CMYK printer, some additional
1285
information is needed to set the black generation.<br>
1287
Where the resulting profile will be used conventionally (ie. using <a
1288
href="collink.html">collink</a> <a href="collink.html#s">-s</a>,
1289
or <a href="cctiff.html">cctiff</a> or most other "dumb" CMMs) it
1290
is important to specify that gamut mapping should be computed for
1291
the output (B2A) perceptual and saturation tables. This is done by
1292
specifying a device profile as the parameter to the <a
1293
href="colprof.html">colprof</a> <a href="colprof.html#S">-S</a>
1294
flag. When you intend to create a "general use" profile, it can be a
1295
good technique to specify the source gamut as the opposite type of
1296
profile to that being created, i.e. if a printer profile is being
1297
created, specify a display profile (e.g. sRGB) as the source gamut.
1298
If a display profile is being created, then specify a printer
1299
profile as the source (e.g. Figra, SWOP etc.). When linking to
1300
the profile you have created this way as the output profile, then
1301
use perceptual intent if the source is the opposite type, and
1302
relative colorimetric if it is the same type.<br>
1304
"Opposite type of profile" refers to the native gamut of the device,
1305
and what its fundamental nature is, additive or subtractive. An
1306
emissive display will have additive primaries (R, G & B), while
1307
a reflective print, will have subtractive primaries (C, M, Y &
1308
possibly others), irrespective of what colorspace the printer is
1309
driven in (a printer might present an RGB interface, but internally
1310
this will be converted to CMY, and it will have a CMY type of
1311
gamut). Because of the complimentary nature of additive and
1312
subtractive device primary colorants, these types of devices have
1313
the most different gamuts, and hence need the most gamut mapping to
1314
convert from one colorspace to the other.<br>
1316
If you are creating a profile for a specific purpose, intending to
1317
link it to a specific input profile, then you will get the best
1318
results by specifying that source profile as the source gamut.<br>
1320
If a profile is only going to be used as an input profile, or is
1321
going to be used with a "smart" CMM (e.g. <a href="collink.html">collink</a>
1322
<a href="collink.html#g">-g</a> or <a href="collink.html#G">-G</a>),
360
converted to a vcgt tag in the profile, so that the
361
operating system or other system color tools load the lookup curves
362
into the display hardware, when the profile is used.<br>
363
<h4><a name="PM5"></a>Installing a display profile</h4>
364
<a href="dispwin.html">dispwin</a> provides a convenient way of
365
installing a profile as the default system profile for the chosen
368
<a href="dispwin.html">dispwin</a> <a href="dispwin.html#I">-I</a> <a
369
href="dispwin.html#p1">DisplayA.icm</a><br>
371
This also sets the display to the calibration contained in the profile.
372
If you want to try out a calibration before installing the profile,
373
using dispwin without the <span style="font-weight: bold;">-I</span>
374
option will load a calibration (ICC profile or .cal file) into the
377
Some systems will automatically set the display to the calibration
378
contained in the installed profile (ie. OS X), while on other systems
379
(ie. MSWindows and Linux/X11) it is necessary to use some tool to do
380
this. On MSWindows XP you could install the optional <span
381
style="font-weight: bold;">Microsoft Color Control Panel Applet for Windows XP</span>
384
Microsoft to do this, but <span style="font-weight: bold;">NOTE</span>
385
however that it seems to
386
have a <span style="font-weight: bold;">bug</span>, in that it
387
sometimes associates the profiles with the <span
388
style="font-weight: bold;">wrong monitor</span> entry. Other display
389
calibration tools will often install a similar tool, so beware
390
of there being multiple, competing programs. [ Commonly these will be
391
in your Start->Programs->Startup folder. ]<br>
392
On Microsoft Vista, you need to use dispwin -L or some other tool to
393
load the installed profiles calibration at startup.<br>
395
To use dispwin to load the installed profiles calibration to the
398
<a href="dispwin.html">dispwin</a> <a href="dispwin.html#L">-L</a><br>
400
As per usual, you can select the appropriate display using the <a
401
href="dispwin.html#d">-d</a> flag.<br>
403
This can be automated on MSWindows and X11/Linux by adding this command
404
to an appropriate startup script.<br>
405
More system specific details, including how to create such startup
406
scripts are <a href="dispprofloc.html">here</a>. <br>
408
If you are using Microsoft <span style="font-weight: bold;">Vista</span>,
413
<span style="font-weight: bold;">bug</span> in Vista
414
that resets the calibration every time a
415
fade-in effect is executed, which happens if you lock and unlock the
416
computer, resume from sleep or hibernate, or User Access Control is
417
activated. Using <a href="dispwin.html">dispwin</a> <a
418
href="dispwin.html#L">-L</a> may not restore the calibration, because
419
Vista filters out setting (what it thinks) is a calibration that is
420
already loaded. Use <a href="dispwin.html">dispwin</a> <a
421
href="dispwin.html#c">-c</a> <a href="dispwin.html#L">-L</a><span
422
style="font-family: monospace;"></span> as a workaround, as this will
423
first clear the calibration, then re-load the current calibration.<br>
425
On X11/Linux systems, you could try adding <a href="dispwin.html">dispwin</a>
426
<a href="dispwin.html#L">-L</a> to your <span
427
style="font-weight: bold;">~/.config/autostart</span> file, so that
428
your window manager automatically sets calibration when it starts. If
429
you are running XRandR 1.2, you might
430
consider running the experimental <a href="dispwin.html#D">dispwin -E</a>
431
in the background, as in its "daemon" mode it will
432
update the profile and calibration in response to any changes in the
433
the connected display.<br>
435
<h4><a name="PM6"></a>Expert tips when measuring displays:<br>
437
Sometimes it can be difficult to get good quality, consistent and
438
visually relevant readings from displays, due to various practical
439
considerations with regard to instruments and the displays themselves.
440
Argyll's tools have some extra options that may assist in overcoming
443
If you are using an Eye-One Pro or ColorMunki spectrometer, then you
444
may wish to use the <a href="dispcal.html#H">high resolution spectral
445
mode</a> (<span style="font-weight: bold;">-H</span>). This may be
446
better at capturing the often narrow wavelength peaks that are typical
447
of display primary colors.<br>
449
Another option that can be used with the Eye-One Pro or ColorMunki
450
spectrometer is the <a href="dispcal.html#V">adaptive measurement mode</a>
451
(<span style="font-weight: bold;">-V</span>). By default a fixed
452
measurement integration time is used, as this will give the most
453
consistent results, but for displays with high contrast ratio's and
454
deep blacks, the integration time may be too short to give adequate
455
precision. The adaptive measurement mode increases integration time
456
when measuring dark colors (which will increase the overall calibration
457
or profiling time), and is capable of achieving higher precision for
458
these dark measurements.<br>
460
All instruments depend on silicon sensors, and such sensors generate a
461
temperature dependant level of noise ("dark noise") that is factored
462
out of the measurements by a dark or black instrument calibration. The
463
spectrometers in particular need this calibration before commencing
464
each set of measurements. Often an instrument will warm up as it sits
465
on a display, and this warming up can cause the dark noise to increase,
466
leading to inaccuracies in dark patch measurements. The longer the
467
measurement takes, the worse this problem is likely to be. One way of
468
addressing this is to "acclimatise" the instrument before commencing
469
measurements by placing it on the screen in a powered up state, and
470
leaving it for some time. (Some people leave it for up to an hour to
471
acclimatise.). Another approach is to try and <a href="dispcal.html#I">compensate
475
changes</a> (<span style="font-weight: bold;">-Ib</span>)
477
doing on the fly calibrations during the measurements, based on the
478
assumption that the black level of the display itself won't change
481
Some displays take a long time to settle down and stabilise. The is
482
often the case with LCD (Liquid Crystal) displays that use fluorescent
483
back lights, and these sorts of displays can change in brightness
484
significantly with changes in temperature. One way of addressing this
485
is to make sure that the display is given adequate time to warm up
486
before measurements. Another approach is to try and <a
487
href="dispcal.html#I">compensate for display white level</a>
488
(<span style="font-weight: bold;">-Iw</span>) changes by doing on the
489
fly calibrations during the measurements. Instrument black level drift
490
and display white level drift can be combined (<span
491
style="font-weight: bold;">-Ibw</span>).<br>
493
Colorimeter instruments make use of physical color filters that
494
approximate the standard observer spectral sensitivity curves. Because
495
these filters are not perfectly accurate, the manufacturer calibrates
496
the instrument for typical displays, which is why you have to make a
497
selection between CRT (Cathode Ray Tube) and LCD (Liquid Crystal
498
Display) modes. If you are measuring a display that has primary
499
colorants that differ significantly from those typical displays,
500
(ie. you have a Wide Gamut Display), then you may get disappointing
501
results with a Colorimeter. One way of addressing this problem is to
502
use a <a href="File_Formats.html#.ccmx">Colorimeter Correction Matrix</a>.
507
a particular Colorimeter and Display make and
508
model combination, although a matrix for a different but similar type
509
of display may give better results than none at all. A list of
510
contributed <span style="font-weight: bold;">ccmx</span> files is <a
511
href="ccmxs.html">here</a>.<br>
512
<span style="font-weight: bold;"></span><br>
513
<hr size="2" width="100%">
514
<h3><a name="PS1"></a>Profiling Scanners and other input devices such
517
Because a scanner or camera is an input device, it is necessary to go
519
profiling it in quite a different way to an output device. To profile
520
it, a test chart is needed to exercise the input device response, to
522
the CIE values for each test patch is known. Generally standard
523
reflection or transparency test charts are used for this purpose.<br>
524
<h4><a name="PS2"></a>Types of test charts</h4>
525
The most common and popular test chart for scanner profiling is the
526
IT8.7/2 chart. This is a standard format chart generally reproduced on
527
photographic film, containing about 264 test patches.<br>
529
affordable source of such targets is Wolf Faust a <a
530
href="http://www.targets.coloraid.de/">www.coloraid.de</a>.<br>
531
Another source is LaserSoft <a
532
href="http://www.silverfast.com/show/it8/en.html">www.silverfast.com.</a><br>
534
Color Input Target is also a typical example:<br>
536
<img src="Q60.jpg" alt="Kodak Q60 chart image" height="141" width="200">
539
A very simple chart that is widely available is the Macbeth
540
ColorChecker chart, although it contains only 24 patches and therefore
541
is probably not ideal for creating profiles:<br>
542
<img alt="ColorChecker 24 patch" src="colorchecker.jpg"
543
style="width: 112px; height: 78px;"><br>
545
Other popular charts are the X-Rite/GretagMacbeth ColorChecker DC and
546
<a href="http://www.xrite.com/product_overview.aspx?ID=938">ColorChecker
549
<img src="DC.jpg" alt="GretagMacbeth ColorChecker DC chart" height="122"
550
width="200"> <img alt="ColorChecker SG" src="SG.jpg"
551
style="width: 174px; height: 122px;"><br>
553
The GretagMacbeth Eye-One Pro Scan Target 1.4 can also be used:<br>
555
<img alt="Eye-One Scan Target 1.4" src="i1scan14.jpg"
556
style="border: 2px solid ; width: 200px; height: 140px;"><br>
558
Also supported is the <a href="http://www.hutchcolor.com/hct.htm">HutchColor
561
<img alt="HutchColor HCT" src="HCT.jpg"
562
style="width: 182px; height: 140px;"><br>
566
href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.html">Christophe
571
href="http://www.christophe-metairie-photographie.com/eng%20digital%20target.html">Christophe
578
<img alt="CMP_DT_003" src="CMP_DT_003.jpg"
579
style="width: 186px; height: 141px;"> <img
580
style="width: 203px; height: 140px;" alt="CMP_Digital_Target-3"
581
src="CMP_Digital_Target-3.jpg"><br>
583
and the <a href="http://www.silverfast.com/show/dc-targets/en.html">LaserSoft
588
<img style="width: 153px; height: 122px;" alt="LaserSoft DCPro Target"
591
<h4><a name="PS3"></a>Taking readings from a scanner or camera<br>
593
The test chart you are using needs to be placed on the scanner, and the
594
scanner needs to be configured to a suitable state, and restored to
596
same state when used subsequently with the resulting profile. For a
597
camera, the chart needs to be lit in a controlled and even manner using
598
the light source that will be used for subsequent photographs, and
599
should be shot so as to minimise any geometric distortion, although the
600
<a href="scanin.html#p">scanin -p</a> flag may be used to compensate
601
for some degree of distortion. As with any color profiling task, it is
602
important to setup a known and repeatable image processing flow, to
603
ensure that the resulting profile will be usable.<br>
607
be captured and saved to a TIFF format file. I will assume the
609
file is called scanner.tif. The raster file need only be roughly
610
cropped so as to contain the test chart (including the charts edges).<br>
612
The second step is to extract the RGB values from the scanner.tif file,
613
and match then to the reference CIE values.
614
To locate the patch values in the scan, the <b>scanin</b> tool
616
be given a template <a href="File_Formats.html#.cht">.cht</a> file
617
that describes the features of the chart, and
619
the test patches are labeled. Also needed is a file containing the CIE
620
values for each of the patches in the chart, which is typically
621
supplied with the chart, available from the manufacturers web site, or
622
has been measured using a spectrometer.<br>
624
<div style="margin-left: 40px;">For an IT8.7/2 chart, this is the <span
625
style="font-weight: bold;">ref/</span><b>it8.cht</b>
626
file supplied with Argyll, and the manufacturer will will supply
628
individual or batch average file along with the chart containing
630
information, or downloadable from their web site.<br>
631
NOTE that the reference file for the IT8.7/2 chart supplied with <span
632
style="font-weight: bold;">Monaco EZcolor</span> can be obtained
633
by unzipping the .mrf file. (You may have to make a copy of the file
634
with a .zip extension to do this.)<br>
636
For the ColorChecker 24 patch chart, the
637
<span style="font-weight: bold;">ref/ColorChecker.cht</span> file
638
should be used, and there is also a <span style="font-weight: bold;">ref/ColorChecker.cie</span>
639
file provided that is based on the manufacturers reference values for
640
the chart. You can also create your own reference file using an
641
instrument and chartread, making use of the chart reference file <span
642
style="font-weight: bold;">ref/ColorChecker.ti2</span>:<br>
643
<a href="chartread.html">chartread</a> -n -a
645
Note that due to the small number of patches, a profile created from
646
such a chart is not likely to be very detailed.<br>
648
For the ColorChecker DC chart, the
649
<span style="font-weight: bold;">ref/ColorCheckerDC.cht</span> file
650
should be used, and there will be a ColorCheckerDC reference
651
file supplied by X-Rite/GretagMacbeth with the chart.<br>
653
The ColorChecker SG is relatively expensive, but is preferred by many
654
people because (like the ColorChecker and ColorCheckerDC) its colors
655
are composed of multiple different pigments,
656
giving it reflective spectra that are more representative of the real
657
world, unlike many other charts that are created out of combination of
658
3 or 4 colorants.<br>
659
A limited CIE reference file is available from X-Rite <a
660
href="http://www.xrite.com/documents/apps/public/digital_colorchecker_sg_l_a_b.txt">here</a>,
665
in the usual CGATS format. To convert it to a CIE
666
reference file useful for <span style="font-weight: bold;">scanin</span>,
671
edit the X-Rite file using a <span style="text-decoration: underline;">plain
672
text</span> editor, first
673
deleting everything before the line starting with "A1" and everything
674
after "N10", then prepending <a href="SG_header.txt">this header</a>,
675
and appending <a href="SG_footer.txt">this footer</a>, making sure
676
there are no blank lines inserted in the process.<br>
677
If you do happen to have access to a more comprehensive instrument
678
measurement of the ColorChecker SG, or you have measured it yourself
679
using a color instrument,<br>
680
then you <span style="text-decoration: underline;">may</span> need to
681
convert the reference information from spectral <span
682
style="font-weight: bold;">ColorCheckerSG.txt</span> file to CIE value
683
<span style="font-weight: bold;">ColorCheckerSG.cie</span>
685
follow the following steps:<br>
686
<a href="txt2ti3.html">txt2ti3</a>
687
ColorCheckerSG.txt ColorCheckerSG<br>
688
<a href="spec2cie.html">spec2cie</a>
689
ColorCheckerSG.ti3 ColorCheckerSG.cie<br>
691
For the Eye-One Pro Scan Target 1.4 chart, the <span
692
style="font-weight: bold;"><span style="font-weight: bold;">ref/</span>i1_RGB_Scan_1.4.cht</span>
693
file should be used, and as there is no reference file accompanying
694
this chart, the chart needs to be read with an instrument (usually the
695
Eye-One Pro). This can be done using chartread, making use of the
696
chart reference file <span style="font-weight: bold;">ref/i1_RGB_Scan_1.4.ti2</span>:<br>
697
<a href="chartread.html">chartread</a> -n -a
699
and then rename the resulting <span style="font-weight: bold;">i1_RGB_Scan_1.4.ti3</span>
700
file to <span style="font-weight: bold;">i1_RGB_Scan_1.4.cie</span><br>
701
<span style="font-weight: bold;"></span><br>
702
For the HutchColor HCT chart, the <span style="font-weight: bold;"><span
703
style="font-weight: bold;">ref/</span>Hutchcolor.cht</span> file
704
should be used, and the reference <span style="font-weight: bold;">.txt</span>
705
file downloaded from the HutchColor website.<br>
707
For the Christophe Métairie's Digital TargeT 003 chart with 285
708
patches, the <span style="font-weight: bold;"><span
709
style="font-weight: bold;">ref/</span>CMP_DT_003.cht</span>
711
should be used, and the cie reference <span style="font-weight: bold;"></span>files
717
For the Christophe Métairie's Digital Target-3 chart with 570
718
patches, the <span style="font-weight: bold;">ref/CMP_Digital_Target-3.cht</span>
720
should be used, and the cie reference <span style="font-weight: bold;"></span>files
726
For the LaserSoft DCPro chart, the <span style="font-weight: bold;">ref/LaserSoftDCPro.cht</span>
727
file should be used, and reference <span style="font-weight: bold;">.txt</span>
728
file downloaded from the <a
729
href="http://www.silverfast.com/it8calibration/">Silverfast website</a>.
732
For any other type of chart, a
733
chart recognition template file will need to be created (this is beyond
734
the scope of the current documentation, although see the <a
735
href="cht_format.html">.cht_format documentation</a>).<br>
737
To create the scanner .ti3 file, run the <b>scanin</b> tool as
739
(assuming an IT8 chart is being used):<br>
741
<a href="scanin.html"> scanin</a> -v scanner.tif It8.cht It8ref.txt<br>
743
"It8ref.txt" or "It8ref.cie" is assumed to be the name of the CIE
745
supplied by the chart manufacturer. The resulting file will be named "<b>scanner.ti3</b>".<br>
747
<span style="font-weight: bold;">scanin</span> will process 16 bit per
748
component .tiff files, which (if the scanner is capable of creating
749
such files), may improve the quality of the profile. <br>
751
If you have any doubts about the correctness of the chart recognition,
752
or the subsequent profile's delta E report is unusual, then use the
753
scanin diagnostic flags <a href="scanin.html#d">-dipn</a> and examine
754
the <span style="font-weight: bold;">diag.tif</span> diagnostic file,
755
to make sure that the patches are identified and aligned correctly. If
756
you have problems getting good automatic alignment, then consider doing
757
a manual alignment by locating the fiducial marks on your scan, and
758
feeding them into scanin <a href="scanin.html#F">-F</a> parameters.
759
The fiducial marks should be listed in a clockwise direction starting
761
<h4><a name="PS4"></a>Creating a scanner or camera input profile</h4>
762
Similar to a display profile, an input profile can be either a
763
shaper/matrix or LUT based profile. Well behaved input devices will
764
probably give the best results
765
with a shaper/matrix profile, and this may also be the best choice if
766
your test chart has a small or unevenly distributed set of test patchs
767
(ie. the IT8.7.2). If a shaper/matrix profile is a poor fit, consider
772
When creating a LUT type profile, there is the choice of XYZ or L*a*b*
773
PCS (Device independent, Profile Connection Space). Often for input
774
devices, it is better to choose the XYZ PCS, as this may be a better
775
fit given that input devices are usually close to being linearly
776
additive in behaviour.<br>
778
If the purpose of the input profile is to use it as a substitute for
780
colorimeter, then the <b>-u</b> flag should be used to avoid clipping
781
values above the white point. Unless the shaper/matrix type profile is
782
a very good fit, it is probably advisable to use a LUT type profile in
785
To create a matrix/shaper profile, the following suffices:<br>
787
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
788
href="colprof.html#E">-D"Scanner</a> <a href="colprof.html#E">A"</a> <a
789
href="colprof.html#q">-qm</a> <a href="colprof.html#a">-as</a>
790
<a href="colprof.html#p1">scanner</a><br>
792
For an XYZ PCS LUT based profile then the following would be used:<br>
794
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
795
href="colprof.html#E">-D"Scanner A"</a>
796
<a href="colprof.html#q">-qm</a>
797
<a href="colprof.html#a">-ax</a> <a href="colprof.html#p1">scanner</a><br>
799
For the purposes of a poor mans colorimeter, the following would
800
generally be used:<br>
802
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
803
href="colprof.html#E">-D"Scanner A"</a>
804
<a href="colprof.html#q">-qm</a> <a href="colprof.html#a">-ax</a>
805
<a href="colprof.html#u">-u</a>
806
<a href="colprof.html#p1">scanner</a><br>
808
Make sure you check the delta E report at the end of the profile
809
creation, to see if the profile is behaving reasonably.<br>
812
If profiling a <span style="font-weight: bold;">camera</span> in <span
813
style="font-weight: bold;">RAW</span> mode, then there may be some
814
advantage in creating a pure matrix only profile, in which it is
815
assumed that the camera response is completely linear. This may reduce
816
extrapolation artefacts. If setting the white point will be done in
817
some application, then it may also be an advantage to use the <span
818
style="font-weight: bold;">-u</span> flag and avoid setting the white
819
point to that of the profile chart:<br>
821
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
822
href="colprof.html#E">-D"Camera"</a>
823
<a href="colprof.html#q">-qm</a> <a href="colprof.html#a">-am</a>
824
<a href="colprof.html#u">-u</a>
825
<a href="colprof.html#p1">scanner</a><br>
828
<hr size="2" width="100%">
829
<h3><a name="PP1"></a>Profiling Printers<br>
831
The overall process is to create a set of device measurement target
832
values, print them out, measure them, and then create an ICC profile
833
from the measurements. If the printer is an RGB based printer, then the
834
process is only slightly more complicated than profiling a display. If
835
the printer is CMYK based, then some additional parameters are required
836
to set the total ink limit (TAC) and black generation curve.<br>
837
<h4><a name="PP2"></a>Creating a print profile test chart</h4>
838
The first step in profiling any output device, is to create a set
839
of device colorspace test values. The important parameters needed are:<br>
841
<li>What colorspace does the device use ?</li>
842
<li>How many test patches do I want to use/what paper size do I want
844
<li>What instrument am I going to use to read the patches ?<br>
846
<li>If it is a CMYK device, what is the total ink limit ?<br>
848
<li>What information do I already have about how the device behaves ?</li>
850
Most printers running through simple drivers will appear as if they are
851
RGB devices. In fact there is no such
852
thing as a real RGB printer, since printers use white media and the
853
colorant must subtract from the light reflected on it to create color,
854
but the printer itself turns the incoming RGB into the native print
855
colorspace, so for this reason we will tell targen to use the
856
"Print RGB" colorspace, so that it knows that it's really a subtractive
857
media. Other drivers will drive a printer more directly, and will
858
expect a CMYK profile. [Currently Argyll is not capable of creating an
859
ICC profile for devices with more colorants than CMYK. When this
860
capability is introduced, it will by creating an additional separation
861
profile which then allows the printer to be treated as a CMY or CMYK
862
printer.] One way of telling what sort
863
of profile is expected for your device is to examine an existing
865
that device using <a href="http://www.argyllcms.com/doc/iccdump.html">iccdump</a>.<br>
867
The number of test patches will depend somewhat on what quality profile
868
you want to make, how well behaved the printer is, as well as the
869
effort needed to read the number of
870
test values. Generally it is convenient to fill a certain paper size
872
number of test values that will fit.<br>
874
At a minimum, for an "RGB" device, a few hundred values are needed
876
For high quality CMYK profiles, 1000-3000 is not an unreasonable number
880
To assist the determination of test patch values, it can help to have a
881
rough idea of how the device behaves, so that the device test point
882
locations can be pre-conditioned. This could be in the form of an
883
ICC profile of a similar device, or a lower quality, or previous
884
profile for that particular device. If one were going to make a very
885
high quality Lut based profile, then it might be worthwhile to make up
886
a smaller, preliminary shaper/matrix profile using a few hundred test
887
points, before embarking on testing the device with several thousand.<br>
889
The documentation for the <a
890
href="http://www.argyllcms.com/doc/targen.html">targen</a> tool
893
<a href="http://www.argyllcms.com/doc/targen.html#Table">table</a> of
895
sizes and number of patches for typical situations.<br>
897
For a CMYK device, a total ink limit usually needs to be specified.
899
a device will have a maximum total ink limit set by its manufacturer or
901
and some CMYK systems (such as chemical proofing systems) don't have
903
limit. Typical printing devices such as Xerographic printers, inkjet
905
and printing presses will have a limit. The exact procedure for
907
ink limit is outside the scope of this document, but one way of going
908
about this might be to generate some small (say a few hundred patches)
909
with targen & pritntarg with different total ink limits, and
910
printing them out, making the ink limit as large as possible without
911
striking problems that are caused by too much ink.<br>
913
Generally one wants to use the maximum possible amount of ink to
914
maximize the gamut available on the device. For most CMYK devices, an
915
ink limit between 200 and 400 is usual, but and ink limit of 250% or
916
over is generally desirable for reasonably dense blacks and dark
917
saturated colors. And ink limit of less than 200% will begin to
918
compromise the fully saturated gamut, as secondary colors (ie
919
combinations of any two primary colorants) will not be able to reach
922
Once an ink limit is used in printing the characterization test chart
923
for a device, it becomes a critical parameter in knowing what the
924
characterized gamut of the device is. If after
925
printing the test chart, a greater ink limit were to be used, the the
926
software would effectively be extrapolating
927
the device behaviour at total ink levels beyond that used in the test
928
chart, leading to inaccuracies.<br>
930
Generally in Argyll, the ink limit is established when creating the
931
test chart values, and then carried through the profile making process
932
automatically. Once the profile has been made
933
however, the ink limit is no longer recorded, and you, the user, will
934
have to keep track of it if the ICC profile is used in any program than
935
needs to know the usable gamut of the device.<br>
938
Lets consider two devices in our examples, "PrinterA" which is an "RGB"
939
device, and "PrinterB" which is CMYK, and has a target ink limit of
943
The simplest approach is to make a set of test values that is
945
of the characteristics of the particular device:<br>
947
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> <a
948
href="targen.html#d">-d2</a> <a href="targen.html#f">-f1053</a> <a
949
href="targen.html#p1">PrinterA</a><br>
951
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> <a
952
href="targen.html#d">-d4</a> <a href="targen.html#l">-l260</a> <a
953
href="targen.html#f">-f1053</a> <a href="targen.html#p1">PrinterB</a><br>
955
The number of patches chosen here happens to be right for an A4 paper
956
size being read using a Spectroscan instrument. See the <a
957
href="targen.html#Table">table</a> in the <a href="targen.html">targen</a>
958
documentation for some other suggested numbers.<br>
960
If there is a preliminary or previous profile called "OldPrinterA"
961
available, and we want to try creating a "pre-conditioned" set of test
962
values that will more efficiently sample the device response, then the
963
following would achieve this:<u><br>
965
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> <a
966
href="targen.html#d">-d2</a> <a href="targen.html#f">-f1053</a> <a
967
href="targen.html#c">-c OldPrinterA</a> <a href="targen.html#p1">PrinterA</a><br>
969
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> <a
970
href="targen.html#d">-d4</a> <a href="targen.html#l">-l260</a> <a
971
href="targen.html#f">-f1053</a> <a href="targen.html#c">-c OldPrinterB</a>
972
<a href="targen.html#p1">PrinterB</a><br>
973
<a href="targen.html#p1"></a><br>
975
The output of <b>targen</b> will be the file PrinterA.ti1 and
976
PrinterB.ti1 respectively, containing the device space test values, as
977
well as expected CIE values used for chart recognition purposes.<br>
979
<h4><a name="PP2b"></a>Printing a print profile test chart<br>
982
The next step is turn the test values in to a PostScript or TIFF raster
984
can printed on the device. The basic information that needs to be
985
supplied is the type of instrument that will be used to read the
986
patches, as well as the paper size it is to be formatted for.<br>
988
For an X-Rite DTP41, the following would be typical:<br>
990
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
991
<a href="printtarg.html#i">-i41</a> <a href="printtarg.html#p">-pA4</a>
992
<a href="printtarg.html#p1">PrinterA</a><br>
994
For a Gretag Eye-One Pro, the following would be typical:<br>
996
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
997
<a href="printtarg.html#i">-ii1</a> <a href="printtarg.html#p">-pA4</a>
998
<a href="printtarg.html#p1">PrinterA</a><br>
1000
For using with a scanner as a colorimeter, the Gretag Spectroscan
1001
layout is suitable, but the <a href="printtarg.html#s">-s</a> flag
1002
should be used so as to generate a layout suitable for scan
1003
recognition, as well as generating the scan recognition template
1004
files. (You probably want to use less patches with <span
1005
style="font-weight: bold;">targen</span>, when using the <span
1006
style="font-weight: bold;">printtarg -s</span> flag, e.g. 1026 patches
1007
for an A4R page, etc.) The following would be typical:<br>
1009
<a href="printtarg.html">printtarg</a> <a href="printtarg.html#v">-v</a>
1010
<a href="printtarg.html#s">-s</a> <a href="printtarg.html#i">-iSS</a> <a
1011
href="printtarg.html#p">-pA4R</a> <a href="printtarg.html#p1">PrinterA</a><br>
1012
<span style="font-weight: bold;"><br>
1013
printtarg</span> reads the
1015
file, creates a PrinterA.ti2 file containing the layout information as
1016
well as the device values and expected CIE values, as well as a
1017
PrinterA.ps file containing the test chart. If the <span
1018
style="font-weight: bold;">-s</span> flag is used, one or more
1019
PrinterA.cht files is created to allow the <a href="scanin.html">scanin</a>
1020
program to recognize the chart.<br>
1022
To create TIFF raster files rather than PostScript, use the <a
1023
href="printtarg.html#t"><span style="font-weight: bold;">-t</span></a>
1026
<span style="font-weight: bold;">GSview</span> is a good program to use
1027
to check what the PostScript file will
1028
look like, without actually printing it out. You could also use <span
1029
style="font-weight: bold;">Photoshop</span> or <span
1030
style="font-weight: bold;">ImageMagick</span> for this purpose.<br>
1032
The last step is to print the chart out.<br>
1034
Using a suitable PostScript or raster file printing program,
1035
downloader, print the chart. If you are not using a TIFF test chart,
1036
and you do not have a PostScript capable printer, then an interpreter
1038
or even Photoshop could be used to rasterize the file into something
1039
that can be printed. Note that it is important that the PostScript
1040
interpreter or TIFF printing application and printer configuration is
1041
setup for a device profiling run, and that any sort of
1042
color conversion of color correction be turned off so that the device
1043
values in the PostScript or TIFF file are sent directly to the device.
1045
calibration system, then it would be usual to have setup and calibrated
1046
the device before starting the profiling run, and to apply calibration
1047
to the chart values. If Photoshop was to be
1049
either the chart needs to be a single page, or separate .eps or .tiff
1051
each page should be used, so that they can be converted and printed one
1052
at a time (see the <a href="printtarg.html#e">-e</a> and <a
1053
href="printtarg.html#t">-t</a> flags).<br>
1055
<h4><a name="PP3"></a>Reading a print test chart using an instrument</h4>
1056
Once the test chart has been printed, the color of the patches needs to
1057
be read using a suitable instrument.<br>
1059
Several different instruments are currently supported, some that need
1060
to be used patch by patch, some read a strip at a time, and some read a
1061
sheet at a time. See <a href="instruments.html">instruments</a> for a
1064
The instrument needs to be connected to your computer before running
1065
the <a href="chartread.html">chartread</a> command. Both serial port
1066
and USB connected Instruments are supported. A serial port to USB
1068
might have to be used if your computer doesn't have any serial ports,
1069
and you have a serial interface connected instrument.<br>
1071
If you run <a href="chartread.html">chartread</a> so as to print out
1072
its usage message (ie. by using a <span style="font-weight: bold;">-?</span>
1073
or <span style="font-weight: bold;">--</span> flags), then it will
1074
list any identified serial ports or USB connected instruments, and
1075
their corresponding number for
1076
the <a href="chartread.html#c">-c</a> option. By default, <a
1077
href="chartread.html">chartread</a> will try to connect to the first
1078
available USB instrument, or an instrument on the first serial port.<br>
1080
The only arguments required is
1081
to specify the basename of the .ti2 file. If a non-default serial port
1082
is to be used, then the <span style="font-weight: bold;">-c</span>
1083
option would also be specified.<br>
1085
e.g. for a Spectroscan on the second port:<br>
1087
<a href="chartread.html">chartread</a> <a href="chartread.html#c">-c2</a>
1088
<a href="chartread.html#p1">PrinterA</a><br>
1090
For a DTP41 to the default serial port:<br>
1092
<a href="chartread.html">chartread</a><a href="chartread.html#i"></a>
1093
<a href="chartread.html#p1">PrinterA</a><br>
1095
<span style="font-weight: bold;">chartread</span> will interactively
1096
prompt you through the process of reading each sheet or strip. See <a
1097
href="chartread.html">chartread</a> for more details on the responses
1098
for each type of instrument. Continue with <a href="Scenarios.html#PP5">Creating
1103
<h4><a name="PP4"></a>Reading a print test chart using a scanner or
1107
Argyll supports using a scanner or even a camera as a substitute for a
1109
While a scanner or camera is no replacement for a color measurement
1110
instrument, it may give acceptable results in some situations, and may
1111
give better results than a generic profile for a printing device.<br>
1113
The main limitation of the scanner-as-colorimeter approach are:<br>
1115
* The scanner dynamic range and/or precision may not match the printers
1116
or what is required for a good profile.<br>
1117
* The spectral interaction of the scanner test chart and printer test
1118
chart with the scanner
1119
spectral response can cause color errors.<br>
1120
* Spectral differences caused by different black amounts in the print
1121
test chart can cause
1123
* The scanner reference chart gamut may be much smaller than the
1124
printers gamut, making the scanner profile too inaccurate to be useful.
1127
As well as some of the above, a camera may not be suitable if it
1128
automatically adjusts exposure or white point when taking a picture,
1129
and this behavior cannot be disabled.<br>
1131
The end result is often a profile that has a noticeable color cast,
1132
compared to a profile created using a colorimeter or spectrometer.<br>
1135
It is assumed that you have created a scanner or camera profile
1136
following the <a href="http://www.argyllcms.com/doc/Scenarios.html#PS1">procedure</a>
1137
outline above. For best possible results it
1138
is advisable to both profile the scanner or camera, and use it in
1140
printed test chart, in as "raw" mode as possible (i.e. using 16 bits
1141
per component images, if the scanner or camera is
1142
capable of doing so; not setting white or black points, using a fixed
1143
exposure etc.). It is
1144
generally advisable to create a LUT type input profile, and use the <a
1145
href="http://www.argyllcms.com/doc/colprof.html#u">-u</a> flag to
1146
avoid clipping scanned value whiter than the input calibration chart.<br>
1148
Scan or photograph your printer chart (or charts) on the scanner or
1149
camera previously profiled.
1150
<big><span style="font-weight: bold;">The
1151
scanner or camera must be configured and used exactly the same as it
1153
was profiled.</span></big><br>
1155
I will assume the resulting scan/photo input file is called <span
1156
style="font-weight: bold;">PrinterB.tif</span> (or <span
1157
style="font-weight: bold;">PrinterB1.tif</span>, <span
1158
style="font-weight: bold;">PrinterB2.tif</span> etc. in the case of
1159
multiple charts). As with profiling the scanner or camera, the raster
1161
only be roughly cropped so as to contain the test chart.<br>
1163
The scanner recognition files
1164
created when <span style="font-weight: bold;">printtarg</span> was run
1165
is assumed to be called <span style="font-weight: bold;">PrinterB.cht</span>.
1170
created previously (assumed to be called <span
1171
style="font-weight: bold;">scanner.icm</span>), the printer test chart
1172
scan patches are converted to CIE values using the <span
1173
style="font-weight: bold;">scanin</span> tool:<br>
1175
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1176
href="scanin.html#c">-c</a> <a href="scanin.html#cp1">PrinterB.tif</a>
1177
<a href="scanin.html#cp2">PrinterB.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
1178
<a href="scanin.html#cp4">PrinterB</a><br>
1180
If there were multiple test chart pages, the results would be
1181
accumulated page by page using the <a href="scanin.html#ca">-ca</a>
1182
option, ie., if there were 3 pages:<br>
1184
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1185
href="scanin.html#c">-c</a> <a href="scanin.html#cp1">PrinterB1.tif</a>
1186
<a href="scanin.html#cp2">PrinterB1.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
1187
<a href="scanin.html#cp4">PrinterB</a><br>
1188
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1189
href="scanin.html#ca">-ca</a> <a href="scanin.html#cp1">PrinterB2.tif</a>
1190
<a href="scanin.html#cp2">PrinterB2.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
1191
<a href="scanin.html#cp4">PrinterB</a><br>
1192
<a href="scanin.html">scanin</a> <a href="scanin.html#v">-v</a> <a
1193
href="scanin.html#ca">-ca</a> <a href="scanin.html#cp1">PrinterB3.tif</a>
1194
<a href="scanin.html#cp2">PrinterB3.cht</a> <a href="scanin.html#cp3">scanner.icm</a>
1195
<a href="scanin.html#cp4">PrinterB</a><br>
1197
Now that the <span style="font-weight: bold;">PrinterB.ti3</span> data
1198
has been obtained, the profile continue in the next section with <span
1199
style="font-weight: bold;">Creating a printer profile</span>.<br>
1201
If you have any doubts about the correctness of the chart recognition,
1202
or the subsequent profile's delta E report is unusual, then use the
1203
scanin diagnostic flags <a href="scanin.html#d">-dipn</a> and examine
1204
the <span style="font-weight: bold;">diag.tif</span> diagnostic file.<br>
1205
<h4><a name="PP5"></a>Creating a printer profile<br>
1207
Creating an RGB based printing profile is very similar to creating a
1208
display device profile. For a CMYK printer, some additional information
1209
is needed to set the black generation.<br>
1211
Where the resulting profile will be used conventionally (ie. using <a
1212
href="collink.html">collink</a> <a href="collink.html#s">-s</a>, or <a
1213
href="cctiff.html">cctiff</a> or most
1214
other "dumb" CMMs) it is important to specify that gamut mapping should
1215
be computed for the output (B2A) perceptual and saturation tables. This
1216
is done by specifying a device profile as the parameter to the <a
1217
href="colprof.html">colprof</a> <a href="colprof.html#S">-S</a> flag.
1218
When you intend to create a "general use" profile, it can be a good
1219
technique to specify the source gamut as the opposite
1220
type of profile to that being created, i.e. if a printer profile is
1222
created, specify a display profile (e.g. sRGB) as the source gamut. If
1223
a display profile is being created, then specify a printer profile as
1225
(e.g. SWOP). When linking to the profile you have created this
1226
way as the output profile, then use perceptual intent if the source is
1227
the opposite type, and relative colorimetric if it is the same type.<br>
1229
"Opposite type of profile" refers to the native gamut of the device,
1230
and what its fundamental nature is, additive or subtractive. An
1231
emissive display will have additive primaries (R, G & B), while a
1232
reflective print, will have subtractive primaries (C, M, Y &
1233
possibly others), irrespective of what colorspace the printer is driven
1234
in (a printer might present an RGB interface, but internally this will
1235
be converted to CMY, and it will have a CMY type of gamut).
1236
Because of the complimentary nature of additive and subtractive device
1237
primary colorants, these types of devices have the most different
1238
gamuts, and hence need the most gamut mapping to convert from one
1239
colorspace to the other.<br>
1241
If you are creating a profile for a specific purpose, intending to link
1242
it to a specific input profile, then you will get the best results by
1243
specifying that source profile as the source gamut.<br>
1245
If a profile is only going to be used as an input profile, or is going
1246
to be used with a "smart" CMM (e.g. <a href="collink.html">collink</a>
1247
<a href="collink.html#g">-g</a> or <a href="collink.html#G">-G</a>),
1248
then it can save considerable processing time and space if the -b flag
1249
is used, and the -S flag not used.<br>
1251
For an RGB printer intended to print RGB originals, the following might
1252
be a typical profile usage:<br>
1254
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
1255
href="colprof.html#E">-D"Printer A"</a> <a href="colprof.html#q">-qm</a>
1256
<a href="colprof.html#S">-S</a><a href="colprof.html#S"> sRGB.icm</a> <a
1257
href="colprof.html#c">-cmt</a> <a href="colprof.html#d">-dpp</a>
1258
<a href="colprof.html#p1">PrinterA</a><br>
1260
or if you intent to print from SWOP style CMYK originals:<br>
1262
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
1263
href="colprof.html#E">-D"Printer A"</a> <a href="colprof.html#q">-qm</a>
1264
<a href="colprof.html#S">-S</a><a href="colprof.html#S">
1265
swop.icm</a> <a href="colprof.html#c">-cmt</a> <a
1266
href="colprof.html#d">-dpp</a>
1267
<a href="colprof.html#p1">PrinterA</a><br>
1269
<h4><a name="PP6"></a>Choosing a black generation curve (and other CMYK
1270
printer options)<br>
1272
For a CMYK printer, it would be normal to specify the type of black
1273
generation, either as something simple, or as a specific curve. The
1274
documentation in <a href="colprof.html#k">colprof</a> for the
1275
details of the options.<span style="font-weight: bold;"><br>
1277
Note</span> that making a good choice of black generation curve can
1278
affect things such as: how robust neutrals are given printer drift or
1279
changes in viewing lighting, how visible screening is, and how smooth
1280
looking the B2A conversion is.<br>
1282
For instance, maximizing the level of K will mean that the neutral
1283
colors are composed of greater amounts of Black ink, and black ink
1284
retains its neutral appearance irrespective of printer behavior or the
1285
spectrum of the illuminant used to view the print. On the other hand,
1286
output which is dominantly from one of the color channels will tend to
1287
emphasize the screening pattern and any unevenness (banding etc.) of
1288
that channel, and the black channel in particular has the highest
1289
visibility. So in practice, some balance between the levels of the four
1290
channels is probably best, with more K if the screening is fine and a
1291
robust neutral balance is important, or less K if the screening is more
1292
visible and neutral balance is less critical. The levels of K at the
1293
edges of the gamut of the device will be fixed by the nature of the ink
1294
combinations that maximize the gamut (ie. typically zero ink for light
1295
chromatic colors, some combination for dark colors, and a high level of
1296
black for very dark near neutrals), and it is also usually important to
1297
set a curve that smoothly transitions to the K values at the gamut
1298
edges. Dramatic changes in K imply equally dramatic changes in CMY, and
1299
these abrupt transitions will reveal the limited precision and detail
1300
that can be captured in a lookup table based profile, often resulting
1301
in a "bumpy" looking output.<br>
1303
If you want to experiment with the various
1305
generation parameters, then it might be a good idea to create a
1306
preliminary profile (using <a href="colprof.html#q">-ql</a> <a
1307
href="colprof.html#b">-b</a> <a href="colprof.html#ni">-no</a>, <a
1308
href="colprof.html#no">-ni</a> and
1309
no <a href="colprof.html#S">-S</a>), and then used <a
1310
href="xicclu.html#g">xicclu</a>
1311
to explore the effect of the parameters.<br>
1313
For instance, say we have our CMYK .ti3 file <span
1314
style="font-weight: bold;">PrinterB.ti3</span>. First we make a
1315
preliminary profile called <span style="font-weight: bold;">PrinterBt</span>:<br>
1317
copy PrinterB.ti3 PrinterBt.ti3 (Use "cp"
1318
on Linux or OSX of course.)<br>
1319
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
1320
href="colprof.html#q">-qm</a>
1321
<a href="colprof.html#b">-b</a> <a href="colprof.html#c">-cmt</a>
1322
<a href="colprof.html#d">-dpp</a>
1323
<a href="colprof.html#p1">PrinterBt</a><br>
1325
Then see what the minimum black level down the neutral axis can be.
1326
Note that we need to also set any ink limits we've decided on as well
1327
(coloprof defaulting to 10% less than the value recorded in the .ti3
1328
file). In this example the test chart has a 300% total ink limit, and
1329
we've decided to use 290%:<br>
1331
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1332
href="xicclu.html#k">-kz</a> <a href="xicclu.html#l">-l290</a> <a
1333
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1334
href="xicclu.html#p1">PrinterBt.icm</a><br>
1336
Which might be a graph something like this:<br>
1338
<img alt="Graph of CMYK neutral axis with minimum K" src="Kgraph1.jpg"
1339
style="width: 250px; height: 250px;"><br>
1341
Note how the minimum black is zero up to 93% of the
1342
white->black L* curve, and then jumps up to 87%. This is because
1344
the total ink limit, and K then has to be substituted for CMY, to keep
1345
the total under the total ink limit.<br>
1347
Then let's see what the maximum black level down the neutral axis can
1350
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1351
href="xicclu.html#k">-kx</a> <a href="xicclu.html#l">-l290</a> <a
1352
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1353
href="xicclu.html#p1">PrinterBt.icm</a><br>
1355
Which might be a graph something like this:<br>
1357
<img alt="Graph of CMYK neutral axis with maximum K" src="Kgraph2.jpg"
1358
style="width: 250px; height: 250px;"><br>
1360
Note how the CMY values are fairly low up to 93% of the white->black
1362
(the low levels of CMY are helping set the neutral color), and then
1364
This is because we've reach the point where black on it's own, isn't as
1365
dark as the color that can be achieved using CMY and K. Because the K
1366
has a dominant effect on the hue of the black, the levels of CMY are
1367
often fairly volatile in this region.<br>
1369
Any K curve we specify must lie between the black curves of the above
1372
Let's say we'd like to chose a moderate black curve, one that aims for
1373
about equal levels of CMY and K. We should also aim for it to be fairly
1374
smooth, since this will minimize visual artefacts caused by the limited
1375
fidelity that profile LUT tables are able to represent inside the
1378
<img style="width: 340px; height: 258px;" alt="-k parameters"
1379
src="Kparams.jpg"><br>
1382
For minimum discontinuities we should aim for the curve to
1383
finish at the point it has to reach to satisfy the total ink limit at
1384
87% curve and 93% black. For a first try we can simply set a straight
1385
line to that point: <br>
1387
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1388
href="xicclu.html#k">-kp 0 0 .93 .87 1.0</a> <a href="xicclu.html#l">-l290</a>
1389
<a href="xicclu.html#f">-fif</a>
1390
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
1392
<img alt="Graph of CMYK neutral axis with kp 0 0 1.0 1.0 1.0 -l290"
1393
src="Kgraph3.jpg" style="width: 250px; height: 250px;"><br>
1395
The black "curve" hits the 93%/87% mark well, but is a bit too far
1396
above CMY, so we'll try making the black curve concave:<br>
1398
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1399
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87 0.65</a>
1400
<a href="xicclu.html#l">-l290</a>
1401
<a href="xicclu.html#f">-fif</a>
1402
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
1404
<img alt="Graph of CMYK neutral axis with -kp 0 .05 1 .9 1 -l290"
1405
src="Kgraph4.jpg" style="width: 250px; height: 249px;"><br>
1407
This looks just about perfect, so the the curve parameters can now be
1408
used to generate our real profile:<br>
1410
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
1411
href="colprof.html#E">-D"Printer B"</a> <a href="colprof.html#q">-qm</a>
1412
<a href="colprof.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87
1413
0.65</a> <a href="colprof.html#S">-S</a><a href="colprof.html#S">
1414
sRGB.icm</a> <a href="colprof.html#c">-cmt</a>
1415
<a href="colprof.html#d">-dpp</a>
1416
<a href="colprof.html#p1">PrinterB</a><br>
1418
and the resulting B2A table black curve can be checked using xicclu:<br>
1420
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1421
href="xicclu.html#f">-fb</a>
1422
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterB.icm</a><br>
1424
<img style="width: 250px; height: 250px;" alt="sadsadas"
1425
src="Kgraph5.jpg"><br>
1429
style="margin-left: 0px; margin-right: auto; width: 20%; height: 2px;"><br>
1430
<span style="font-weight: bold;">Examples of other inkings:<br>
1432
</span>A smoothed zero black inking:<br>
1434
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1435
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 .7 .93 .87 1.0</a>
1436
<a href="xicclu.html#l">-l290</a>
1437
<a href="xicclu.html#f">-fif</a>
1438
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
1440
<img style="width: 250px; height: 250px;" alt="sadsadas"
1441
src="Kgraph6.jpg"><br>
1443
A low black inking:<br>
1445
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1446
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87 0.15</a>
1447
<a href="xicclu.html#l">-l290</a>
1448
<a href="xicclu.html#f">-fif</a>
1449
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
1451
<img style="width: 250px; height: 250px;" alt="sadsadas"
1452
src="Kgraph7.jpg"><br>
1455
A high black inking:<br>
1457
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1458
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87 1.2</a>
1459
<a href="xicclu.html#l">-l290</a>
1460
<a href="xicclu.html#f">-fif</a>
1461
<a href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
1463
<img style="width: 250px; height: 250px;" alt="sadsadas"
1464
src="Kgraph8.jpg"><br>
1466
<span style="font-weight: bold;"></span>
1467
<h4>Overriding the ink limit<br>
1469
Normally the total ink limit
1470
will be read from the <span style="font-weight: bold;">PrinterB.ti3</span>
1471
file, and will be set at a level 10% lower than the number used in
1472
creating the test chart values using <a href="targen.html#l">targen -l</a>.
1477
override this with a lower limit, then use the <a href="colprof.html#l">-l
1480
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a> <a
1481
href="colprof.html#E">-D"Printer B"</a> <a href="colprof.html#q">-qm</a>
1482
<a href="colprof.html#S">-S</a><a href="colprof.html#S"> sRGB.icm</a> <a
1483
href="colprof.html#c">-cmt</a> <a href="colprof.html#d">-dpp</a> <a
1484
href="colprof.html#k">-kr</a>
1485
<a href="xicclu.html#l">-l290</a> <a href="colprof.html#p1">PrinterB</a><br>
1487
Make sure you check the delta E report at the end of the profile
1488
creation, to see if the profile is behaving reasonably.<br>
1490
One way of checking that your ink limit is not too high, is to use "<span
1491
style="font-weight: bold;">xicc -fif -ia</span>" to check, by setting
1492
different ink limits using the <span style="font-weight: bold;">-l</span>
1493
option, feeding Lab = 0 0 0 into it, and checking the resulting
1494
black point. Starting with the ink limit used with <span
1495
style="font-weight: bold;">targen</span> for the test chart, reduce it
1496
until the black point starts to be affected. If it is immediately
1497
affected by any reduction in the ink limit, then the black point may be
1498
improved by increasing the ink limit used to generate the test chart
1499
and then re-print and re-measuring it, assuming
1500
other aspects such as wetness, smudging, spreading or drying time are
1503
<hr style="width: 100%; height: 2px;"><br>
1504
<h3><a name="PC1"></a>Calibrating Printers<br>
1506
<span style="font-weight: bold;">Profiling</span> creates a description
1507
of how a device behaves, while <span style="font-weight: bold;">calibration</span>
1508
on the other hand is
1509
intended to <span style="text-decoration: underline;">change</span>
1510
how a device behaves. Argyll has the ability to
1511
create per-channel device space calibration curves for print devices,
1514
then be used to improve the behavior of of the device, making a
1516
profile fit the device more easily and also allow day to day
1517
correction of device drift without resorting to a full re-profile.<br>
1519
<span style="font-weight: bold;">NOTE:</span> Because calibration adds
1520
yet another layer to the way color is processed, it is recommended
1521
that it not be attempted until the normal profiling workflow is
1523
understood and verified.<br>
1524
<h4><a name="PC2"></a>Calibrated print workflows</h4>
1525
There are two main workflows that printer calibration curves can be
1528
<span style="text-decoration: underline;">Workflow <span
1529
style="font-weight: bold;">with</span> native calibration capability</span>:<br>
1531
Firstly the printer itself may have the capability of using per channel
1532
calibration curves. In this situation, the calibration process will be
1533
largely independent of profiling. Firstly the printer is configured to
1534
have both its color management and calibration disabled (the latter
1535
perhaps achieved by loading linear calibration curves), and a print
1536
calibration test chart that consists of per channel color wedges is
1537
printed. The calibration chart is read and the resulting .ti3 file
1538
converted into calibration curves by
1539
processing it using <span style="font-weight: bold;">printcal</span>.
1540
The calibration is then installed into the printer. Subsequent
1541
profiling will be performed on the <span
1542
style="text-decoration: underline;">calibrated</span> printer (ie. the
1544
test chart will have the calibration curves applied to it by the
1545
printer, and the resulting ICC profile will represent the behavior of
1546
the calibrated printer.)<br>
1548
<span style="text-decoration: underline;">Workflow <span
1549
style="font-weight: bold;">without</span> native calibration capability</span>:<br>
1551
The second workflow is one in which the printer has no calibration
1552
capability itself. In this situation, the calibration process will have
1553
to be applied using the ICC color management tools, so careful
1554
coordination with profiling is needed. Firstly the printer is
1555
configured to have its color management disabled, and a print
1556
calibration test chart that consists
1557
of per channel color wedges is printed. The calibration chart is
1558
converted into calibration curves by reading it and then processing the
1559
resultant .ti3 using <span style="font-weight: bold;">printcal</span>,.
1563
<span style="text-decoration: underline;">profiling</span>, the
1564
calibration curves will need to be applied to the
1565
profile test chart in the process of using <span
1566
style="font-weight: bold;">printtarg</span>. Once the the profile has
1567
been created, then in subsequent printing the calibration curves will
1568
need to be applied to an image being printed either explicitly when
1569
using <span style="font-weight: bold;">cctiff</span> to apply color
1570
profiles <span style="text-decoration: underline;">and</span>
1571
calibration, <span style="font-weight: bold;">OR</span>
1573
a version of the profile that has had the calibration curves
1574
incorporated into it using the <span style="font-weight: bold;">applycal</span>
1575
tool. The latter is useful when some CMM (color management module)
1576
other than <span style="font-weight: bold;">cctiff </span>is being
1579
Once calibration aim targets for a particular device and mode
1581
paper etc.) have been established, then the printer can be
1582
re-calibrated at any time to bring its per channel behavior back into
1583
line if it drifts, and the new calibration curves can be installed into
1584
the printer, or re-incorporated into the profile.
1585
<h4><a name="PC3"></a>Creating a print calibration test chart</h4>
1586
The first step is to create a print calibration test chart. Since
1587
calibration only creates per-channel curves, only single channel step
1588
wedges are required for the chart. The main choice is the number of
1589
steps in each wedge. For simple fast calibrations perhaps as few as 20
1590
steps per channel may be enough, but for a better quality of
1591
calibration something like 50 or more steps would be a better choice.<br>
1593
Let's consider two devices in our examples, "PrinterA" which is an
1595
printer device, and "PrinterB" which is CMYK. In fact there is no such
1596
thing as a real RGB printer, since printers use white media and the
1597
colorant must subtract from the light reflected on it to create color,
1598
but the printer itself turns the incoming RGB into the native print
1599
colorspace, so for this reason we are careful to tell targen to use the
1600
"Print RGB" colorspace, so that it knows to create step wedges from
1601
media white to full colorant values.<br>
1603
For instance, to create a 50 steps per channel calibration test chart
1604
for our RGB and CMYK devices, the following would be sufficient:<br>
1606
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> <a
1607
href="targen.html#d">-d2</a> <a href="targen.html#s">-s50</a> <a
1608
href="targen.html#e">-e3</a> <a href="targen.html#f">-f0</a> <a
1609
href="targen.html#p1">PrinterA_c</a><br>
1611
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a> <a
1612
href="targen.html#d">-d4</a> <a href="targen.html#s">-s50</a> <a
1613
href="targen.html#e">-e4</a> <a href="targen.html#f">-f0</a> <a
1614
href="targen.html#p1">PrinterB_c</a><br>
1615
<a href="targen.html#p1"></a><br>
1616
For an outline of how to then print and read the resulting test chart,
1617
see <a href="Scenarios.html#PP2b">Printing a print profile test
1618
chart</a>, and <a href="Scenarios.html#PP3">Reading a print test chart
1619
using an instrument</a>. Note that the printer must be in an
1620
un-profiled and un-calibrated mode when doing this print. Having done
1621
this, there will be a PrinterA.ti3 or PrinterB.ti3 file
1622
containing the step wedge calibration chart readings.<br>
1624
<span style="font-weight: bold;">NOTE</span> that if you are
1625
calibrating a raw printer driver, and there is considerable dot gain,
1626
then you may want to use the <a href="targen.html#p">-p</a> parameter
1627
to adjust the test chart point distribution to spread them more evenly
1628
in perceptual space, giving more accurate control over the calibration.
1629
Typically this will be a value greater than one for a device that has
1630
dot gain, e.g. values of 1.5, 2.0 or 2.5 might be good places to start.<br>
1631
<h4><a name="PC4"></a>Creating a printer calibration<br>
1633
The <a href="printcal.html">printcal</a> tool turns a calibration
1634
chart <a href="File_Formats.html#.ti3">.ti3</a> file into a <a
1635
href="File_Formats.html#.cal">.cal</a> file. It has three main
1637
modes:- Initial calibration, Re-Calibration, and Verification. (A
1638
fourth mode, "Imitation" is very like Initial Calibration, but is used
1639
for establishing a calibration target that a similar printer can
1640
attempt to imitate.)<br>
1642
The distinction between Initial Calibration and Re-Calibration is that
1643
in the initial calibration we establish the "aim points" or response we
1645
printer after calibration. There are three basic parameters to set this
1646
for each channel: Maximum level, minimum level, and curve shape.<br>
1648
By default the maximum level will be set using a heuristic which
1649
attempts to pick the point when there is diminishing returns for
1650
applying more colorant. This can be overridden using the <span
1651
style="font-weight: bold;">-x# percent</span> option, where <span
1652
style="font-weight: bold;">#</span> represents the choice of channel
1653
this will be applied to. The parameter is the percentage of device
1656
The minimum level defaults to 0, but can be overridden using the <span
1657
style="font-weight: bold;">-n# deltaE</span> option. A minimum of 0
1658
means that zero colorant will correspond to the natural media color,
1659
but it may be desirable to set a non-pure media color using calibration
1660
for the purposes of emulating some other media. The parameter is in
1663
The curve shape defaults to being perceptually uniform, which means
1664
that even steps of calibrated device value result in perceptually even
1665
color steps. In some situations it may be desirable to alter this curve
1666
(for instance when non color managed output needs to be sent to the
1667
calibrated printer), and a simple curve shape target can be set using
1668
the <span style="font-weight: bold;">-t# percent</span> parameter.
1669
This affects the output value at 50% input value, and represents the
1670
percentage of perceptual output. By default it is 50% perceptual output
1671
for 50% device input.<br>
1673
Once a device has been calibrated, it can be re-calibrated to the same
1676
Verification uses a calibration test chart printed through the
1677
calibration, and compares the achieved response to the aim target.<br>
1679
The simplest possible way of creating the <span
1680
style="font-weight: bold;">PrinterA.cal</span> file is:<br>
1683
<a href="printcal.html">printcal</a> <a href="printcal.html#i">-i</a> <a
1684
href="colprof.html#p2">PrinterA_c</a><br>
1686
For more detailed information, you can add the <span
1687
style="font-weight: bold;">-v</span> and <span
1688
style="font-weight: bold;">-p</span> flags:<br>
1691
<a href="printcal.html">printcal</a> <a href="printcal.html#v">-v</a> <a
1692
href="printcal.html#p">-p</a> <a href="printcal.html#i">-i</a> <a
1693
href="colprof.html#p2">PrinterB_c</a><br>
1695
(You will need to select the plot window and hit a key to advance past
1698
For re-calibration, the name of the previous calibration file will need
1699
to be supplied, and a new calibration<br>
1700
file will be created:<br>
1703
<a href="printcal.html">printcal</a> <a href="printcal.html#v">-v</a> <a
1704
href="printcal.html#p">-p</a> <a href="printcal.html#r">-r</a> <a
1705
href="colprof.html#p1">PrinterB_c_old</a> <a href="colprof.html#p2">PrinterB_c_new</a><br>
1707
Various aim points are normally set automatically by <span
1708
style="font-weight: bold;">printcal</span>, but these can be
1709
overridden using the <a href="colprof.html#x">-x</a>, <a
1710
href="colprof.html#n">-n</a> and <a href="colprof.html#t">-t</a>
1711
options. e.g. say we wanted to set the maximum ink for Cyan to 80% and
1712
Black to 95%, we might use:<br>
1715
<a href="printcal.html">printcal</a> <a href="printcal.html#v">-v</a> <a
1716
href="printcal.html#p">-p</a> <a href="printcal.html#i">-i</a> <a
1717
href="colprof.html#x">-xc 80</a> <a href="colprof.html#x">-xk 95</a> <a
1718
href="colprof.html#p2">PrinterB_c</a><br>
1720
<a href="colprof.html#p2"></a>
1721
<h4><a name="PC5"></a>Using a printer calibration</h4>
1722
The resulting calibration curves can be used with the following other
1725
<a href="printtarg.html#K">printtarg</a>
1329
it can save considerable processing time and space if the -b flag is
1330
used, and the -S flag not used.<br>
1332
For an RGB printer intended to print RGB originals, the following
1333
might be a typical profile usage:<br>
1335
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
1336
<a href="colprof.html#E">-D"Printer A"</a> <a href="colprof.html#q">-qm</a>
1337
<a href="colprof.html#S">-S</a><a href="colprof.html#S"> sRGB.icm</a>
1338
<a href="colprof.html#c">-cmt</a> <a href="colprof.html#d">-dpp</a>
1339
<a href="colprof.html#p1">PrinterA</a><br>
1341
or if you intent to print from Fogra, SWOP or other standard CMYK
1342
style originals:<br>
1344
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
1345
<a href="colprof.html#E">-D"Printer A"</a> <a href="colprof.html#q">-qm</a>
1346
<a href="colprof.html#S">-S</a><a href="colprof.html#S">
1347
fogra39l.icm</a> <a href="colprof.html#c">-cmt</a> <a
1348
href="colprof.html#d">-dpp</a> <a href="colprof.html#p1">PrinterA</a><br>
1350
If you know what colorspace your originals are in, use that as the
1351
argument to <span style="font-weight: bold;">-S</span>.<br>
1353
<h4><a name="PP6"></a>Choosing a black generation curve (and other
1354
CMYK printer options)<br>
1356
For a CMYK printer, it would be normal to specify the type of black
1357
generation, either as something simple, or as a specific curve. The
1358
documentation in <a href="colprof.html#k">colprof</a> for the
1359
details of the options.<span style="font-weight: bold;"><br>
1361
Note</span> that making a good choice of black generation curve
1362
can affect things such as: how robust neutrals are given printer
1363
drift or changes in viewing lighting, how visible screening is, and
1364
how smooth looking the B2A conversion is.<br>
1366
For instance, maximizing the level of K will mean that the neutral
1367
colors are composed of greater amounts of Black ink, and black ink
1368
retains its neutral appearance irrespective of printer behavior or
1369
the spectrum of the illuminant used to view the print. On the other
1370
hand, output which is dominantly from one of the color channels will
1371
tend to emphasize the screening pattern and any unevenness (banding
1372
etc.) of that channel, and the black channel in particular has the
1373
highest visibility. So in practice, some balance between the levels
1374
of the four channels is probably best, with more K if the screening
1375
is fine and a robust neutral balance is important, or less K if the
1376
screening is more visible and neutral balance is less critical. The
1377
levels of K at the edges of the gamut of the device will be fixed by
1378
the nature of the ink combinations that maximize the gamut (ie.
1379
typically zero ink for light chromatic colors, some combination for
1380
dark colors, and a high level of black for very dark near neutrals),
1381
and it is also usually important to set a curve that smoothly
1382
transitions to the K values at the gamut edges. Dramatic changes in
1383
K imply equally dramatic changes in CMY, and these abrupt
1384
transitions will reveal the limited precision and detail that can be
1385
captured in a lookup table based profile, often resulting in a
1386
"bumpy" looking output.<br>
1388
If you want to experiment with the various black generation
1389
parameters, then it might be a good idea to create a preliminary
1390
profile (using <a href="colprof.html#q">-ql</a> <a
1391
href="colprof.html#b">-b</a> <a href="colprof.html#ni">-no</a>, <a
1392
href="colprof.html#no">-ni</a> and no <a href="colprof.html#S">-S</a>),
1397
and then used <a href="xicclu.html#g">xicclu</a> to explore the
1398
effect of the parameters.<br>
1400
For instance, say we have our CMYK .ti3 file <span
1401
style="font-weight: bold;">PrinterB.ti3</span>. First we make a
1402
preliminary profile called <span style="font-weight: bold;">PrinterBt</span>:<br>
1404
copy PrinterB.ti3 PrinterBt.ti3 (Use
1405
"cp" on Linux or OSX of course.)<br>
1406
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
1407
<a href="colprof.html#q">-qm</a> <a href="colprof.html#b">-b</a> <a
1408
href="colprof.html#c">-cmt</a> <a href="colprof.html#d">-dpp</a>
1409
<a href="colprof.html#p1">PrinterBt</a><br>
1411
Then see what the minimum black level down the neutral axis can be.
1412
Note that we need to also set any ink limits we've decided on as
1413
well (coloprof defaulting to 10% less than the value recorded in the
1414
.ti3 file). In this example the test chart has a 300% total ink
1415
limit, and we've decided to use 290%:<br>
1417
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1418
href="xicclu.html#k">-kz</a> <a href="xicclu.html#l">-l290</a> <a
1419
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1420
href="xicclu.html#p1">PrinterBt.icm</a><br>
1422
Which might be a graph something like this:<br>
1424
<img alt="Graph of CMYK neutral axis with minimum K"
1425
src="Kgraph1.jpg" style="width: 250px; height: 250px;"><br>
1427
Note how the minimum black is zero up to 93% of the
1428
white->black L* curve, and then jumps up to 87%. This is because
1429
we've reached the total ink limit, and K then has to be substituted
1430
for CMY, to keep the total under the total ink limit.<br>
1432
Then let's see what the maximum black level down the neutral axis
1435
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1436
href="xicclu.html#k">-kx</a> <a href="xicclu.html#l">-l290</a> <a
1437
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1438
href="xicclu.html#p1">PrinterBt.icm</a><br>
1440
Which might be a graph something like this:<br>
1442
<img alt="Graph of CMYK neutral axis with maximum K"
1443
src="Kgraph2.jpg" style="width: 250px; height: 250px;"><br>
1445
Note how the CMY values are fairly low up to 93% of the
1446
white->black L* curve (the low levels of CMY are helping set the
1447
neutral color), and then they jump up. This is because we've reach
1448
the point where black on it's own, isn't as dark as the color that
1449
can be achieved using CMY and K. Because the K has a dominant effect
1450
on the hue of the black, the levels of CMY are often fairly volatile
1453
Any K curve we specify must lie between the black curves of the
1454
above two graphs.<br>
1456
Let's say we'd like to chose a moderate black curve, one that aims
1457
for about equal levels of CMY and K. We should also aim for it to be
1458
fairly smooth, since this will minimize visual artefacts caused by
1459
the limited fidelity that profile LUT tables are able to represent
1460
inside the profile.<br>
1462
<img style="width: 340px; height: 258px;" alt="-k parameters"
1463
src="Kparams.jpg"><br>
1466
For minimum discontinuities we should aim for the curve to finish at
1467
the point it has to reach to satisfy the total ink limit at 87%
1468
curve and 93% black. For a first try we can simply set a straight
1469
line to that point: <br>
1471
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1472
href="xicclu.html#k">-kp 0 0 .93 .87 1.0</a> <a
1473
href="xicclu.html#l">-l290</a> <a href="xicclu.html#f">-fif</a> <a
1474
href="xicclu.html#i">-ir</a> <a href="xicclu.html#p1">PrinterBt.icm</a><br>
1476
<img alt="Graph of CMYK neutral axis with kp 0 0 1.0 1.0 1.0 -l290"
1477
src="Kgraph3.jpg" style="width: 250px; height: 250px;"><br>
1479
The black "curve" hits the 93%/87% mark well, but is a bit too far
1480
above CMY, so we'll try making the black curve concave:<br>
1482
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1483
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87
1484
0.65</a> <a href="xicclu.html#l">-l290</a> <a
1485
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1486
href="xicclu.html#p1">PrinterBt.icm</a><br>
1488
<img alt="Graph of CMYK neutral axis with -kp 0 .05 1 .9 1 -l290"
1489
src="Kgraph4.jpg" style="width: 250px; height: 249px;"><br>
1491
This looks just about perfect, so the the curve parameters can now
1492
be used to generate our real profile:<br>
1494
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
1495
<a href="colprof.html#E">-D"Printer B"</a> <a href="colprof.html#q">-qm</a>
1496
<a href="colprof.html#k">-kp </a><a href="xicclu.html#k">0 0 .93
1497
.87 0.65</a> <a href="colprof.html#S">-S</a><a
1498
href="colprof.html#S"> sRGB.icm</a> <a href="colprof.html#c">-cmt</a>
1499
<a href="colprof.html#d">-dpp</a> <a href="colprof.html#p1">PrinterB</a><br>
1501
and the resulting B2A table black curve can be checked using xicclu:<br>
1503
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1504
href="xicclu.html#f">-fb</a> <a href="xicclu.html#i">-ir</a> <a
1505
href="xicclu.html#p1">PrinterB.icm</a><br>
1507
<img style="width: 250px; height: 250px;" alt="sadsadas"
1508
src="Kgraph5.jpg"><br>
1511
<hr style="margin-left: 0px; margin-right: auto; width: 20%; height:
1513
<span style="font-weight: bold;">Examples of other inkings:<br>
1515
</span>A smoothed zero black inking:<br>
1517
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1518
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 .7 .93 .87
1519
1.0</a> <a href="xicclu.html#l">-l290</a> <a
1520
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1521
href="xicclu.html#p1">PrinterBt.icm</a><br>
1523
<img style="width: 250px; height: 250px;" alt="sadsadas"
1524
src="Kgraph6.jpg"><br>
1526
A low black inking:<br>
1528
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1529
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87
1530
0.15</a> <a href="xicclu.html#l">-l290</a> <a
1531
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1532
href="xicclu.html#p1">PrinterBt.icm</a><br>
1534
<img style="width: 250px; height: 250px;" alt="sadsadas"
1535
src="Kgraph7.jpg"><br>
1538
A high black inking:<br>
1540
<a href="xicclu.html">xicclu</a> <a href="xicclu.html#g">-g</a> <a
1541
href="xicclu.html#k">-kp </a><a href="xicclu.html#k">0 0 .93 .87
1542
1.2</a> <a href="xicclu.html#l">-l290</a> <a
1543
href="xicclu.html#f">-fif</a> <a href="xicclu.html#i">-ir</a> <a
1544
href="xicclu.html#p1">PrinterBt.icm</a><br>
1546
<img style="width: 250px; height: 250px;" alt="sadsadas"
1547
src="Kgraph8.jpg"><br>
1549
<span style="font-weight: bold;"></span>
1550
<h4>Overriding the ink limit<br>
1552
Normally the total ink limit will be read from the <span
1553
style="font-weight: bold;">PrinterB.ti3</span> file, and will be
1554
set at a level 10% lower than the number used in creating the test
1555
chart values using <a href="targen.html#l">targen -l</a>. If you
1556
want to override this with a lower limit, then use the <a
1557
href="colprof.html#l">-l flag</a>.<br>
1559
<a href="colprof.html">colprof</a> <a href="colprof.html#v">-v</a>
1560
<a href="colprof.html#E">-D"Printer B"</a> <a href="colprof.html#q">-qm</a>
1561
<a href="colprof.html#S">-S</a><a href="colprof.html#S"> sRGB.icm</a>
1562
<a href="colprof.html#c">-cmt</a> <a href="colprof.html#d">-dpp</a>
1563
<a href="colprof.html#k">-kr</a> <a href="xicclu.html#l">-l290</a>
1564
<a href="colprof.html#p1">PrinterB</a><br>
1566
Make sure you check the delta E report at the end of the profile
1567
creation, to see if the profile is behaving reasonably.<br>
1569
One way of checking that your ink limit is not too high, is to use "<span
1570
style="font-weight: bold;">xicc -fif -ia</span>" to check, by
1571
setting different ink limits using the <span style="font-weight:
1572
bold;">-l</span> option, feeding Lab = 0 0 0 into it, and checking
1573
the resulting black point. Starting with the ink limit used
1574
with <span style="font-weight: bold;">targen</span> for the test
1575
chart, reduce it until the black point starts to be affected. If it
1576
is immediately affected by any reduction in the ink limit, then the
1577
black point may be improved by increasing the ink limit used to
1578
generate the test chart and then re-print and re-measuring it,
1579
assuming other aspects such as wetness, smudging, spreading or
1580
drying time are not an issue.<br>
1582
<hr style="width: 100%; height: 2px;"><br>
1583
<h3><a name="PC1"></a>Calibrating Printers<br>
1585
<span style="font-weight: bold;">Profiling</span> creates a
1586
description of how a device behaves, while <span
1587
style="font-weight: bold;">calibration</span> on the other hand is
1588
intended to <span style="text-decoration: underline;">change</span>
1589
how a device behaves. Argyll has the ability to create per-channel
1590
device space calibration curves for print devices, that can then be
1591
used to improve the behavior of of the device, making a subsequent
1592
profile fit the device more easily and also allow day to day
1593
correction of device drift without resorting to a full re-profile.<br>
1595
<span style="font-weight: bold;">NOTE:</span> Because calibration
1596
adds yet another layer to the way color is processed, it is
1597
recommended that it not be attempted until the normal profiling
1598
workflow is established, understood and verified.<br>
1599
<h4><a name="PC2"></a>Calibrated print workflows</h4>
1600
There are two main workflows that printer calibration curves can be
1603
<span style="text-decoration: underline;">Workflow <span
1604
style="font-weight: bold;">with</span> native calibration
1605
capability</span>:<br>
1607
Firstly the printer itself may have the capability of using per
1608
channel calibration curves. In this situation, the calibration
1609
process will be largely independent of profiling. Firstly the
1610
printer is configured to have both its color management and
1611
calibration disabled (the latter perhaps achieved by loading linear
1612
calibration curves), and a print calibration test chart that
1613
consists of per channel color wedges is printed. The calibration
1614
chart is read and the resulting .ti3 file converted into calibration
1615
curves by processing it using <span style="font-weight: bold;">printcal</span>.
1616
The calibration is then installed into the printer. Subsequent
1617
profiling will be performed on the <span style="text-decoration:
1618
underline;">calibrated</span> printer (ie. the profile test chart
1619
will have the calibration curves applied to it by the printer, and
1620
the resulting ICC profile will represent the behavior of the
1621
calibrated printer.)<br>
1623
<span style="text-decoration: underline;">Workflow <span
1624
style="font-weight: bold;">without</span> native calibration
1625
capability</span>:<br>
1627
The second workflow is one in which the printer has no calibration
1628
capability itself. In this situation, the calibration process will
1629
have to be applied using the ICC color management tools, so careful
1630
coordination with profiling is needed. Firstly the printer is
1631
configured to have its color management disabled, and a print
1632
calibration test chart that consists of per channel color wedges is
1633
printed. The calibration chart is converted into calibration curves
1634
by reading it and then processing the resultant .ti3 using <span
1635
style="font-weight: bold;">printcal</span>,. During the subsequent
1636
<span style="text-decoration: underline;">profiling</span>, the
1637
calibration curves will need to be applied to the profile test chart
1638
in the process of using <span style="font-weight: bold;">printtarg</span>.
1639
Once the the profile has been created, then in subsequent printing
1640
the calibration curves will need to be applied to an image being
1641
printed either explicitly when using <span style="font-weight:
1642
bold;">cctiff</span> to apply color profiles <span
1643
style="text-decoration: underline;">and</span> calibration, <span
1644
style="font-weight: bold;">OR</span> by creating a version of the
1645
profile that has had the calibration curves incorporated into it
1646
using the <span style="font-weight: bold;">applycal</span> tool.
1647
The latter is useful when some CMM (color management module) other
1648
than <span style="font-weight: bold;">cctiff </span>is being used.<br>
1650
Once calibration aim targets for a particular device and mode
1651
(screening, paper etc.) have been established, then the printer can
1652
be re-calibrated at any time to bring its per channel behavior back
1653
into line if it drifts, and the new calibration curves can be
1654
installed into the printer, or re-incorporated into the profile.
1656
<h4><a name="PC3"></a>Creating a print calibration test chart</h4>
1657
The first step is to create a print calibration test chart. Since
1658
calibration only creates per-channel curves, only single channel
1659
step wedges are required for the chart. The main choice is the
1660
number of steps in each wedge. For simple fast calibrations perhaps
1661
as few as 20 steps per channel may be enough, but for a better
1662
quality of calibration something like 50 or more steps would be a
1665
Let's consider two devices in our examples, "PrinterA" which is an
1666
"RGB" printer device, and "PrinterB" which is CMYK. In fact there is
1667
no such thing as a real RGB printer, since printers use white media
1668
and the colorant must subtract from the light reflected on it to
1669
create color, but the printer itself turns the incoming RGB into the
1670
native print colorspace, so for this reason we are careful to tell
1671
targen to use the "Print RGB" colorspace, so that it knows to create
1672
step wedges from media white to full colorant values.<br>
1674
For instance, to create a 50 steps per channel calibration test
1675
chart for our RGB and CMYK devices, the following would be
1678
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a>
1679
<a href="targen.html#d">-d2</a> <a href="targen.html#s">-s50</a>
1680
<a href="targen.html#e">-e3</a> <a href="targen.html#f">-f0</a> <a
1681
href="targen.html#p1">PrinterA_c</a><br>
1683
<a href="targen.html">targen</a> <a href="targen.html#v">-v</a>
1684
<a href="targen.html#d">-d4</a> <a href="targen.html#s">-s50</a>
1685
<a href="targen.html#e">-e4</a> <a href="targen.html#f">-f0</a> <a
1686
href="targen.html#p1">PrinterB_c</a><br>
1687
<a href="targen.html#p1"></a><br>
1688
For an outline of how to then print and read the resulting test
1689
chart, see <a href="Scenarios.html#PP2b">Printing a print
1690
profile test chart</a>, and <a href="Scenarios.html#PP3">Reading
1691
a print test chart using an instrument</a>. Note that the printer
1692
must be in an un-profiled and un-calibrated mode when doing this
1693
print. Having done this, there will be a PrinterA.ti3 or
1694
PrinterB.ti3 file containing the step wedge calibration chart
1697
<span style="font-weight: bold;">NOTE</span> that if you are
1698
calibrating a raw printer driver, and there is considerable dot
1699
gain, then you may want to use the <a href="targen.html#p">-p</a>
1700
parameter to adjust the test chart point distribution to spread them
1701
more evenly in perceptual space, giving more accurate control over
1702
the calibration. Typically this will be a value greater than one for
1703
a device that has dot gain, e.g. values of 1.5, 2.0 or 2.5 might be
1704
good places to start. You can do a preliminary calibration and use
1705
the verbose output of printcal to recommend a suitable value for <span
1706
style="font-weight: bold;">-p</span>.<br>
1707
<h4><a name="PC4"></a>Creating a printer calibration<br>
1709
The <a href="printcal.html">printcal</a> tool turns a calibration
1710
chart <a href="File_Formats.html#.ti3">.ti3</a> file into a <a
1711
href="File_Formats.html#.cal">.cal</a> file. It has three main
1712
operating modes:- Initial calibration, Re-Calibration, and
1713
Verification. (A fourth mode, "Imitation" is very like Initial
1714
Calibration, but is used for establishing a calibration target that
1715
a similar printer can attempt to imitate.)<br>
1717
The distinction between Initial Calibration and Re-Calibration is
1718
that in the initial calibration we establish the "aim points" or
1719
response we want out of the printer after calibration. There are
1720
three basic parameters to set this for each channel: Maximum level,
1721
minimum level, and curve shape.<br>
1723
By default the maximum level will be set using a heuristic which
1724
attempts to pick the point when there is diminishing returns for
1725
applying more colorant. This can be overridden using the <span
1726
style="font-weight: bold;">-x# percent</span> option, where <span
1727
style="font-weight: bold;">#</span> represents the choice of
1728
channel this will be applied to. The parameter is the percentage of
1729
device maximum. <br>
1731
The minimum level defaults to 0, but can be overridden using the <span
1732
style="font-weight: bold;">-n# deltaE</span> option. A minimum of
1733
0 means that zero colorant will correspond to the natural media
1734
color, but it may be desirable to set a non-pure media color using
1735
calibration for the purposes of emulating some other media. The
1736
parameter is in Delta E units.<br>
1738
The curve shape defaults to being perceptually uniform, which means
1739
that even steps of calibrated device value result in perceptually
1740
even color steps. In some situations it may be desirable to alter
1741
this curve (for instance when non color managed output needs to be
1742
sent to the calibrated printer), and a simple curve shape target can
1743
be set using the <span style="font-weight: bold;">-t# percent</span>
1744
parameter. This affects the output value at 50% input value, and
1745
represents the percentage of perceptual output. By default it is 50%
1746
perceptual output for 50% device input.<br>
1748
Once a device has been calibrated, it can be re-calibrated to the
1749
same aim target.<br>
1751
Verification uses a calibration test chart printed through the
1752
calibration, and compares the achieved response to the aim target.<br>
1754
The simplest possible way of creating the <span style="font-weight:
1755
bold;">PrinterA.cal</span> file is:<br>
1757
<a href="printcal.html">printcal</a> <a
1758
href="printcal.html#i">-i</a> <a href="colprof.html#p2">PrinterA_c</a><br>
1760
For more detailed information, you can add the <span
1761
style="font-weight: bold;">-v</span> and <span
1762
style="font-weight: bold;">-p</span> flags:<br>
1764
<a href="printcal.html">printcal</a> <a
1765
href="printcal.html#v">-v</a> <a href="printcal.html#p">-p</a> <a
1766
href="printcal.html#i">-i</a> <a href="colprof.html#p2">PrinterB_c</a><br>
1768
(You will need to select the plot window and hit a key to advance
1769
past each plot).<br>
1771
For re-calibration, the name of the previous calibration file will
1772
need to be supplied, and a new calibration<br>
1773
file will be created:<br>
1775
<a href="printcal.html">printcal</a> <a
1776
href="printcal.html#v">-v</a> <a href="printcal.html#p">-p</a> <a
1777
href="printcal.html#r">-r</a> <a href="colprof.html#p1">PrinterB_c_old</a>
1778
<a href="colprof.html#p2">PrinterB_c_new</a><br>
1780
Various aim points are normally set automatically by <span
1781
style="font-weight: bold;">printcal</span>, but these can be
1782
overridden using the <a href="colprof.html#x">-x</a>, <a
1783
href="colprof.html#n">-n</a> and <a href="colprof.html#t">-t</a>
1784
options. e.g. say we wanted to set the maximum ink for Cyan to 80%
1785
and Black to 95%, we might use:<br>
1787
<a href="printcal.html">printcal</a> <a
1788
href="printcal.html#v">-v</a> <a href="printcal.html#p">-p</a> <a
1789
href="printcal.html#i">-i</a> <a href="colprof.html#x">-xc 80</a>
1790
<a href="colprof.html#x">-xk 95</a> <a href="colprof.html#p2">PrinterB_c</a><br>
1792
<a href="colprof.html#p2"></a>
1793
<h4><a name="PC5"></a>Using a printer calibration</h4>
1794
The resulting calibration curves can be used with the following
1795
other Argyll tools:<br>
1797
<a href="printtarg.html#K">printtarg</a>
1730
a profile test chart, and/or to have it
1731
included in .ti3 file.<br>
1732
<a href="cctiff.html#p2">cctiff</a>
1811
and/or to have it included in .ti3 file.<br>
1812
<a href="cctiff.html#p2">cctiff</a>
1737
and calibration to an image file.<br>
1738
<a href="applycal.html#p1">applycal</a>
1744
<a href="chartread.html#I">chartread</a>
1827
<a href="applycal.html#p1">applycal</a>
1833
To incorporate calibration into an ICC profile.<br>
1834
<a href="chartread.html#I">chartread</a>
1749
assumed when reading a profile chart.<br>
1752
In a workflow <span style="font-weight: bold;">with</span> native
1753
calibration capability, the calibration curves would be used with
1754
printarg during subsequent <span style="font-weight: bold;">profiling</span>
1755
so that any ink limit calculations will reflect final device values,
1756
while not otherwise using the calibration within the ICC workflow:<br>
1758
<a href="printtarg.html">printtarg</a> <a
1759
href="printtarg.html#v">-v</a>
1760
<a href="printtarg.html#i">-ii1</a> <a href="printtarg.html#p">-pA4</a>
1761
<a href="printtarg.html#I">-I PrinterA_c.cal</a>
1762
<a href="printtarg.html#p1">PrinterA</a><br>
1764
This will cause the .ti2 and resulting .ti3 and ICC profiles to contain
1765
the calibration curves, allowing all the tools to be able to compute
1766
final device value ink limits. The calibration curves must also of
1767
course be installed into the printer. The means to do this is currently
1768
outside the scope of Argyll (ie. either the print system needs to be
1769
able to understand Argyll CAL format files, or some tool will be
1770
needed to convert Argyll CAL files into the printer calibration format).<br>
1773
In a workflow <span style="font-weight: bold;">without</span> native
1774
calibration capability, the calibration curves would be used with
1775
printarg to <span style="text-decoration: underline;">apply</span> the
1776
calibration to the test patch samples during subsequent <span
1777
style="font-weight: bold;">profiling</span>, as well as embedding it
1778
in the resulting .ti3 to allow all the tools to be able to compute
1779
final device value ink limits:<br>
1781
<a href="printtarg.html">printtarg</a> <a
1782
href="printtarg.html#v">-v</a>
1783
<a href="printtarg.html#i">-ii1</a> <a href="printtarg.html#p">-pA4</a>
1784
<a href="printtarg.html#K">-K PrinterA_c.cal</a>
1785
<a href="printtarg.html#p1">PrinterA</a><br>
1786
<a href="cctiff.html#p4"></a><br>
1787
To apply calibration to an ICC profile, so that a calibration unaware
1788
CMM can be used:<br>
1790
<a href="applycal.html">applycal</a> <a
1791
href="applycal.html#p1">PrinterA.cal</a> <a href="applycal.html#p2">PrinterA.icm</a>
1792
<a href="applycal.html#p3">PrinterA_cal.icm</a><br>
1794
To apply color management and calibration to a raster image:<br>
1796
<a href="cctiff.html">cctiff</a> <a
1797
href="cctiff.html#p1">Source2Destination.icm</a>
1798
<a href="cctiff.html#p2">PrinterA_c.cal</a>
1799
<a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
1802
Another useful tool is <a href="synthcal.html">synthcal</a>, that
1803
allows creating linear or synthetic calibration files for disabling
1804
calibration or testing.<br>
1805
Similarly, <a href="fakeread.html">fakeread</a> also supports applying
1806
calibration curves and embedding them in the resulting .ti3 file<br>
1807
<h4><a name="PC6"></a>How profile ink limits are handled when
1808
calibration is being used.</h4>
1809
Even though the profiling process is carried out on top of the
1810
linearized device, and the profiling is generally unaware of the
1811
underlying non-linearized device values, an exception is made in the
1812
calculation of ink limits during profiling. This is made possible
1813
by including the calibration curves in the profile charts .ti2 and
1814
subsequent .ti3 file and resulting ICC profile <span
1815
style="font-weight: bold;">'targ'</span> text tag, by way of the <span
1816
style="font-weight: bold;">printtarg</span> <span
1817
style="font-weight: bold;">-I</span> or <span
1818
style="font-weight: bold;">-K</span> options. This is done on the
1819
assumption that the physical quantity of ink is what's important in
1820
setting the ink limit, and that the underlying non-linearized device
1821
values represent such a physical quantity.<br>
1824
<hr size="2" width="100%">
1825
<h3><a name="LP1"></a>Linking Profiles</h3>
1826
Two device profiles can be linked together to create a device link
1828
than encapsulates a particular device to device transform. Often this
1829
step is not necessary, as many systems and tools will link two
1830
device profiles "on the fly", but creating a device link profile gives
1831
you the option of using "smart CMM" techniques, such as true gamut
1832
mapping, improved inverse transform accuracy, tailored black
1836
The overall process is to link the input space and
1837
output space profiles using <a href="collink.html">collink</a>,
1838
creating a device to device link profile. The device to device link
1839
profile can then be used by cctiff (or other ICC device profile capable
1841
correct a raster files.<br>
1843
Three examples will be given here, showing the three different modes
1844
than <span style="font-weight: bold;">collink</span> supports.<br>
1846
In <a href="collink.html#s">simple mode</a>, the two profiles are
1847
linked together in a similar fashion to other <span
1848
style="font-weight: bold;">CMMs</span> simply using the forward and
1849
backwards color transforms defined by the profiles. Any gamut mapping
1850
is determined by the content of the tables within the two profiles,
1851
together with the particular intent chosen. Typically the same intent
1852
will be used for both the source and destination profile:<br>
1854
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
1855
href="collink.html#q">-qm</a> <a href="collink.html#s">-s</a> <a
1856
href="collink.html#si">-ip</a> <a href="collink.html#so">-op</a> <a
1857
href="collink.html#p1">SouceProfile.icm</a> <a href="collink.html#p2">DestinationProfile.icm</a>
1858
<a href="collink.html#p3">Source2Destination.icm</a><br>
1861
In <a href="collink.html#g">gamut mapping mode</a>, the pre-computed
1862
intent mappings inside the profiles are not used, but instead the gamut
1863
mapping between source and destination is tailored to the specific
1864
gamuts of the two profiles, and the intent parameter supplied to <span
1865
style="font-weight: bold;">collink</span>. Additionally, source and
1866
destination viewing conditions should be provided, to allow the color
1867
appearance space conversion to work as intended. The colorimetric B2A
1868
table in the destination profile is used, and this will determine any
1869
black generation and ink limiting:<br>
1871
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
1872
href="collink.html#q">-qm</a> <a href="collink.html#g">-g</a> <a
1873
href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a> <a
1874
href="collink.html#d">-dpp</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
1875
<a href="collink.html#p2">DestinationProfile.icm</a>
1876
<a href="collink.html#p3">Source2Destination.icm</a><br>
1879
In <a href="collink.html#G">inverse output table gamut mapping mode</a>,
1884
inside the profiles are not used, but
1885
instead the gamut mapping between source and destination is tailored to
1886
the specific gamuts of the two profiles, and the intent parameter
1887
supplied to <span style="font-weight: bold;">collink</span>. In
1888
addition, the B2A table is <span style="font-weight: bold;">not</span>
1889
used in the destination profile, but the
1890
A2B table is instead inverted, leading to improved transform accuracy,
1891
and in CMYK devices, allowing the ink limiting and black generation
1892
parameters to be set:<br>
1894
For a CLUT table based RGB printer destination profile, the following
1895
would be appropriate:<br>
1897
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
1898
href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
1899
href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a> <a
1900
href="collink.html#d">-dpp</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
1901
<a href="collink.html#p2">RGBDestinationProfile.icm</a>
1902
<a href="collink.html#p3">Source2Destination.icm</a><br>
1904
For a CMYK profile, the total ink limit needs to be specified (a
1905
typical value being 10% less than the value used in creating the device
1906
test chart), and the type of black generation also needs to be
1909
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
1910
href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
1911
href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a> <a
1912
href="collink.html#d">-dpp</a> <a href="collink.html#l">-l250</a> <a
1913
href="collink.html#k">-kr</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
1914
<a href="collink.html#p2">CMYKDestinationProfile.icm</a>
1915
<a href="collink.html#p3">Source2Destination.icm</a><br>
1917
Note that you should set the source (<a href="collink.html#c">-c</a>)
1919
destination (<a href="collink.html#d">-d</a>)
1920
viewing conditions for the type of device the profile represents, and
1921
the conditions under which it will be viewed.<br>
1923
<h3><a name="LP2"></a>Soft Proofing Link</h3>
1924
Often it is desirable to get an idea what a particular devices output
1925
will look like using a different device. Typically this might be trying
1926
to evaluate print output using a display. Often it is sufficient to use
1927
an absolute or relative colorimetric transform from the print device
1928
space to the display space, but while these provide a colorimetric
1929
preview of the result, they do not take into account the subjective
1930
appearance differences due to the different device conditions. It can
1931
therefore be useful to create a soft proof appearance transform using
1934
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a> <a
1935
href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
1936
href="collink.html#si">-ila</a> <a href="collink.html#c">-cpp</a> <a
1937
href="collink.html#d">-dmt</a> <a href="collink.html#l">-t250</a> <a
1938
href="collink.html#k"></a><a href="collink.html#p1">CMYKDestinationProfile.icm</a>
1939
<a href="collink.html#p2">MonitorProfile.icm</a> <a
1940
href="collink.html#p3">SoftProof.icm</a><br>
1942
We use the Luminance matched
1943
appearance intent, to preserve the subjective apperance of the target
1944
device, which takes into account the viewing conditions and assumes
1945
adaptation to the differences in the luminence range, but otherwise not
1946
attempting to compress or change the gamut.<br>
1948
<hr size="2" width="100%"><br>
1949
<h3><a name="TR1"></a>Transforming colorspaces of raster files</h3>
1950
Although a device profile or device link profile may be useful with
1951
other programs and systems, Argyll provides the tool <a
1952
href="cctiff.html">cctiff</a> for directly applying a device to device
1953
transform to a <a href="File_Formats.html#TIFF">TIFF</a> raster file.
1954
The cctiff tool is capable of linking an arbitrary sequence of
1955
device profiles, device links, abstract profiles and calibration
1957
profile can be preceded by the <span style="font-weight: bold;">-i</span>
1958
option to indicate the intent that should be used. Both 8 and 16 bit
1960
can be handled, and up to 8 color channels. The color transform is
1961
optimized to perform the overall transformation rapidly.<br>
1963
If a device link is to be used, the following is a typical example:<br>
1965
<a href="cctiff.html">cctiff</a> <a href="cctiff.html#p1">Source2Destination.icm</a>
1966
<a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
1969
</i>If a source and destination profile are to be used, the following
1970
would be a typical example:<br>
1972
<a href="cctiff.html">
1973
cctiff</a> <a href="cctiff.html#i">-ip</a> <a
1974
href="cctiff.html#p1i">SourceProfile.icm</a>
1975
<a href="cctiff.html#i">-ip</a> <a href="cctiff.html#p1o">DestinationProfile.icm</a>
1976
<a href="cctiff.html#p3">infile.tif</a>
1977
<a href="cctiff.html#p4">outfile.tif</a><br>
1981
<hr size="2" width="100%"><br>
1851
In a workflow <span style="font-weight: bold;">with</span> native
1852
calibration capability, the calibration curves would be used with
1853
printarg during subsequent <span style="font-weight: bold;">profiling</span>
1854
so that any ink limit calculations will reflect final device values,
1855
while not otherwise using the calibration within the ICC workflow:<br>
1857
<a href="printtarg.html">printtarg</a> <a
1858
href="printtarg.html#v">-v</a> <a href="printtarg.html#i">-ii1</a>
1859
<a href="printtarg.html#p">-pA4</a> <a href="printtarg.html#I">-I
1860
PrinterA_c.cal</a> <a href="printtarg.html#p1">PrinterA</a><br>
1862
This will cause the .ti2 and resulting .ti3 and ICC profiles to
1863
contain the calibration curves, allowing all the tools to be able to
1864
compute final device value ink limits. The calibration curves must
1865
also of course be installed into the printer. The means to do this
1866
is currently outside the scope of Argyll (ie. either the print
1867
system needs to be able to understand Argyll CAL format files, or
1868
some tool will be needed to convert Argyll CAL files into the
1869
printer calibration format).<br>
1872
In a workflow <span style="font-weight: bold;">without</span>
1873
native calibration capability, the calibration curves would be used
1874
with printarg to <span style="text-decoration: underline;">apply</span>
1875
the calibration to the test patch samples during subsequent <span
1876
style="font-weight: bold;">profiling</span>, as well as embedding
1877
it in the resulting .ti3 to allow all the tools to be able to
1878
compute final device value ink limits:<br>
1880
<a href="printtarg.html">printtarg</a> <a
1881
href="printtarg.html#v">-v</a> <a href="printtarg.html#i">-ii1</a>
1882
<a href="printtarg.html#p">-pA4</a> <a href="printtarg.html#K">-K
1883
PrinterA_c.cal</a> <a href="printtarg.html#p1">PrinterA</a><br>
1884
<a href="cctiff.html#p4"></a><br>
1885
To apply calibration to an ICC profile, so that a calibration
1886
unaware CMM can be used:<br>
1888
<a href="applycal.html">applycal</a> <a
1889
href="applycal.html#p1">PrinterA.cal</a> <a
1890
href="applycal.html#p2">PrinterA.icm</a> <a
1891
href="applycal.html#p3">PrinterA_cal.icm</a><br>
1893
To apply color management and calibration to a raster image:<br>
1895
<a href="cctiff.html">cctiff</a> <a
1896
href="cctiff.html#p1">Source2Destination.icm</a> <a
1897
href="cctiff.html#p2">PrinterA_c.cal</a> <a href="cctiff.html#p3">infile.tif</a>
1898
<a href="cctiff.html#p4">outfile.tif</a><br>
1900
<a href="cctiff.html">cctiff</a> <a
1901
href="cctiff.html#p1">Source2Destination.icm</a> <a
1902
href="cctiff.html#p2">PrinterA_c.cal</a> <a href="cctiff.html#p3">infile.jpg</a>
1903
<a href="cctiff.html#p4">outfile.jpg</a><br>
1906
Another useful tool is <a href="synthcal.html">synthcal</a>, that
1907
allows creating linear or synthetic calibration files for disabling
1908
calibration or testing.<br>
1909
Similarly, <a href="fakeread.html">fakeread</a> also supports
1910
applying calibration curves and embedding them in the resulting .ti3
1912
<h4><a name="PC6"></a>How profile ink limits are handled when
1913
calibration is being used.</h4>
1914
Even though the profiling process is carried out on top of the
1915
linearized device, and the profiling is generally unaware of the
1916
underlying non-linearized device values, an exception is made in the
1917
calculation of ink limits during profiling. This is made possible by
1918
including the calibration curves in the profile charts .ti2 and
1919
subsequent .ti3 file and resulting ICC profile <span
1920
style="font-weight: bold;">'targ'</span> text tag, by way of the <span
1921
style="font-weight: bold;">printtarg</span> <span
1922
style="font-weight: bold;">-I</span> or <span style="font-weight:
1923
bold;">-K</span> options. This is done on the assumption that the
1924
physical quantity of ink is what's important in setting the ink
1925
limit, and that the underlying non-linearized device values
1926
represent such a physical quantity.<br>
1929
<hr size="2" width="100%">
1930
<h3><a name="LP1"></a>Linking Profiles</h3>
1931
Two device profiles can be linked together to create a device link
1932
profile, than encapsulates a particular device to device transform.
1933
Often this step is not necessary, as many systems and tools will
1934
link two device profiles "on the fly", but creating a device link
1935
profile gives you the option of using "smart CMM" techniques, such
1936
as true gamut mapping, improved inverse transform accuracy, tailored
1937
black generation and ink limiting.<br>
1939
The overall process is to link the input space and output space
1940
profiles using <a href="collink.html">collink</a>, creating a
1941
device to device link profile. The device to device link profile can
1942
then be used by cctiff (or other ICC device profile capable tools),
1943
to color correct a raster files.<br>
1945
Three examples will be given here, showing the three different modes
1946
than <span style="font-weight: bold;">collink</span> supports.<br>
1948
In <a href="collink.html#s">simple mode</a>, the two profiles are
1949
linked together in a similar fashion to other <span
1950
style="font-weight: bold;">CMMs</span> simply using the forward
1951
and backwards color transforms defined by the profiles. Any gamut
1952
mapping is determined by the content of the tables within the two
1953
profiles, together with the particular intent chosen. Typically the
1954
same intent will be used for both the source and destination
1957
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a>
1958
<a href="collink.html#q">-qm</a> <a href="collink.html#s">-s</a> <a
1959
href="collink.html#si">-ip</a> <a href="collink.html#so">-op</a>
1960
<a href="collink.html#p1">SouceProfile.icm</a> <a
1961
href="collink.html#p2">DestinationProfile.icm</a> <a
1962
href="collink.html#p3">Source2Destination.icm</a><br>
1965
In <a href="collink.html#g">gamut mapping mode</a>, the
1966
pre-computed intent mappings inside the profiles are not used, but
1967
instead the gamut mapping between source and destination is tailored
1968
to the specific gamuts of the two profiles, and the intent parameter
1969
supplied to <span style="font-weight: bold;">collink</span>.
1970
Additionally, source and destination viewing conditions should be
1971
provided, to allow the color appearance space conversion to work as
1972
intended. The colorimetric B2A table in the destination profile is
1973
used, and this will determine any black generation and ink limiting:<br>
1975
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a>
1976
<a href="collink.html#q">-qm</a> <a href="collink.html#g">-g</a> <a
1977
href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a>
1978
<a href="collink.html#d">-dpp</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
1979
<a href="collink.html#p2">DestinationProfile.icm</a> <a
1980
href="collink.html#p3">Source2Destination.icm</a><br>
1983
In <a href="collink.html#G">inverse output table gamut mapping mode</a>,
1984
the pre-computed intent mappings inside the profiles are not used,
1985
but instead the gamut mapping between source and destination is
1986
tailored to the specific gamuts of the two profiles, and the intent
1987
parameter supplied to <span style="font-weight: bold;">collink</span>.
1988
In addition, the B2A table is <span style="font-weight: bold;">not</span>
1989
used in the destination profile, but the A2B table is instead
1990
inverted, leading to improved transform accuracy, and in CMYK
1991
devices, allowing the ink limiting and black generation parameters
1994
For a CLUT table based RGB printer destination profile, the
1995
following would be appropriate:<br>
1997
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a>
1998
<a href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
1999
href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a>
2000
<a href="collink.html#d">-dpp</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
2001
<a href="collink.html#p2">RGBDestinationProfile.icm</a> <a
2002
href="collink.html#p3">Source2Destination.icm</a><br>
2004
For a CMYK profile, the total ink limit needs to be specified (a
2005
typical value being 10% less than the value used in creating the
2006
device test chart), and the type of black generation also needs to
2009
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a>
2010
<a href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
2011
href="collink.html#si">-ip</a> <a href="collink.html#c">-cmt</a>
2012
<a href="collink.html#d">-dpp</a> <a href="collink.html#l">-l250</a>
2013
<a href="collink.html#k">-kr</a> <a href="collink.html#p1">MonitorSouceProfile.icm</a>
2014
<a href="collink.html#p2">CMYKDestinationProfile.icm</a> <a
2015
href="collink.html#p3">Source2Destination.icm</a><br>
2017
Note that you should set the source (<a href="collink.html#c">-c</a>)
2018
and destination (<a href="collink.html#d">-d</a>) viewing conditions
2019
for the type of device the profile represents, and the conditions
2020
under which it will be viewed.<br>
2022
<h3><a name="LP2"></a>Soft Proofing Link</h3>
2023
Often it is desirable to get an idea what a particular devices
2024
output will look like using a different device. Typically this might
2025
be trying to evaluate print output using a display. Often it is
2026
sufficient to use an absolute or relative colorimetric transform
2027
from the print device space to the display space, but while these
2028
provide a colorimetric preview of the result, they do not take into
2029
account the subjective appearance differences due to the different
2030
device conditions. It can therefore be useful to create a soft proof
2031
appearance transform using collink:<br>
2033
<a href="collink.html">collink</a> <a href="collink.html#v">-v</a>
2034
<a href="collink.html#q">-qm</a> <a href="collink.html#G">-G</a> <a
2035
href="collink.html#si">-ila</a> <a href="collink.html#c">-cpp</a>
2036
<a href="collink.html#d">-dmt</a> <a href="collink.html#l">-t250</a> <a
2037
href="collink.html#k"></a><a href="collink.html#p1">CMYKDestinationProfile.icm</a>
2038
<a href="collink.html#p2">MonitorProfile.icm</a> <a
2039
href="collink.html#p3">SoftProof.icm</a><br>
2041
We use the Luminance matched appearance intent, to preserve the
2042
subjective apperance of the target device, which takes into account
2043
the viewing conditions and assumes adaptation to the differences in
2044
the luminence range, but otherwise not attempting to compress or
2045
change the gamut.<br>
2047
<hr size="2" width="100%"><br>
2048
<h3><a name="TR1"></a>Transforming colorspaces of raster files</h3>
2049
Although a device profile or device link profile may be useful with
2050
other programs and systems, Argyll provides the tool <a
2051
href="cctiff.html">cctiff</a> for directly applying a device to
2052
device transform to a <a href="File_Formats.html#TIFF">TIFF</a>
2053
or <a href="File_Formats.html#JPEG">JPEG</a> raster file. The
2054
cctiff tool is capable of linking an arbitrary sequence of device
2055
profiles, device links, abstract profiles and calibration curves.
2056
Each device profile can be preceded by the <span
2057
style="font-weight: bold;">-i</span> option to indicate the intent
2058
that should be used. Both 8 and 16 bit per component files can be
2059
handled, and up to 8 color channels. The color transform is
2060
optimized to perform the overall transformation rapidly.<br>
2062
If a device link is to be used, the following is a typical example:<br>
2064
<a href="cctiff.html">cctiff</a> <a href="cctiff.html#p1">Source2Destination.icm</a>
2065
<a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
2067
<a href="cctiff.html">cctiff</a> <a href="cctiff.html#p1">Source2Destination.icm</a>
2068
<a href="cctiff.html#p3">infile.jpg</a> <a href="cctiff.html#p4">outfile.jpg</a><br>
2071
</i>If a source and destination profile are to be used, the
2072
following would be a typical example:<br>
2074
<a href="cctiff.html"> cctiff</a> <a href="cctiff.html#i">-ip</a>
2075
<a href="cctiff.html#p1i">SourceProfile.icm</a> <a
2076
href="cctiff.html#i">-ip</a> <a href="cctiff.html#p1o">DestinationProfile.icm</a>
2077
<a href="cctiff.html#p3">infile.tif</a> <a href="cctiff.html#p4">outfile.tif</a><br>
2079
<a href="cctiff.html"> cctiff</a> <a href="cctiff.html#i">-ip</a>
2080
<a href="cctiff.html#p1i">SourceProfile.icm</a> <a
2081
href="cctiff.html#i">-ip</a> <a href="cctiff.html#p1o">DestinationProfile.icm</a>
2082
<a href="cctiff.html#p3">infile.jpg</a> <a href="cctiff.html#p4">outfile.jpg</a><br>
2085
<hr size="2" width="100%"><br>