summaryrefslogtreecommitdiff
path: root/doc/xicclu.html
blob: 8377c693ee26edf0f054a534b54bf8b22f854245 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>xicclu</title>
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <meta name="author" content="Graeme Gill">
</head>
<body>
<h2><b>xicc/xicclu</b>&nbsp; </h2>
<h3>Summary&nbsp;<br>
</h3>
Lookup individual color values forward or inverted though an ICC
profile table. <b>xicclu</b> is the analogue of the icclib tool <a
 href="icclu.html">icclu</a>, but expands the capability to reverse
lookup the Lut tables, and displaying PCS values in CIECAM02 Jab space.
<b>xicclu</b>
can also be used to plot the device value composition down the neutral
axis,
for device profiles.<br>
<h3>Usage Summary</h3>
&nbsp;<small><span style="font-family: monospace;">xicclu [-</span><i
 style="font-family: monospace;">options</i><span
 style="font-family: monospace;">] profile</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#v">-v level</a><span
 style="font-family: monospace;"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Verbosity level 0 - 2 (default = 1)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#g">-g</a><span
 style="font-family: monospace;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; Plot slice instead of looking colors up. (Default white to black)<br>
&nbsp;<a href="#Gs">-G s:L:a:b</a>&nbsp;&nbsp;&nbsp;&nbsp; Override
plot slice start with Lab or Jab co-ordinate<br>
&nbsp;<a href="#Ge">-G e:L:a:b</a>&nbsp;&nbsp;&nbsp;&nbsp; Override
plot slice end with Lab or Jab co-ordinate<br
 style="font-family: monospace;">
</span><span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#f">-f function</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp; f = forward, b =
backwards, g = gamut, p = preview</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
if
= inverted forward, ib = inverted backwards</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#i">-i intent</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a =
absolute, r = relative colorimetric,</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></small><small><span style="font-family: monospace;"> p =
perceptual, </span></small><small><span style="font-family: monospace;">s
=
saturation</span><span style="font-family: monospace;"></span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#o">-o order</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n
= normal (priority: lut &gt; matrix &gt; monochrome)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
r
= reverse (priority: monochrome &gt; matrix &gt;
lut)</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#p">-p oride</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x
= XYZ_PCS, X = XYZ * 100, l = Lab_PCS, L = LCh, y = Yxy,<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; j = CIECAM02
Appearance Jab, J = CIECAM02 Appearance JCh<br>
</span><span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#s">-s scale</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Scale device range 0.0 - scale rather than 0.0 - 1.0</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#k">-k [zhxrlv]</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp; Black generation: z
= zero K,</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
h = 0.5 K, x = max K, r = ramp K (def.)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
l = extra PCS input is portion of K locus</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
v = extra PCS input is K target value</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#kp">-k p stle stpo enpo enle
shape</a><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
stle: K level at White 0.0 - 1.0</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
stpo: start point of transition Wh 0.0 - Bk 1.0</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
enpo: End point of transition Wh 0.0 - Bk 1.0</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
enle: K level at Black 0.0 - 1.0</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
shape: 1.0 = straight, 0.0-1.0 concave, 1.0-2.0
convex</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#kq">-k q stle0 stpo0 enpo0
enle0 shape0 stle2 stpo2
enpo2 enle2 shape2</a><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Transfer
extra PCS input to dual curve limits</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#K">-K parameters</a><span
 style="font-family: monospace;">&nbsp; Same as -k, but target is K
locus rather than K value itself</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#l">-l tlimit</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set
total ink limit, 0 - 400% (estimate by default)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#L">-L klimit</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set
black ink limit, 0 - 100% (estimate by default)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#a">-a</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
show
actual target values if clipped<br>
&nbsp;<a href="#b">-b</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
use
CAM Jab for clipping<br style="font-family: monospace;">
</span><span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#m">-m</a><span
 style="font-family: monospace;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
merge output processing into clut</span><span
 style="font-family: monospace;"></span><span
 style="font-weight: bold; font-family: monospace;"></span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;</span><a
 style="font-family: monospace;" href="#c">-c viewcond</a><span
 style="font-family: monospace;">&nbsp;&nbsp;&nbsp; set viewing
conditions
for CIECAM02,</span><br style="font-family: monospace;">
&nbsp;&nbsp;</small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
either an enumerated choice, or a parameter:value change</span><span
 style="font-family: monospace;"></span><br
 style="font-family: monospace;">
<span style="font-family: monospace;"></span></small><small><span
 style="font-family: monospace;">&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; pp - Practical Reflection Print
(ISO-3664 P2)</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
pe - Print evaluation environment (CIE 116-1995)<br>
</span></small><small><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;
pc - Critical print evaluation environment (ISO-3664 P1)</span></small><small><span
 style="font-family: monospace;"></span><span
 style="font-family: monospace;"></span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; &nbsp; mt - Monitor in typical work environment</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;
