TiffCP copies (and possibly converts) a TIFF file.
Usage
TiffCP [ options ] src1.tif ... srcN.tif dst.tif
Description
TiffCP combines one or more files created according to the Tag Image File Format, Revision 6.0 into a single TIFF file. Because the output file may be compressed using a different algorithm than the input files, TiffCP is most often used to convert between different compression schemes.
By default, TiffCP will copy all the understood tags in a TIFF directory of an input file to the associated directory in the output file.
TiffCP can be used to reorganize the storage characteristics of data in a file, but it is explicitly intended to not alter or convert the image data content in any way.
Options
| Option | Description | 
|---|---|
| −b image | Subtract the following monochrome image from all others processed. This can be used to remove a noise bias from a set of images. This bias image is typically an image of noise the camera saw with its shutter closed. | 
| −B | Force output to be written with Big-Endian byte order. This option only has an effect when the output file is created or overwritten and not when it is appended to. | 
| −C | Suppress the use of "strip chopping" when reading images that have a single strip/tile of uncompressed data. | 
| −c | Specify the compression to use for data written to the output file: nonefor no compression,packbitsfor PackBits compression,lzwfor Lempel-Ziv & Welch compression,jpegfor baseline JPEG compression,zipfor Deflate compression,g3for CCITT Group 3 (T.4) compression, andg4for CCITT Group 4 (T.6) compression. By default TiffCP will compress data according to the value of the Compression tag found in the source file.The CCITT Group 3 and Group 4 compression algorithms can only be used with bilevel data. Group 3 compression can be specified together with several T.4-specific options: 1dfor 1-dimensional encoding,2dfor 2-dimensional encoding, andfillto force each encoded scanline to be zero-filled so that the terminating EOL code lies on a byte boundary. Group 3-specific options are specified by appending a ":"-separated list to the "g3" option; e.g.−c g3:2d:fillto get 2D-encoded data with byte-aligned EOL codes.LZW compression can be specified together with a predictor value. A predictor value of 2causes each scanline of the output image to undergo horizontal differencing before it is encoded; a value of1forces each scanline to be encoded without differencing. LZW-specific options are specified by appending a ":"-separated list to the "lzw" option; e.g.−c lzw:2for LZW compression with horizontal differencing. | 
| −f | Specify the bit fill order to use in writing output data. By default, TiffCP will create a new file with the same fill order as the original. Specifying −f lsb2msbwill force data to be written with the FillOrder tag set to LSB2MSB, while−f msb2lsbwill force data to be written with the FillOrder tag set to MSB2LSB. | 
| −i | Ignore non-fatal read errors and continue processing of the input file. | 
| −l | Specify the length of a tile (in pixels). TiffCP attempts to set the tile dimensions so that no more than 8 kilobytes of data appear in a tile. | 
| −L | Force output to be written with Little-Endian byte order. This option only has an effect when the output file is created or overwritten and not when it is appended to. | 
| −p | Specify the planar configuration to use in writing image data that has one 8-bit sample per pixel. By default, TiffCP will create a new file with the same planar configuration as the original. Specifying −p contigwill force data to be written with multi-sample data packed together, while−p separatewill force samples to be written in separate planes. | 
| −r | Specify the number of rows (scanlines) in each strip of data written to the output file. By default (or when value 0 is specified), TiffCP attempts to set the rows/strip that no more than 8 kilobytes of data appear in a strip. If you specify special value −1it will results in infinite number of the rows per strip. The entire image will be the one strip in that case. | 
| −s | Force the output file to be written with data organized in strips (rather than tiles). | 
| −t | Force the output file to be written with data organized in tiles (rather than strips). | 
| −w | Specify the width of a tile (in pixels). TiffCP attempts to set the tile dimensions so that no more than 8 kilobytes of data appear in a tile. | 
| −x | Force the output file to be written with PAGENUMBER value in sequence. | 
| −,=character | Substitute character for "," in parsing image directory indices in files. This is necessary if filenames contain commas. Note that −,= with whitespace immediately following will disable the special meaning of the "," entirely. | 
Examples
The following concatenates two files and writes the result using LZW encoding:
tiffcp −c lzw a.tif b.tif result.tif
To convert a G3 1d-encoded TIFF to a single strip of G4-encoded data the following might be used (1000 is just a number that is larger than the number of rows in the source file):
tiffcp −c g4 −r 10000 g3.tif g4.tif
To extract a selected set of images from a multi-image TIFF file, the file name may be immediately followed by a "," separated list of image directory indices. The first image is always in directory 0. Thus, to copy the 1st and 3rd images of image file "album.tif" to "result.tif":
tiffcp album.tif,0,2 result.tif
A trailing comma denotes remaining images in sequence. The following command will copy all image with except the first one:
tiffcp album.tif,1, result.tif
Given file "CCD.tif" whose first image is a noise bias followed by images which include that bias, subtract the noise from all those images following it (while decompressing) with the command:
tiffcp −c none −b CCD.tif CCD.tif,1, result.tif
If the file above were named "CCD,X.tif", the −,= option would be required to correctly parse this filename with image numbers, as follows:
tiffcp −c none −,=% −b CCD,X.tif CCD,X%1%.tif result.tif