summaryrefslogtreecommitdiff
path: root/doc/fakeread.html
blob: 2a7b5c0e36f6bfceaa8e38158fc87f457b231089 (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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>fakeread</title>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <meta name="author" content="Graeme Gill">
  </head>
  <body>
    <h2><b>spectro/fakeread</b></h2>
    <h3>Summary</h3>
    Simulate the measurement of a devices response, using an existing
    device profile, or measured test point data set. The device profile
    can be either an <a href="File_Formats.html#ICC">ICC</a> or <a
      href="File_Formats.html#MPP">MPP</a> profile, or the data set can
    be a <a href="File_Formats.html#.ti3">.ti3</a> file. A device link
    separation or color space conversion can be applied before the
    print/measure simulation, as well as device calibration&nbsp; or
    inverse calibration curves.<br>
    <br>
    <b>fakeread</b> can be useful for creating a data set from an
    existing profile to re-create a different style of profile (i.e.
    create a cLUT profile from a matrix profile), for creating synthetic
    data sets with known amounts of randomness for testing profile
    creation against a perfectly known ideal, or for creating
    verification test sets for checking colorimetric colorspace
    emulation against.<br>
    <br>
    The options below are in the order of color processing that fakeread
    performs.<br>
    <h3>Usage</h3>
    <small><span style="font-family: monospace;">fakeread [-options] </span></small><small><span
        style="font-family: monospace;"></span></small><small><span
        style="font-family: monospace;"></span><i style="font-family:
        monospace;">profile.</i><span style="font-family: monospace;">[icm|mpp|ti3]

      </span><i style="font-family: monospace;">inoutfile</i></small><small><span
        style="font-family: monospace;"><br>
        &nbsp;-v
        [n]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Verbose mode [level]<br>
        &nbsp;-e
        flag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Video encode device input to sepration as:<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        normal 0..1 full range RGB levels (default)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (16-235)/255 "TV" RGB levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec601 YCbCr SD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV"
        levels<br>
        &nbsp;-p <i>separation.icm</i> Use device link separation
        profile on input<br>
        &nbsp;-E
        flag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Video decode separation device output. See -e above<br>
        &nbsp;-k <i>file.cal</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Apply calibration (include in .ti3 output)<br>
        &nbsp;-i <i>file.cal</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Include calibration in .ti3 output, but don't apply it<br>
        &nbsp;-K <i>file.cal</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Apply inverse calibration<br>
        &nbsp;-r
        level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Add
        average random deviation of &lt;level&gt;% to device values
        (after sep. &amp; cal.)<br>
        &nbsp;-0
        pow&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Apply power to device chanel 0-9<br>
        &nbsp;-b <i>output.icm</i>&nbsp;&nbsp;&nbsp;&nbsp; Apply
        BT.1886-like mapping with effective gamma 2.2<br>
        &nbsp;-b g.g:<i>output.icm</i> Apply BT.1886-like mapping with
        effective gamma g.g<br>
        &nbsp;-B <i>output.icm</i>&nbsp;&nbsp;&nbsp;&nbsp; Apply
        BT.1886 mapping with technical gamma 2.4<br>
        &nbsp;-B g.g:<i>output.icm</i> Apply BT.1886 mapping with
        technical gamma g.g<br>
        &nbsp;-I intent&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        r = relative colorimetric, a = absolute (default)<br>
        &nbsp;-A
        L,a,b&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Scale black point to target Lab value<br>
        &nbsp;-l&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Output Lab rather than XYZ<br>
        &nbsp;-s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Lookup </span></small><small><span style="font-family:
        monospace;"><small><a style="font-family: monospace;"
            href="File_Formats.html#MPP">MPP</a></small>
        spectral values</span></small><br>
    <small><span style="font-family: monospace;"><small><span
            style="font-family: monospace;">&nbsp;-R
            level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            Add average random deviation of &lt;level&gt;% to output PCS
            values<br>
          </span></small>&nbsp;-u&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Make random deviations have uniform distributions rather than
        normal<br>
        &nbsp;-S
        seed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Set random seed<br>
      </span><span style="font-family: monospace;">&nbsp;</span><i
        style="font-family: monospace;">profile.</i><span
        style="font-family: monospace;">[icm|mpp|ti3] &nbsp; &nbsp; </span><a
        style="font-family: monospace;" href="File_Formats.html#ICC">ICC</a><span
        style="font-family: monospace;">, </span><a style="font-family:
        monospace;" href="File_Formats.html#MPP">MPP</a><span
        style="font-family: monospace;"> or&nbsp;</span><a
        style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
        style="font-family: monospace;"> profile/file to use</span><br
        style="font-family: monospace;">
      &nbsp; <span style="font-family: monospace;"></span><i
        style="font-family: monospace;">inoutfile</i><span
        style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;
&nbsp;


        &nbsp; Base name for input[</span><a style="font-family:
        monospace;" href="File_Formats.html#.ti1">.ti1</a><span
        style="font-family: monospace;">]/output[</span><a
        style="font-family: monospace;" href="File_Formats.html#.ti3">.ti3</a><span
        style="font-family: monospace;">] file</span></small><br>
    <b><br>
      Examples</b><br>
    <br>
    fakeread profile.icm testvalues<br>
    fakeread -p separation.icm profile.icm testvalues<br>
    <h3>Comments<br>
    </h3>
    <a name="v"></a>The <span style="font-weight: bold;">-v</span> flag
    reports extra information, e.g. on what BT.1886 option is doing. A
    level &gt; 1 will be more verbose.<br>
    <br>
    <a name="e"></a>The <b>-e</b> <i>flag</i> applies a Video encoding
    to the input of the separation.<small><small><br>
        <br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        normal 0..1 full range RGB levels (default)<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        t&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        (16-235)/255 "TV" RGB levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec601 YCbCr SD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec709 1125/60Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec709 1250/50Hz YCbCr HD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec2020 YCbCr UHD (16-235,240)/255 "TV" levels<br>
        &nbsp;&nbsp;&nbsp;&nbsp;
        C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        Rec2020 Constant Luminance YCbCr UHD (16-235,240)/255 "TV" lev</small></small><br>
    <br>
    <a name="p"></a>The <span style="font-weight: bold;">-p</span> <b><i>separation.icm</i></b>
    option enables a device to device value conversion before converting
    to expected PCS values. This might be an ink separation of a video
    calibration device link. The argument is the name of the ICC device
    link that defines the separation.<br>
    <br>
    <a name="E"></a>The <b>-E</b> <i>flag</i> applies a Video decoding
    to the output of the separation.<small><small> &nbsp; </small></small>See
    <a href="#e"><b>-e</b></a> for the list of decodings.<br>
    <br>
    <a name="k"></a>The <b>-k file.cal</b> parameter specifies a
    calibration file created by <a
      href="printcal.html">printcal</a> or <a
      href="dispcal.html">dispcal</a>, and the supplied calibration
    curves will be applied to the chart device values after any
    separation and before the device profile. This allows emulating a
    system that uses per device channel calibration. The calibration
    curves will also be included in the resulting .ti3 file, so that
    they can be passed through to the ICC profile allowing accurate
    computation of ink limits.<br>
    <br>
    <a name="i"></a> The <b>-i file.cal</b> parameter specifies a
    printer calibration file created by <a
      href="printcal.html">printcal</a> or <a
      href="dispcal.html">dispcal</a>, and the
    calibration curves will be included in the included in the resulting
    .ti3 file, so that they can be passed through to the ICC profile, to
    allow accurate computation of ink limits. The calibration <span
      style="font-weight: bold;">is not applied</span> to tchart values.
    <span style="font-weight: bold;">Note</span> that if the supplied
    ICC profile contains VCGT calibration curves, that these will be
    included in the resulting .ti3 by default.<br>
    <br>
    <a name="K"></a>The <b>-K</b> <b>file.cal</b> parameter specifies
    a calibration file created by <a
      href="printcal.html">printcal</a> or <a
      href="dispcal.html">dispcal</a>, and the
    inverse of the supplied calibration curves will be applied to the
    chart device values after any separation and before the device
    profile. This allows for undoing calibration curves that may be part
    of a video calibration device link, so that the (calibrated device
    value) device profile will work as expected.<br>
    <br>
    <a name="r"></a>The <span style="font-weight: bold;">-r</span>
    parameter is a way of simulating instability in the behaviour of the
    simulated printing system. The parameter supplied to the flag will
    be used to scale a random offset added to the device values (after
    any separation and calibration is applied). The offset will be a
    normally distributed error with an average deviation of level%. A
    typically value supplied might be 1.0 to simulate 1% randomness.<br>
    <br>
    <a name="0"></a>The <span style="font-weight: bold;">-0, -1, -2 ..
      -9</span> parameters are a way of simulating changes in the
    behavior of the simulated printing system. The parameter supplied to
    the flag will be used to modify the device values (after any
    separation, calibration and device randomness is applied) by raising
    them to the power of the parameter. This applies a transfer curve to
    the simulated device response.<br>
    <br>
    <a name="b"></a>The <b>-b output.icm</b> flag applies extra input
    processing, applying <a
      href="http://www.itu.int/rec/R-REC-BT.1886-0-201103-I">BT.1886</a>-like











    video gamma mapping using an effective gamma of 2.2 by default, and
    overridable using <b>-b g.g:output.icm</b> where <b>g.g</b> is the
    gamma. <b>output.icm</b> is the display ICC profile that provides
    the black point that the BT.1886 curves will target. The gamma is an
    effective gamma, meaning that its effect on 50% input is the same as
    that of a pure power curve, in spite of any black offset added by
    BT.1886. This has the benefit of making the overall effect of
    brightness independent of the black level of the display. Setting an
    effective gamma other than 2.2 is one way of making the viewing
    condition adjustment for the different conditions of video encoding
    and decoding, or for modelling the source colorspace as a rendering
    on a video display. BT.1886 will only work with matrix type input
    profiles. Typically this will be used to create a verification test
    set for checking the operation of a device link or 3dLut created
    using <a href="collink.html">collink</a>, using the same BT.1886
    parameters.<br>
    <br>
    <b><a name="B"></a></b>The <b>-B output.icm</b> flag applies extra
    input processing, applying <a
      href="http://www.itu.int/rec/R-REC-BT.1886-0-201103-I">BT.1886</a>-like











    video gamma mapping using a gamma of 2.4 by default, and overridable
    using <b>-B g.g:output.icm</b> where <b>g.g</b> is the gamma. <b>output.icm</b>
    is the display ICC profile that provides the black point that the
    BT.1886 curves will target. The gamma is the technical gamma, or
    power applied to the input image, and this means that its effect on
    50% input will depend on the black level of the display, making the
    overall brightness somewhat unpredictable. For a more predictable
    effect, use <b>-b</b>.<br>
    <br>
    <a name="I"></a>The <span style="font-weight: bold;">-I</span>
    parameter allows changing the intent used in looking up the ICC
    profile colors to relative colorimetric. This would <span
      style="text-decoration: underline;">not</span> be used if you
    intend to make a profile from the resulting .ti3 file, since
    profiles are always made from absolute colorimetric measurement
    values. Note that this flag does nothing if the profile is an MPP or
    .ti3 file.<br>
    <span style="font-weight: bold;"></span><br>
    <a name="A"></a>The <span style="font-weight: bold;">-A</span>
    parameter is a way of simulating devices that have a different black
    point to the profile used. This only works if an ICC profile is
    used, and scales the black point to the parameter value. This will
    be done in XYZ space by default, and in L*a*b* space if the <a
      href="#l"><span style="font-weight: bold;">-l</span></a> flag is
    used.<br>
    <br>
    <a name="l"></a>The <span style="font-weight: bold;">-l</span> flag
    causes the CIE output values to be L*a*b* rather than the default
    XYZ values.<br>
    <br>
    <a name="s"></a>The <span style="font-weight: bold;">-s</span> flag
    works if a spectral MPP file is being used as a device profile, and
    causes the output to include spectral values.<br>
    <br>
    <a name="R"></a>The <span style="font-weight: bold;">-R</span>
    parameter is a way of simulating instability in the behavior of the
    simulated measuring system. The parameter supplied to the flag will
    be used to scale a random offset added to the PCS values. The offset
    will be a normally distributed error with an average deviation of
    level%. A typically value supplied might be 1.0 to simulate 1%
    randomness. <br>
    <br>
    <a name="u"></a>The <span style="font-weight: bold;">-u</span> flag
    changes the distribution of the random offsets applied using the <span
      style="font-weight: bold;">-r</span> or <span style="font-weight:
      bold;">-R</span> flags, from the default standard deviation, to a
    uniform deviation distribution. The level is still specified as an
    average deviation.<br>
    <br>
    <a name="S"></a>The <span style="font-weight: bold;">-S</span>
    parameter lets a particular random seed be used when generating
    random offsets, so that the randomness can be made repeatable.
    Normally a different seed will be used for each run. <br>
    <br>
    Fakeread is useful in creating artificial test value for testing <a
      href="colprof.html">colprof</a>, as well as providing one path for
    turning an MPP profile into an ICC profile. It can also be used to
    create a reference file for verifying against. If a <a
      href="File_Formats.html#.ti3">.ti3</a> file is specified instead
    of an <a href="File_Formats.html#ICC">ICC</a> or <a
      href="File_Formats.html#MPP">MPP</a> profile, then the closest
    matching measured points in the .<a href="File_Formats.html#.ti3">.ti3</a>
    are substituted for the test values in the <a
      href="File_Formats.html#.ti1">.ti1</a> file on output. If the <a
      href="File_Formats.html#.ti1">.ti1</a> file is a monochrome test
    file with a White device value, then an RGB <a
      href="File_Formats.html#ICC">ICC</a> profile, <a
      href="File_Formats.html#MPP">MPP</a> or <a
      href="File_Formats.html#.ti3">.ti3</a> may be used, and the White
    values will be translated to equal RGB values. If the <a
      href="File_Formats.html#.ti1">.ti1</a> file is a monochrome test
    file with a Black device value, then a CMYK <a
      href="File_Formats.html#ICC">ICC</a> profile, <a
      href="File_Formats.html#MPP">MPP</a> or <a
      href="File_Formats.html#.ti3">.ti3</a> may be used, and the Black
    values will be translated to equal CMY = 0, K = grey values. <span
      style="font-weight: bold;">Note</span> that any calibration within
    a supplied ICC profile is <span style="text-decoration: underline;">not</span>
    applied during the conversion, although it will be included in the
    .ti3 output (see <span style="font-weight: bold;">-k</span> and <span
      style="font-weight: bold;">-i</span> flags for how apply
    calibration curves during the conversion and/or include a specific
    calibration curves in the output).<br>
    <br>
    If a separation device profile is provided (e.g. from CMY -&gt;
    CMYK, or perhaps CMYK-&gt;CMYK, to simulate a color correction step
    before "printing", or perhaps a Video RGB-&gt;RGB calibration link)
    then this will be applied to the .ti1 device values, before
    converting the the device values into .ti3 PCS values.<br>
    <br>
    <br>
    <br>
    <br>
  </body>
</html>