&nbsp; mb - Monitor in bright work environment</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; md - Monitor in darkened work
environment</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; jm - Projector in dim environment</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; jd - Projector in dark environment</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; pcd - Photo CD - original scene
outdoors</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; ob - Original scene - Bright Outdoors</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp; cx - Cut Sheet Transparencies on a viewing box</span></small><small><span
 style="font-family: monospace;"></span><span
 style="font-family: monospace;"></span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
s:surround&nbsp;&nbsp;
n = auto, a = average, m = dim, d = dark,</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;
&nbsp; &nbsp;&nbsp;&nbsp; c = transparency (default average)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
w:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Adapted white point
as XYZ (default media white, Abs: D50)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
w:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Adapted white point as
x, y</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
a:adaptation
Adaptation luminance in
cd.m^2
(default 50.0)</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b:background Background %
of image luminance (default 20)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Flare
light % of image luminance (default 1)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;
&nbsp;
f:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flare color
as XYZ (default media white, Abs: D50)</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
f:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Flare color as x, y</span><br style="font-family: monospace;">
<br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
</span><a style="font-family: monospace;" href="#p1"><i>inoutfile</i></a><span
 style="font-family: monospace;"> &nbsp;&nbsp; &nbsp;&nbsp; The input
ICC profile</span><br style="font-family: monospace;">
<br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; The colors to
be translated should be fed into
standard in,</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; one input
color per line, white space separated.</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; A line
starting with a # will be ignored.</span><br
 style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; A line not
starting with a number will terminate the
program.</span></small>
<br>
<h3>Flags and Parameters</h3>
<a name="v"></a> The <b>-v</b> parameter sets the level of verbosity.
Default is level 1, which repeats each input value, the colorspaces of
input and output, the type of conversion algorithm used, and if the
result was clipped. Level 2 adds prints extra information about the
profile before doing the conversions. Level 0 turns off all verbosity,
just outputting the results of each conversion. Use the latter to
capture batch output ready for further processing.<br>
<br>
<a name="g"></a>The <b>-g</b> flag causes a plot of the device values
along a slice through the Lab or Jab colorspace, rather than allowing
the interactive looking up of color
values. By default this will be the neutral axis
from the white point to the black point, but the start and end can be
overridden using the <span style="font-weight: bold;">-G</span>
parameters.
This is useful in determining the existing black generation in a CMYK
profile,
or exploring the behavior of various black generation options using
the
<b>-k</b> parameters. The profile must be a device profile, and the PCS
must
be either Lab or Jab. The default plot is up the neutral axis is from
the white to
the black point (scale 0 to 100%), and shows the percentage of each
device colorant. To examine a profiles B2A table black
generation,
use the flag <b>-fb</b> to select the B2A table, or to invert the A2B
table,
and be able to explore black generation behavior, use the <b>-fif</b>
flag.
The appropriate intent can be selected with the <b>-i</b> flag,
&nbsp;as
can other flags appropriate to the function selected.&nbsp; See <a
 href="#xg">example</a>.<br>
<br>
<a name="Gs"></a>The <span style="font-weight: bold;">-G </span><small><span
 style="font-family: monospace;"><span style="font-weight: bold;">s:L:a:b</span></span></small>
parameter overrides the plot slice start point of white, with some
other point specified in Lab or Jab Profile Connection Space. The
parameter must be a single string that combines<span
 style="font-weight: bold;"> s:</span> with the three numbers separated
by the '<span style="font-weight: bold;">:'</span> character (no
spaces).<br>
<br>
<a name="Ge"></a>The <span style="font-weight: bold;">-G </span><small><span
 style="font-family: monospace;"><span style="font-weight: bold;">e:L:a:b</span></span></small>
parameter overrides the plot slice end point of black, with some
other point specified in Lab or Jab Profile Connection Space. The
parameter must be a single string that combines<span
 style="font-weight: bold;"> s:</span> with the three numbers separated
