summaryrefslogtreecommitdiff
path: root/doc/tiffgamut.html
blob: 534853c3b43b622d5236b999e8896ac2a373fe5f (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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>tiffgamut</title>
    <meta http-equiv="content-type" content="text/html;
      charset=windows-1252">
    <meta name="author" content="Graeme Gill">
  </head>
  <body>
    <h2><b>xicc/tiffgamut</b></h2>
    <h3>Summary</h3>
    Create a gamut file or X3DOM file of the color gamut of the contents
    of a set of TIFF or JPEG image.<br>
    <br>
    <span style="font-weight: bold;">tiffgamut</span> allows creation of
    gamut files from the pixel values in a set of TIFF and/or JPEG
    raster images, as defined by an ICC profile, in L*a*b* or CIECAM02
    Jab colorspace, and can also represent the gamut as a X3DOM file.
    This can be used for visualizing and comparing the gamut of an image
    to the colorspace it is in, or a colorspace it might get transformed
    into, and can also be used to create an image source gamut for use
    with <a href="collink.html"> collink</a>, something that can be of
    particular importance if your images are encoded in a large gamut
    space such as L*a*b*, ProPhoto, scRGB etc.<br>
    <br>
    <span style="font-weight: bold;">NOTE</span> that if you are
    creating an image gamut suitable for use with the <a
      href="collink.html">collink</a> <a href="collink.html#g">-g</a>
    or <a href="collink.html#G">-G</a> flags, or <a
      href="colprof.html#g">colprof -g</a>, use the Jab appearance space
    intent for appearance space gamut mappings, and the same input
    viewing conditions to be used in <span style="font-weight: bold;">collink</span>
    or <span style="font-weight: bold;">colprof</span> using the -c
    flag, i.e. "tiffgamut -pj -cmt sRGB.icm image.tif" See <a
      href="Scenarios.html#LP3">Image dependent gamut mapping using
      device links</a> for an example workflow.<br>
    <br>
    See <a href="3dformat.html">3D Viewing Format</a> for switching to
    VRML or X3D output format.<br>
    <h3>Usage Summary</h3>
    <span style="font-family: monospace;">tiffgamut [-v level]
      [profile.icm | embedded.tif/jpg] infile1.tif/jpg [infile2.tif/jpg
      ...]</span><br style="font-family: monospace;">
    <span style="font-family: monospace;">&nbsp;-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;







      Verbose</span><br style="font-family: monospace;">
    &nbsp; <span style="font-family: monospace;">-d
      sres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Surface resolution
      details 1.0 - 50.0</span><br style="font-family: monospace;">
    <span style="font-family: monospace;">&nbsp;-w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
emit







      X3DOM .x3d.html file as well as CGATS .gam file</span><br
      style="font-family: monospace;">
    <span style="font-family: monospace;">&nbsp;-n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Don't







      add X3DOM axes or white/black point</span><br style="font-family:
      monospace;">
    <span style="font-family: monospace;">&nbsp;-k&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Add







      markers for prim. &amp; sec. "cusp" points<br>
      &nbsp;-f perc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filter by
      popularity, perc = percent to use<br style="font-family:
        monospace;">
    </span><span style="font-family: monospace;">&nbsp;-i
      intent&nbsp;&nbsp;&nbsp;&nbsp; p = perceptual, 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;
s







      = saturation, a = absolute (default), d = profile default</span><span
      style="font-family: monospace;"></span><br style="font-family:
      monospace;">
    <span style="font-family: monospace;"></span><span
      style="font-family: monospace;">&nbsp;-o
      order&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;
r







      = reverse (priority: monochrome &gt; matrix &gt; lut)<br>
    </span><span style="font-family: monospace;">&nbsp;</span><span
      style="font-family: monospace;">-p oride</span><span
      style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l =
      Lab_PCS (default), j = CIECAM02 Appearance Jab</span><br
      style="font-family: monospace;">
    <span style="font-family: monospace;"></span><span
      style="font-family: monospace;">&nbsp;-c viewcond&nbsp;&nbsp; set
      appearance mode and viewing conditions for CIECAM02,</span><br
      style="font-family: monospace;">
    <span style="font-family: monospace;"></span><span
      style="font-family: monospace;"></span><span style="font-family:
      monospace;">&nbsp;&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><tt> &nbsp; &nbsp;
      &nbsp; &nbsp;&nbsp; &nbsp; </tt><tt><tt>pc - Critical print
        evaluation environment (ISO-3664 P1)</tt><tt><br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </tt>pp
      - Practical Reflection Print (ISO-3664 P2)<br>
      &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; pe - Print evaluation
      environment (CIE 116-1995)<br>
    </tt><tt>&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; pm - Print
      evaluation with partial Mid-tone adaptation</tt><br
      style="font-family: monospace;">
    <span style="font-family: monospace;">&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><br style="font-family: monospace;">
    <span style="font-family: monospace;">&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; c = transparency (default average)</span><br
      style="font-family: monospace;">
    <span style="font-family: monospace;">&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)</span><br
      style="font-family: monospace;">
    <span style="font-family: monospace;">&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;
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;&nbsp;
b:background







      Background % of image luminance (default 20)<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; l:imagewhite Image
      white in cd.m^2 if surround = auto (default 250)</span><br
      style="font-family: monospace;">
    <span style="font-family: monospace;"><span style="font-family:
        monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        f:flare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Flare light % of image
        luminance (default 1)<br>
      </span>&nbsp;</span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

      g:glare&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare light % of ambient
      (default 5)</span><br style="font-family: monospace;">
    <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp; &nbsp;
      &nbsp;&nbsp; g:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare color as
      XYZ (default media white)</span><br style="font-family:
      monospace;">
    <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;






      g:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Glare color as x,
      y</span><br>
    <span style="font-family: monospace;"><tt><span style="font-family:
          monospace;"><tt><span style="font-family: monospace;"><span
                style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

                h:hkscale&nbsp;&nbsp;&nbsp; Helmholtz-Kohlrausch effect
                scale factor (default 1.0)<br>
              </span></span><span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;





              m:mtaf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mid-tone
              partial adaptation factor (default 0.0)</span><br
              style="font-family: monospace;">
            <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

              m:X:Y:Z&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mid-tone Adaptation
              white as XYZ (default D50)</span><br style="font-family:
              monospace;">
            <span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

              m:x:y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Mid-tone
              Adaptation white as x, y</span></tt></span></tt><br>
    </span> <span style="font-family: monospace;"><span
        style="font-family: monospace;">&nbsp;-x
        pcent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Expand/compress gamut
        cylindrically by percent</span><br>
      &nbsp;-O outputfile Override the default output filename &amp;
      extension.</span><small><span style="font-family: monospace;"><br
          style="font-family: monospace;">
      </span></small><br>
    <h3>Usage Details and Discussion<br>
    </h3>
    The<b> -v</b> flag dumps out the ICC profile header information.<br>
    <br>
    The <b>-d</b> parameter controls the level of detail displayed in
    the surface. The parameter roughly corresponds to a deltaE value, so
    smaller values give greater detail. The default value is around 10,
    and is a good place to start. Small values may take a lot of time to
    generate, and will produce big files.<br>
    <br>
    The <b>-w</b> flag causes a X3DOM file to be produced, as well as a
    gamut file.<br>
    <br>
    The <b>-n</b> flag suppresses the L*a*b* axes being created in the
    X3DOM.<br>
    <br>
    The <span style="font-weight: bold;">-k</span> flag adds markers
    for each of the primary and secondary "cusp" points (Red, Yellow,
    Green, Cyan, Blue &amp; Magenta). No markers will be displayed if
    the cusps cannot be determined.<br>
    <br>
    The <span style="font-weight: bold;">-f</span> <span
      style="font-weight: bold;">perc</span> parameter turns on
    filtering of the raster colors. The colors from the image are
    clustered, and then sorted according to popularity, and then the <span
      style="font-weight: bold;">perc</span> most common percentage of
    colors are used to create the gamut surface. This may be useful in
    creating a source gamut mapping surface that favors the important
    colors within an image, and doesn't attempt to compress the color
    reproduction in order to reproduce the little used colors. A value
    of <span style="font-weight: bold;">perc</span> of 90 or 80 may be
    a good place to start. Note that the filtering is performed
    independently on each raster image processed, with the final gamut
    being the union of all the filtered image gamuts.<br>
    <br>
    The <b>-i</b> flag selects the intent transform used for a lut
    based profile. It also selects between relative and absolute
    colorimetric for non-lut base profiles. Note that anything other
    than colorimetric may not represent the native capabilities of the
    device. The default intent will be absolute colorimetic for L*a*b*
    output, and CIECAM02 appearance for Jab output.<br>
    <br>
    An ICC 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>
    <span style="font-weight: bold;">-p</span>: By default the gamut
    will be created in L*a*b* colorspace. If&nbsp; <span
      style="font-weight: bold;">-pj</span> is selected, then CIECAM02
    appearance space Jab will be used for the output, and the viewing
    conditions will be taken into account. Jab space is what is normally
    needed to be compatible with the default intents used in <a
      href="colprof.html">colprof</a>. <span style="font-weight: bold;"><br>
    </span>Note that the CIECAM02 output space selection by default uses
    the colorimetric transform of the profile resulting in the
    appearance of the native device, but that the perceptual or
    saturation transforms may be used by selecting them using the <span
      style="font-weight: bold;">-i</span> parameter, which may give a
    different result with some profiles. This may be desirable if an
    image is to be transformed through the perceptual or saturation
    tables of a profile as part of a link with an Argyll generated
    output profile, since it will then represent the apparent gamut of
    the image when subject to these tables. 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>
    The <span style="font-weight: bold;">-c</span> parameter sets the
    output space to CIECAM02 appearance Jab values, and also allows
    choosing a set of viewing conditions, either by choosing a typical
    viewing environment, or controlling particular viewing condition
    parameters. This is only functional if an ICC profile is provided.<br>
    <br>
    The <b>-x</b> parameter allows expanding or compressing the
    resulting gamut in a cylindrical direction by the given percentage
    :- i.e "-x 120" will expand by 20%. This may be useful for creating
    a general compression gamut mapping by using such an expanded device
    gamut as input to <a href="collink.html#g">collink -g or -G</a>.<br>
    <br>
    The <span style="font-weight: bold;">-O</span> parameter allows the
    output file name &amp; extension to be specified independently of
    the last tiff/jpeg filename. Note that the full filename must be
    specified, including the extension.<br>
    <br>
    If the TIFF or JPEG files are in a device space (ie. RGB, CMYK
    etc.), then it is necessary to supply an ICC profile to translate
    the device space values to a CIE space value such as L*a*b* or
    CIECAM02 Jab space for creating a gamut surface. For the ICC profile
    provided it is then possible to select exactly what type of
    conversion is used. A TIFF or JPEGfile with an embedded ICC profile
    may be supplied as the profile argument - e.g. to get the gamut of a
    tiff file that contains an embedded profile use something like:<br>
    <br>
    &nbsp;&nbsp;&nbsp; tiffgamut image.tif image.tif<br>
    <br>
    To create a gamut suitable for CIECAM02&nbsp; gamut mapping space in
    colprof or collink, something like<br>
    <br>
    &nbsp;&nbsp;&nbsp; tiffgamut -ir -pj -cmt&nbsp; image.icm image.tif<br>
    <br>
    where the viewing conditions "mt" should the same as the source
    conditions in colprof or collink.<br>
    <br>
    If a TIFF file is already in a CIE space such as CIELab or ICCLab,
    then it is not necessary to select an ICC profile,&nbsp; although a
    PCS to PCS colorspace profile may be chosen. All the TIFF and JPEG
    files must be in the same colorspace.<br>
    <br>
    One or more TIFF and/or JPEG files may be specified, and the gamut
    is the union of the gamuts of each file. This is useful for creating
    an image specific gamut mapping that can be applied to a set of
    images with consistent results between the images. Note that the
    output gamut file name will by default be taken from the last TIFF
    or JPEG file specified, with the .gam extension added automatically.
    The <span style="font-weight: bold;">-O</span> parameter will
    override this default.<br>
    <br>
    <span style="font-weight: bold;">NOTES</span><br>
    <br>
    The white and black points put in the gamut are the colorspace white
    and black points. For the purposes of latter gamut mapping, it is
    assumed that the image should retain it's position within the
    colorspace dynamic range. For an L*a*b* image, the values value
    100,0,0 and 0,0,0 for white and black are assumed. An image in
    L*a*b* should be adjusted be neutral to, and sit within the dynamic
    range of those white and black points.<br>
    <br>
    <br>
    <span style="font-weight: bold;"></span><br>
    <br>
    <br>
  </body>
</html>