]>
Commit | Line | Data |
---|---|---|
80ed523f VZ |
1 | .\" tiffcrop -- a port of tiffcp.c extended to include extended processing of images |
2 | .\" | |
3 | .\" Original code: | |
4 | .\" | |
5 | .\" Copyright (c) 1988-1997 Sam Leffler | |
6 | .\" Copyright (c) 1991-1997 Silicon Graphics, Inc. | |
7 | .\" | |
8 | .\" Permission to use, copy, modify, distribute, and sell this software and | |
9 | .\" its documentation for any purpose is hereby granted without fee, provided | |
10 | .\" that (i) the above copyright notices and this permission notice appear in | |
11 | .\" all copies of the software and related documentation, and (ii) the names of | |
12 | .\" Sam Leffler and Silicon Graphics may not be used in any advertising or | |
13 | .\" publicity relating to the software without the specific, prior written | |
14 | .\" permission of Sam Leffler and Silicon Graphics. | |
15 | .\" | |
16 | .\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, | |
17 | .\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY | |
18 | .\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |
19 | .\" | |
20 | .\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR | |
21 | .\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, | |
22 | .\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, | |
23 | .\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF | |
24 | .\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE | |
25 | .\" OF THIS SOFTWARE. | |
26 | .\" | |
27 | .\" Additional code Copyright (c) 2006-2009 Richard Nolde | |
28 | .\" Lasted Updated 9/2009 | |
29 | .\" .if n .po 0 | |
30 | .TH "TIFFCROP" "1" "December, 2008" "libtiff" "" | |
31 | .SH "NAME" | |
32 | tiffcrop \- select, copy, crop, convert, extract, and/or process one or more | |
33 | .SM TIFF | |
34 | files. | |
35 | .SH "SYNOPSIS" | |
36 | .B tiffcrop | |
37 | [ | |
38 | .I options | |
39 | ] | |
40 | .I "src1.tif ... srcN.tif dst.tif" | |
41 | .SH "DESCRIPTION" | |
42 | .I Tiffcrop | |
43 | processes one or more files created according | |
44 | to the Tag Image File Format, Revision 6.0, specification | |
45 | into one or more | |
46 | .SM TIFF | |
47 | file(s). | |
48 | .I Tiffcrop | |
49 | is most often used to extract portions of an image for processing | |
50 | with bar code recognizer or OCR software when that software cannot | |
51 | restrict the region of interest to a specific portion of the image | |
52 | or to improve efficiency when the regions of interest must be rotated. | |
53 | It can also be used to subdivide all or part of a processed image into | |
54 | smaller sections and export individual images or sections of images | |
55 | as separate files or separate images within one or more files derived | |
56 | from the original input image or images. | |
57 | .PP | |
58 | The available functions can be grouped broadly into three classes: | |
59 | .IP | |
60 | Those that select individual images or sections of images from the input files. | |
61 | The options \-N for sequences or lists of individual images in the input files, | |
62 | \-Z for zones, \-z for regions, \-X and \-Y for fixed sized selections, | |
63 | \-m for margins, \-U for units, and \-E for edge reference provide a variety of | |
64 | ways to specify portions of the input image. | |
65 | .IP | |
66 | Those that allow the individual images or selections to be exported to one or | |
67 | more output files in different groupings and control the organization of the | |
68 | data in the output images. The options \-P for page size grouping, \-S for | |
69 | subdivision into columns and rows and \-e for export mode options that produce | |
70 | one or more files from each input image. The options \-r, \-s, \-t, \-w control | |
71 | strip and tile format and sizes while \-B \-L \-c \-f modify the endian addressing | |
72 | scheme, the compression options, and the bit fill sequence of images as they | |
73 | are written. | |
74 | .IP | |
75 | Those that perform some action on each image that is selected from the input file. | |
76 | The options include \-R for rotate, \-I for inversion of the photometric | |
77 | interpretation and/or data values, and \-F to flip (mirror) the image horizontally | |
78 | or vertically. | |
79 | .PP | |
80 | ||
81 | Functions are applied to the input image(s) in the following order: | |
82 | cropping, fixed area extraction, zone and region extraction, | |
83 | inversion, mirroring, rotation. | |
84 | .PP | |
85 | Functions are applied to the output image(s) in the following order: | |
86 | export mode options for grouping zones, regions, or images into | |
87 | one or more files, | |
88 | .I or | |
89 | row and column divisions with output margins, | |
90 | .I or | |
91 | page size divisions with page orientation options. | |
92 | .PP | |
93 | Finally, strip, tile, byte order, output resolution, and compression options are | |
94 | applied to all output images. | |
95 | .PP | |
96 | The output file(s) may be organized and compressed using a different | |
97 | algorithm from the input files. | |
98 | By default, | |
99 | .I tiffcrop | |
100 | will copy all the understood tags in a | |
101 | .SM TIFF | |
102 | directory of an input file to the associated directory in the output file. | |
103 | Options can be used to force the resultant image to be written as strips | |
104 | or tiles of data, respectively. | |
105 | .PP | |
106 | .I Tiffcrop | |
107 | can be used to reorganize the storage characteristics of data | |
108 | in a file, and to reorganize, extract, rotate, and otherwise | |
109 | process the image data as specified at the same time whereas | |
110 | tiffcp does not alter the image data within the file. | |
111 | .PP | |
112 | Using the options for selecting individual input images and the | |
113 | options for exporting images and/or segments defined as zones or | |
114 | regions of each input image, | |
115 | .I tiffcrop | |
116 | can perform the functions of tiffcp and tiffsplit in a single pass | |
117 | while applying multiple operations to individual selections or images. | |
118 | .PP | |
119 | .SH "OPTIONS" | |
120 | .TP | |
121 | .B \-h | |
122 | Display the syntax summary for tiffcrop. | |
123 | .TP | |
124 | .B \-v | |
125 | Report the current version and last modification date for tiffcrop. | |
126 | .TP | |
127 | .B \-N odd|even|#,#\-#,#|last | |
128 | Specify one or more series or range(s) of images within each file to process. | |
129 | The words | |
130 | .B odd | |
131 | or | |
132 | .B even | |
133 | may be used to specify all odd or even numbered images counting from one. | |
134 | Note that internally, TIFF images are numbered from zero rather than one | |
135 | but since this convention is not obvious to most users, tiffcrop used 1 | |
136 | to specifiy the first image in a multipage file. The word | |
137 | .B last | |
138 | may be used in place of a number in the sequence to indicate the | |
139 | final image in the file without knowing how many images there are. | |
140 | Ranges of images may be specified with a dash and multiple sets | |
141 | can be indicated by joining them in a comma\-separated list. eg. use | |
142 | .B \-N 1,5\-7,last | |
143 | to process the 1st, 5th through 7th, and final image in the file. | |
144 | .TP | |
145 | .B \-E top|bottom|left|right | |
146 | Specify the top, bottom, left, or right edge as the reference from | |
147 | which to calcuate the width and length of crop regions or sequence | |
148 | of postions for zones. When used with the \-e option for exporting | |
149 | zones or regions, the reference edge determines how composite images | |
150 | are arranged. Using \-E left or right causes successive zones or | |
151 | regions to be merged horizontally whereas using \-E top or bottom | |
152 | causes successive zones or regions to be arranged vertically. This | |
153 | option has no effect on export layout when multiple zones or regions | |
154 | are not being exported to composite images. Edges may be abbreviated | |
155 | to the first letter. | |
156 | .TP | |
157 | .B \-e combined|divided|image|multiple|separate | |
158 | Specify the export mode for images and selections from input images. | |
159 | The final filename on the command line is considered to be the | |
160 | destination file or filename stem for automatically generated | |
161 | sequences of files. Modes may be abbreviated to the first letter. | |
162 | .IP | |
163 | combined All images and selections are written to a single file with | |
164 | multiple selections from one image combined into a single image (default) | |
165 | .IP | |
166 | divided All images and selections are written to a single file | |
167 | with each selection from one image written to a new image | |
168 | .IP | |
169 | image Each input image is written to a new file (numeric filename sequence) | |
170 | with multiple selections from the image combined into one image | |
171 | .IP | |
172 | multiple Each input image is written to a new file (numeric filename sequence) | |
173 | with each selection from the image written to a new image | |
174 | .IP | |
175 | separate Individual selections from each image are written to separate files | |
176 | .TP | |
177 | .B \-U in|cm|px | |
178 | Specify the type of units to apply to dimensions for margins and | |
179 | crop regions for input and output images. Inches or centimeters | |
180 | are converted to pixels using the resolution unit specified in the | |
181 | TIFF file (which defaults to inches if not specified in the IFD). | |
182 | .TP | |
183 | .B \-m #,#,#,# | |
184 | Specify margins to be removed from the input image. The order must | |
185 | be top, left, bottom, right with only commas separating the elements | |
186 | of the list. Margins are scaled according to the current units and | |
187 | removed before any other extractions are computed.. | |
188 | .TP | |
189 | .B \-X # | |
190 | Set the horizontal (X\-axis) dimension of a region to extract relative to | |
191 | the specified origin reference. If the origin is the top or bottom | |
192 | edge, the X axis value will be assumed to start at the left edge. | |
193 | .TP | |
194 | .B \-Y # | |
195 | Set the vertical (Y\-axis) dimension of a region to extract relative to | |
196 | the specified origin reference. If the origin is the left or right | |
197 | edge, the Y axis value will be assumed to start at the top. | |
198 | .TP | |
199 | .B \-Z #:#,#:# | |
200 | Specify zones of the image designated as position X of Y equal sized portions | |
201 | measured from the reference edge, eg 1:3 would be first third of the | |
202 | image starting from the reference edge minus any margins specified | |
203 | for the confining edges. Multiple zones can be specified as a comma | |
204 | separated list but they must reference the same edge. To extract the | |
205 | top quarter and the bottom third of an image you would use | |
206 | .B \-Z 1:4,3:3. | |
207 | .TP | |
208 | .B \-z x1,y1,x2,y2: ... :xN,yN,xN+1,yN+1 | |
209 | Specify a series of coordinates to define regions for processing and exporting. | |
210 | The coordinates represent the top left and lower right corners of each region | |
211 | in the current units, eg inch, cm, or pixels. Pixels are counted from one to | |
212 | width or height and inches or cm are calculated from image resolution data. | |
213 | ||
214 | Each colon delimited series of four values represents the horizontal and vertical | |
215 | offsets from the top and left edges of the image, regardless of the edge specified | |
216 | with the \-E option. The first and third values represent the horizontal offsets of | |
217 | the corner points from the left edge while the second and fourth values represent | |
218 | the vertical offsets from the top edge. | |
219 | .TP | |
220 | .B \-F horiz|vert | |
221 | Flip, ie mirror, the image or extracted region horizontally or vertically. | |
222 | .TP | |
223 | .B \-R 90|180|270 | |
224 | Rotate the image or extracted region 90, 180, or 270 degrees clockwise. | |
225 | .TP | |
226 | .B \\-I [black|white|data|both] | |
227 | Invert color space, eg dark to light for bilevel and grayscale images. | |
228 | This can be used to modify negative images to positive or to correct | |
229 | images that have the PHOTOMETRIC_INTERPRETATIN tag set incorrectly. | |
230 | If the value is black or white, the PHOTOMETRIC_INTERPRETATION tag is set to | |
231 | MinIsBlack or MinIsWhite, without altering the image data. If the argument | |
232 | is data or both, the data values of the image are modified. Specifying both | |
233 | inverts the data and the PHOTOMETRIC_INTERPRETATION tag, whereas using data | |
234 | inverts the data but not the PHOTOMETRIC_INTERPRETATION tag. | |
235 | No support for modifying the color space of color images in this release. | |
236 | .TP | |
237 | .B \-H # | |
238 | Set the horizontal resolution of output images to # | |
239 | expressed in the current units. | |
240 | .TP | |
241 | .B \-V # | |
242 | Set the vertical resolution of the output images to # | |
243 | expressed in the current units. | |
244 | .TP | |
245 | .B \-J # | |
246 | Set the horizontal margin of an output page size to # | |
247 | expressed in the current units when sectioning image into columns x rows | |
248 | subimages using the \-S cols:rows option. | |
249 | .TP | |
250 | .B \-K # | |
251 | Set the vertical margin of an output page size to # | |
252 | expressed in the current units when sectioning image into columns x rows | |
253 | submiages using the \-S cols:rows option. | |
254 | .TP | |
255 | .B \-O portrait|landscape|auto | |
256 | Set the output orientation of the pages or sections. | |
257 | Auto will use the arrangement that requires the fewest pages. | |
258 | This option is only meaningful in conjunction with the -P | |
259 | option to format an image to fit on a specific paper size. | |
260 | .TP | |
261 | .B \-P page | |
262 | Format the output images to fit on page size paper. Use | |
263 | \-P list to show the supported page sizes and dimensions. | |
264 | You can define a custom page size by entering the width and length of the | |
265 | page in the current units with the following format #.#x#.#. | |
266 | .TP | |
267 | .B \-S cols:rows | |
268 | Divide each image into cols across and rows down equal sections. | |
269 | .TP | |
270 | .B \-B | |
271 | Force output to be written with Big\-Endian byte order. | |
272 | This option only has an effect when the output file is created or | |
273 | overwritten and not when it is appended to. | |
274 | .TP | |
275 | .B \-C | |
276 | Suppress the use of ``strip chopping'' when reading images | |
277 | that have a single strip/tile of uncompressed data. | |
278 | .TP | |
279 | .B \-c | |
280 | Specify the compression to use for data written to the output file: | |
281 | .B none | |
282 | for no compression, | |
283 | .B packbits | |
284 | for PackBits compression, | |
285 | .B lzw | |
286 | for Lempel\-Ziv & Welch compression, | |
287 | .B jpeg | |
288 | for baseline JPEG compression. | |
289 | .B zip | |
290 | for Deflate compression, | |
291 | .B g3 | |
292 | for CCITT Group 3 (T.4) compression, | |
293 | and | |
294 | .B g4 | |
295 | for CCITT Group 4 (T.6) compression. | |
296 | By default | |
297 | .I tiffcrop | |
298 | will compress data according to the value of the | |
299 | .I Compression | |
300 | tag found in the source file. | |
301 | .IP | |
302 | The | |
303 | .SM CCITT | |
304 | Group 3 and Group 4 compression algorithms can only | |
305 | be used with bilevel data. | |
306 | .IP | |
307 | Group 3 compression can be specified together with several | |
308 | T.4\-specific options: | |
309 | .B 1d | |
310 | for 1\-dimensional encoding, | |
311 | .B 2d | |
312 | for 2\-dimensional encoding, | |
313 | and | |
314 | .B fill | |
315 | to force each encoded scanline to be zero\-filled so that the | |
316 | terminating EOL code lies on a byte boundary. | |
317 | Group 3\-specific options are specified by appending a ``:''\-separated | |
318 | list to the ``g3'' option; e.g. | |
319 | .B "\-c g3:2d:fill" | |
320 | to get 2D\-encoded data with byte\-aligned EOL codes. | |
321 | .IP | |
322 | .SM LZW | |
323 | compression can be specified together with a | |
324 | .I predictor | |
325 | value. | |
326 | A predictor value of 2 causes | |
327 | each scanline of the output image to undergo horizontal | |
328 | differencing before it is encoded; a value | |
329 | of 1 forces each scanline to be encoded without differencing. | |
330 | LZW\-specific options are specified by appending a ``:''\-separated | |
331 | list to the ``lzw'' option; e.g. | |
332 | .B "\-c lzw:2" | |
333 | for | |
334 | .SM LZW | |
335 | compression with horizontal differencing. | |
336 | .TP | |
337 | .B \-f | |
338 | Specify the bit fill order to use in writing output data. | |
339 | By default, | |
340 | .I tiffcrop | |
341 | will create a new file with the same fill order as the original. | |
342 | Specifying | |
343 | .B "\-f lsb2msb" | |
344 | will force data to be written with the FillOrder tag set to | |
345 | .SM LSB2MSB, | |
346 | while | |
347 | .B "\-f msb2lsb" | |
348 | will force data to be written with the FillOrder tag set to | |
349 | .SM MSB2LSB. | |
350 | .TP | |
351 | .B \-i | |
352 | Ignore non\-fatal read errors and continue processing of the input file. | |
353 | .TP | |
354 | .B \-l | |
355 | Specify the length of a tile (in pixels). | |
356 | .I Tiffcrop | |
357 | attempts to set the tile dimensions so | |
358 | that no more than 8 kilobytes of data appear in a tile. | |
359 | .TP | |
360 | .B \-L | |
361 | Force output to be written with Little\-Endian byte order. | |
362 | This option only has an effect when the output file is created or | |
363 | overwritten and not when it is appended to. | |
364 | .TP | |
365 | .B \-M | |
366 | Suppress the use of memory\-mapped files when reading images. | |
367 | .TP | |
368 | .B \-p | |
369 | Specify the planar configuration to use in writing image data | |
370 | that has more than one sample per pixel. | |
371 | By default, | |
372 | .I tiffcrop | |
373 | will create a new file with the same planar configuration as | |
374 | the original. | |
375 | Specifying | |
376 | .B "\-p contig" | |
377 | will force data to be written with multi\-sample data packed | |
378 | together, while | |
379 | .B "\-p separate" | |
380 | will force samples to be written in separate planes. | |
381 | .TP | |
382 | .B \-r | |
383 | Specify the number of rows (scanlines) in each strip of data | |
384 | written to the output file. | |
385 | By default (or when value | |
386 | .B 0 | |
387 | is specified), | |
388 | .I tiffcrop | |
389 | attempts to set the rows/strip that no more than 8 kilobytes of | |
390 | data appear in a strip. If you specify the special value | |
391 | .B \-1 | |
392 | it will results in infinite number of the rows per strip. The entire image | |
393 | will be the one strip in that case. | |
394 | .TP | |
395 | .B \-s | |
396 | Force the output file to be written with data organized in strips | |
397 | (rather than tiles). | |
398 | .TP | |
399 | .B \-t | |
400 | Force the output file to be written with data organized in tiles | |
401 | (rather than strips). | |
402 | .TP | |
403 | .B \-w | |
404 | Specify the width of a tile (in pixels). | |
405 | .I tiffcrop | |
406 | attempts to set the tile dimensions so | |
407 | that no more than 8 kilobytes of data appear in a tile. | |
408 | .I tiffcrop | |
409 | attempts to set the tile dimensions so | |
410 | that no more than 8 kilobytes of data appear in a tile. | |
411 | .TP | |
412 | Debug and dump facility | |
413 | .B \-D opt1:value1,opt2:value2,opt3:value3:opt4:value4 | |
414 | Display program progress and/or dump raw data to non\-TIFF files. | |
415 | Options include the following and must be joined as a comma | |
416 | separated list. The use of this option is generally limited to | |
417 | program debugging and development of future options. An equal sign | |
418 | may be substituted for the colon in option:value pairs. | |
419 | .IP | |
420 | debug:N Display limited program progress indicators where larger N | |
421 | increase the level of detail. | |
422 | .IP | |
423 | format:txt|raw Format any logged data as ASCII text or raw binary | |
424 | values. ASCII text dumps include strings of ones and zeroes representing | |
425 | the binary values in the image data plus identifying headers. | |
426 | .IP | |
427 | level:N Specify the level of detail presented in the dump files. | |
428 | This can vary from dumps of the entire input or output image data to dumps | |
429 | of data processed by specific functions. Current range of levels is 1 to 3. | |
430 | .IP | |
431 | input:full\-path\-to\-directory/input\-dumpname | |
432 | .IP | |
433 | output:full\-path\-to\-directory/output\-dumpname | |
434 | .IP | |
435 | When dump files are being written, each image will be written to a separate | |
436 | file with the name built by adding a numeric sequence value to the dumpname | |
437 | and an extension of .txt for ASCII dumps or .bin for binary dumps. | |
438 | ||
439 | The four debug/dump options are independent, though it makes little sense to | |
440 | specify a dump file without specifying a detail level. | |
441 | .IP | |
442 | Note: Tiffcrop may be compiled with -DDEVELMODE to enable additional very | |
443 | low level debug reporting. | |
444 | .SH "EXAMPLES" | |
445 | The following concatenates two files and writes the result using | |
446 | .SM LZW | |
447 | encoding: | |
448 | .RS | |
449 | .nf | |
450 | tiffcrop \-c lzw a.tif b.tif result.tif | |
451 | .fi | |
452 | .RE | |
453 | .PP | |
454 | To convert a G3 1d\-encoded | |
455 | .SM TIFF | |
456 | to a single strip of G4\-encoded data the following might be used: | |
457 | .RS | |
458 | .nf | |
459 | tiffcrop \-c g4 \-r 10000 g3.tif g4.tif | |
460 | .fi | |
461 | .RE | |
462 | (1000 is just a number that is larger than the number of rows in | |
463 | the source file.) | |
464 | ||
465 | To extract a selected set of images from a multi\-image TIFF file | |
466 | use the \-N option described above. Thus, to copy the 1st and 3rd | |
467 | images of image file "album.tif" to "result.tif": | |
468 | .RS | |
469 | .nf | |
470 | tiffcrop \-N 1,3 album.tif result.tif | |
471 | .fi | |
472 | .RE | |
473 | .PP | |
474 | Invert a bilevel image scan of a microfilmed document and crop off margins of | |
475 | 0.25 inches on the left and right, 0.5 inch on the top, and 0.75 inch on the | |
476 | bottom. From the remaining portion of the image, select the second and third | |
477 | quarters, ie, one half of the area left from the center to each margin. | |
478 | .RS | |
479 | tiffcrop \-U in \-m 0.5,0.25,0.75,0.25 \-E left \-Z 2:4,3:4 \-I both MicrofilmNegative.tif MicrofilmPostiveCenter.tif | |
480 | .fi | |
481 | .RE | |
482 | .PP | |
483 | Extract only the final image of a large Architectural E sized | |
484 | multipage TIFF file and rotate it 90 degrees clockwise while | |
485 | reformatting the output to fit on tabloid sized sheets with one | |
486 | quarter of an inch on each side: | |
487 | .RS | |
488 | tiffcrop \-N last \-R 90 \-O auto \-P tabloid \-U in \-J 0.25 \-K 0.25 \-H 300 \-V 300 Big\-PlatMap.tif BigPlatMap\-Tabloid.tif | |
489 | .fi | |
490 | .RE | |
491 | The output images will have a specified resolution of 300 dpi in both | |
492 | directions. The orientation of each page will be determined by whichever | |
493 | choice requires the fewest pages. To specify a specific orientation, use | |
494 | the portrait or landscape option. The paper size option does not resample | |
495 | the image. It breaks each original image into a series of smaller images | |
496 | that will fit on the target paper size at the specified resolution. | |
497 | .fi | |
498 | .RE | |
499 | .PP | |
500 | Extract two regions 2048 pixels wide by 2048 pixels high from each page of | |
501 | a multi\-page input file and write each region to a separate output file. | |
502 | .RS | |
503 | tiffcrop \-U px \-z 1,1,2048,2048:1,2049,2048,4097 \-e separate CheckScans.tiff Check | |
504 | .fi | |
505 | .RE | |
506 | The output file names will use the stem Check with a numeric suffix which is | |
507 | incremented for each region of each image, eg Check\-001.tiff, Check\-002.tiff ... | |
508 | Check\-NNN.tiff. To produce a unique file for each page of the input image | |
509 | with one new image for each region of the input image on that page, change | |
510 | the export option to \-e multiple. | |
511 | ||
512 | .SH "NOTES" | |
513 | .PP | |
514 | In general, bilevel, grayscale, palette and RGB(A) data with bit depths | |
515 | from 1 to 32 bits should work in both interleaved and separate plane | |
516 | formats. Unlike tiffcp, tiffcrop can read and write tiled images with | |
517 | bits per sample that are not a multiple of 8 in both interleaved and | |
518 | separate planar format. Floating point data types are supported at | |
519 | bit depts of 16, 24, 32 and 64 bits per sample. | |
520 | .PP | |
521 | Not all images can be converted from one compression scheme to another. | |
522 | Data with some photometric interpretations and/or bit depths are tied to | |
523 | specific compression schemes and vice-versa, e.g. Group 3/4 compression | |
524 | is only usable for bilevel data. JPEG compression is only usable on 8 | |
525 | bit per sample data (or 12 bit if | |
526 | .I LibTIFF | |
527 | was compiled with 12 bit JPEG support). Support for OJPEG compressed | |
528 | images is problematic at best. Since OJPEG compression is no longer | |
529 | supported for writing images with LibTIFF, these images will be updated | |
530 | to the newer JPEG compression when they are copied or processed. This | |
531 | may cause the image to appear color shifted or distorted after conversion. | |
532 | In some cases, it is possible to remove the original compression from | |
533 | image data using the option -cnone. | |
534 | .PP | |
535 | Tiffcrop does not currently provide options to up or downsample data to | |
536 | different bit depths or convert data from one photometric interpretation | |
537 | to another, e.g. 16 bits per sample to 8 bits per sample or RGB to grayscale. | |
538 | .PP | |
539 | Tiffcrop is very loosely derived from code in | |
540 | .I tiffcp | |
541 | with extensive modifications and additions to support the selection of input | |
542 | images and regions and the exporting of them to one or more output files in | |
543 | various groupings. The image manipulation routines are entirely new and | |
544 | additional ones may be added in the future. It will handle tiled images with | |
545 | bit depths that are not a multiple of eight that tiffcp may refuse to read. | |
546 | .PP | |
547 | .I Tiffcrop | |
548 | was designed to handle large files containing many moderate sized images | |
549 | with memory usage that is independent of the number of images in the file. | |
550 | In order to support compression modes that are not based on individual | |
551 | scanlines, e.g. JPEG, it now reads images by strip or tile rather than by | |
552 | indvidual scanlines. In addition to the memory required by the input and | |
553 | output buffers associated with | |
554 | .I LibTIFF | |
555 | one or more buffers at least as large as the largest image to be read are | |
556 | required. The design favors large volume document processing uses over | |
557 | scientific or graphical manipulation of large datasets as might be found | |
558 | in research or remote sensing scenarios. | |
559 | .SH "SEE ALSO" | |
560 | .BR pal2rgb (1), | |
561 | .BR tiffinfo (1), | |
562 | .BR tiffcmp (1), | |
563 | .BR tiffcp (1), | |
564 | .BR tiffmedian (1), | |
565 | .BR tiffsplit (1), | |
566 | .BR libtiff (3TIFF) | |
567 | .PP | |
568 | Libtiff library home page: | |
569 | .BR http://www.remotesensing.org/libtiff/ | |
570 |