by the '<span style="font-weight: bold;">:'</span> character (no
spaces).<br>
<br>
<a name="f"></a> The <b>-f</b> flag selects which type of table or
conversion is to be used. In addition to the usual four tables that can
be accessed in a fully populated Lut based profile, two additional
options are available in <b>xicclu</b>. One is to invert the forward
table, and the other is to invert the backward table. For non Lut based
profiles, -fif is equivalent to -fb, and -fib is equivalent to -ff.
Note that the -fib combination may not be fully supported.<br>
<br>
<a name="i"></a> The <b>-i</b> flag selects the intent table used for
a lut based
profile. It also selects between relative and absolute colorimetric for
non-lut base profiles.<br>
<br>
<a name="o"></a> A profile is allowed to contain more than the minimum
number of elements or table needed to describe a certain transform, and
may contain redundant descriptions. &nbsp;By default, Lut based table
information will be used first if present, followed by matrix/shaper
information, and only using monochrome information if it is all that is
present. The <b>-o</b> flag, reverses this order.&nbsp;&nbsp;&nbsp; <br>
<br>
<a name="p"></a> Normally the native PCS (Profile Connection Space) of
a device or abstract profile is used, but the <b>-p</b> flag allows
this to be overridden: <span style="font-weight: bold;">-px</span>:
XYZ (scaled to 1.0), <span style="font-weight: bold;">-pX</span>: XYZ
scaled to 100, <span style="font-weight: bold;">-pl</span>: L*a*b*, <span
 style="font-weight: bold;">-pL</span>: LCh, <span
 style="font-weight: bold;">-py</span>: Yxy space, <span
 style="font-weight: bold;">-pj</span>: CIECAM02 appearance space Jab,
or <span style="font-weight: bold;">-pJ</span>: CIECAM02 appearance
space JCh.<span style="font-weight: bold;"><br>
</span>Note that the CIECAM02 output space selection by default uses
the colorimetric table of the profile, but that the perceptual or
saturation tables may be used by selecting them using the <span
 style="font-weight: bold;">-i</span> parameter. If the absolute
colorimetric intent is chosen using <span style="font-weight: bold;">-ia</span>
in combinations with <span style="font-weight: bold;">-pj</span>,
then&nbsp; Jab with
a fixed white reference is used, which emulates an absolute CIECAM02
Jab
appearance space. <br>
<br>
<a name="s"></a> Usually device values are processed and displayed
using a normalized value range between 0.0 and 1.0 Sometimes other
systems scale them to some other range (such as 100 or 255) due to an
underlying binary representation. The <span style="font-weight: bold;">-s</span>
flag lets you input and display such data in its normal range. For
instance, if your device values have a range between 0 and 255, use <span
 style="font-weight: bold;">-s 255.</span><br>
<br>
<a name="k"></a> When inverting a CMYK profile, (ie. using the -fif
flag), an input PCS value can have many possible CMYK solutions. To be
able to return a unique solution, a black level (or black inking rule)
should be chosen. The choice here reflect similar choices in black
generation available in other tools (eg. <a href="colprof.html">colprof</a>,
<a href="collink.html"> collink</a>), with the addition of two extra
options.<br>
<br>
&nbsp;Possible arguments to the <b>-k</b> option are:<br>
<br>
<b> -kz</b> selects minimum black (0.0)<br>
<b> -kh</b> selects a black value of 0.5<br>
<b> -kx</b> selects the maximum possible black (1.0)<br>
<b> -kr</b> selects a linear black ramp, starting at minimum black for
highlight, and maximum black for shadow (equivalent to -kp 0 0 1 1 1).
This is the default.<br>
<b> -kl</b> uses an extra (fourth) value entered after the input PCS
value, to select a black locus target between 0.0 and 1.0.<br>
<b> -kv</b> uses an extra (fourth) value entered after the input PCS
value, to select a black value target value between 0.0 and 1.0.<br>
<br>
<b><a name="kp"></a>-k p stle stpo enpo enle shape</b>&nbsp; allows an
arbitrary black value ramp to be defined, consisting of a starting
value (stle) for highlights, a breakpoint L value (stpo) where it
starts to transition to the shadow level, an end breakpoint L (enpo)
where it flattens out again, and the finishing black level (enle) for
the shadows. There is also a curve parameter, that modifies the
transition from stle to enle to either be concave (ie.&nbsp; the
transition starts gradually and and finished more abruptly) using
values 0.0-1.0, with 0.0 being most concave, or convex (the transition
starts more abruptly but finishes gradually), using values 1.0-2.0,
with 2.0 being the most convex.<br>
<br>
Typical black value generation curve with parameters something
like: -kp 0 .05 1 .9 .8<br>
<br>
<tt> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0 K &nbsp; |
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;enpo<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; &nbsp; &nbsp;_______&nbsp;
enle<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp; &nbsp;/<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp; &nbsp; /<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; &nbsp;/<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; /<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; stle&nbsp;
| ------/<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; +-------------------<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0 K&nbsp;
0.0&nbsp;&nbsp;&nbsp; stpo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
White&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Black<br>
</tt><br>
<b><a name="kq"></a>-k q stle0 stpo0 enpo0 enle0 shape0 stle2 stpo2
enpo2 enle2 shape2</b> is a combination of the <b>-kv</b> and <b>-kp</b>
functionality, with the black being preserved in CMYK to CMYK linking,
with the output black constrained to be between the first and second
set of curve parameters.<br>
<br>
<a name="K"></a> <span style="font-weight: bold;">-K parameters.</span>
Any of the <span style="font-weight: bold;">-k</span> options above
can use the <span style="font-weight: bold;">-K</span> version, in
which rather than a black value target being defined by the inking
rule, a black <span style="text-decoration: underline;">locus</span>
target is defined. For each lookup, the minimum possible black level
and the maximum possible black level is determined, the former
corresponding to a locus target of 0, and the latter corresponding to a
locus target of 1. For instance, at
the
white point, no black will be used in the output, even if the black
locus specifies a maximum (since the maximum amount of black that
can be used to print white is actually zero). Similarly, at the black
point, black may well be used, even if the black locus specifies
zero black (since a certain amount of black is needed to achieve the
desired density of color). <br>
<tt> </tt><span style="text-decoration: underline;"></span><br>
&nbsp;The <b>-g</b> flag can be used together with the <b>-fif</b>
flag, to plot
out the resulting black channel behaviour for various <b>-k</b>
or <span style="font-weight: bold;">-K </span>parameter
values.<br>
<br>
<b><a name="l"></a>-l</b> <i>tlimit</i>&nbsp; &nbsp;&nbsp; Sets the
total ink limit (TAC, Total Area Coverage) for the CMYK inverse forward
lookup, as a total percentage from 0% to 400%. If none is provided, it
will be estimated from the profile relcolor B2A table. The ink limit
will be in final calibrated device values if the profile includes
calibration information.<br>
<br>
<b><a name="L"></a>-L</b> <i>klimit</i>&nbsp; &nbsp; Sets the black
ink limit for the CMYK inverse forward lookup, as a total percentage
from 0% to 100%. If none is provided, it will be estimated from the
profile relcolor B2A table. The ink limit
will be in final calibrated device values if the profile includes
calibration information.<br>
<br>
<a name="a"></a> If the <b>-a</b> flag is used for inverse forward
lookups, then if
the target PCS value cannot be reproduced by the device (ie. it clips),
then the achievable, clipped PCS value is displayed.<br>
<br>
<a name="b"></a> If the <b>-b</b> flag is used for inverse forward
lookups, then out of gamut clipping will be performed in the CIECAM02
Jab appearance colorspace, rather than L*a*b* colorspace.<br>
<br>
<a name="m"></a> The <b>-m</b> flag turns on an internal processing
option, in which the per device curve lookup table processing is merged
into the main multi-dimensional interpolation lut lookup.<br>
<br>
<a name="c"></a>Whenever PCS values are to be specified or displayed in
Jab/CIECAM02
colorspace, a set of viewing conditions will be used to determine the
details of the conversion. The <b>-c</b> parameter allows the
specification of the viewing conditions. Viewing conditions can be
specified in two basic ways. One
is to select from the list of "pre canned", enumerated viewing
conditions, choosing one that is closest to the conditions that are
appropriate for the media type and situation. Alternatively, the
viewing conditions parameters can be specified in detail individually.
If both methods are used, them the chosen enumerated condition will be
used as a base, and its parameters will then be individually overridden.<br>
<br>
<a name="p1"></a> The final parameter is the name of the <a
 href="File_Formats.html#ICC">ICC</a> profile to be used. On the
MSWindows platform a .icm extension is generally used, and on Apple or
Unix/Linux platforms a .icc extension is often used.<br>
<h3>Usage and Discussion</h3>
Typical usage for an output profile might be:<br>
<br>
&nbsp;&nbsp;&nbsp; xicclu -ff -ip profile.icm<br>
<br>
Normally the program is interactive, allowing the user to type in input
color
values, each number separated by a space, and the resulting output
color
being looked up and displayed after pressing return. To batch process
a
group of color values, prepare a text file containing each input value
on
a
separate line, and use the input indirection facilities of your command
line
shell to redirect this input file into the standard input of xicclu.
The
output can be captured to a file by redirecting standard output to a
file.
In most shells this would be done something like this:<br>
<br>
&nbsp;&nbsp;&nbsp; xicclu -ff -ip profile.icm &lt; inputvalues.txt &gt;
outputvalues.txt<br>
<br>
<a name="xg"></a>When plotting the neutral axis behavior, plotting the
existing B2A table
behavior would typically be done something like this:<br>
<br>
&nbsp;&nbsp;&nbsp; xicclu -g -fb profile.icm<br>
<br>
Exploring possible black generation and ink limiting behavior might be
done
like this:<br>
<br>
&nbsp;&nbsp;&nbsp; xicclu -g -fif -kp 0 .1 .9 1 .5 -l230 -L95
profile.icm<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>