Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
TIFFCROP(1)							   TIFFCROP(1)

       tiffcrop	 - select, copy, crop, convert,	extract, and/or	process	one or
       more TIFF files.

       tiffcrop	[ options ] src1.tif ... srcN.tif dst.tif

       Tiffcrop	processes one or more files created according to the Tag Image
       File Format, Revision 6.0, specification	into one or more TIFF file(s).
       Tiffcrop	is most	often used to extract portions of an  image  for  pro-
       cessing	with  bar  code	 recognizer or OCR software when that software
       cannot restrict the region of interest to a specific portion of the im-
       age  or	to improve efficiency when the regions of interest must	be ro-
       tated.  It can also be used to subdivide	all or part of a processed im-
       age  into  smaller sections and export individual images	or sections of
       images as separate files	or separate images within one  or  more	 files
       derived from the	original input image or	images.

       The available functions can be grouped broadly into three classes:

	      Those  that  select individual images or sections	of images from
	      the input	files.	The options -N for sequences or	lists of indi-
	      vidual  images in	the input files, -Z for	zones, -z for regions,
	      -X and -Y	for fixed sized	selections, -m	for  margins,  -U  for
	      units,  and  -E  for edge	reference provide a variety of ways to
	      specify portions of the input image.

	      Those that allow the individual images or	selections to  be  ex-
	      ported  to  one  or more output files in different groupings and
	      control the organization of the data in the output  images.  The
	      options  -P for page size	grouping, -S for subdivision into col-
	      umns and rows and	-e for export mode options that	produce	one or
	      more  files  from	 each  input image. The	options	-r, -s,	-t, -w
	      control strip and	tile format and	sizes while -B -L -c -f	modify
	      the  endian  addressing scheme, the compression options, and the
	      bit fill sequence	of images as they are written.

	      Those that perform some action on	each image  that  is  selected
	      from  the	input file.  The options include -R for	rotate,	-I for
	      inversion	of the photometric interpretation and/or data  values,
	      and -F to	flip (mirror) the image	horizontally or	vertically.

       Functions  are  applied	to  the	input image(s) in the following	order:
       cropping, fixed area extraction,	zone and region	extraction, inversion,
       mirroring, rotation.

       Functions  are  applied	to the output image(s) in the following	order:
       export mode options for grouping	zones, regions,	or images into one  or
       more  files,  or	 row and column	divisions with output margins, or page
       size divisions with page	orientation options.

       Finally,	strip, tile, byte order, output	 resolution,  and  compression
       options are applied to all output images.

       The  output  file(s)  may be organized and compressed using a different
       algorithm from the input	files.	By default, tiffcrop will copy all the
       understood  tags	in a TIFF directory of an input	file to	the associated
       directory in the	output file.  Options can be used to force the	resul-
       tant image to be	written	as strips or tiles of data, respectively.

       Tiffcrop	 can be	used to	reorganize the storage characteristics of data
       in a file, and to reorganize, extract, rotate,  and  otherwise  process
       the  image  data	 as specified at the same time whereas tiffcp does not
       alter the image data within the file.

       Using the options for selecting individual input	images and the options
       for  exporting  images  and/or  segments	defined	as zones or regions of
       each input image, tiffcrop can perform  the  functions  of  tiffcp  and
       tiffsplit  in a single pass while applying multiple operations to indi-
       vidual selections or images.

       -h     Display the syntax summary for tiffcrop.

       -v     Report the  current  version  and	 last  modification  date  for

       -N odd|even|#,#-#,#|last
	      Specify  one  or	more  series or	range(s) of images within each
	      file to process.	The words odd or even may be used  to  specify
	      all  odd	or  even numbered images counting from one.  Note that
	      internally, TIFF images are numbered from	zero rather  than  one
	      but since	this convention	is not obvious to most users, tiffcrop
	      used 1 to	specifiy the first image in  a	multipage  file.   The
	      word  last  may  be used in place	of a number in the sequence to
	      indicate the final image in the file without  knowing  how  many
	      images there are.	 Ranges	of images may be specified with	a dash
	      and multiple  sets  can  be  indicated  by  joining  them	 in  a
	      comma-separated  list. eg. use -N	1,5-7,last to process the 1st,
	      5th through 7th, and final image in the file.

       -E top|bottom|left|right
	      Specify the top, bottom, left, or	right edge  as	the  reference
	      from  which  to calcuate the width and length of crop regions or
	      sequence of postions for zones. When used	with the -e option for
	      exporting	 zones	or  regions, the reference edge	determines how
	      composite	images are arranged. Using -E  left  or	 right	causes
	      successive  zones	 or  regions to	be merged horizontally whereas
	      using -E top or bottom causes successive zones or	regions	to  be
	      arranged	vertically. This option	has no effect on export	layout
	      when multiple zones or regions are not being exported to compos-
	      ite images. Edges	may be abbreviated to the first	letter.

       -e combined|divided|image|multiple|separate
	      Specify the export mode for images and selections	from input im-
	      ages.  The final filename	on the command line is	considered  to
	      be  the destination file or filename stem	for automatically gen-
	      erated sequences of files. Modes may be abbreviated to the first

	      combined	  All  images  and  selections are written to a	single
	      file with	multiple selections from one  image  combined  into  a
	      single image (default)

	      divided	  All  images  and  selections are written to a	single
	      file with	each selection from one	image written to a new image

	      image	 Each input image is written to	a  new	file  (numeric
	      filename	sequence) with multiple	selections from	the image com-
	      bined into one image

	      multiple	 Each input image is written to	a  new	file  (numeric
	      filename sequence) with each selection from the image written to
	      a	new image

	      separate	 Individual selections from each image are written  to
	      separate files

       -U in|cm|px
	      Specify the type of units	to apply to dimensions for margins and
	      crop regions for input and output	images.	Inches or  centimeters
	      are  converted  to pixels	using the resolution unit specified in
	      the TIFF file (which defaults to inches if not specified in  the

       -m #,#,#,#
	      Specify  margins	to  be removed from the	input image. The order
	      must be top, left, bottom, right with only commas	separating the
	      elements	of  the	list. Margins are scaled according to the cur-
	      rent units and removed before any	 other	extractions  are  com-

       -X #   Set  the	horizontal  (X-axis)  dimension	of a region to extract
	      relative to the specified	origin reference. If the origin	is the
	      top or bottom edge, the X	axis value will	be assumed to start at
	      the left edge.

       -Y #   Set the vertical (Y-axis)	dimension of a region to extract rela-
	      tive  to	the  specified	origin reference. If the origin	is the
	      left or right edge, the Y	axis value will	be assumed to start at
	      the top.

       -Z #:#,#:#
	      Specify  zones  of the image designated as position X of Y equal
	      sized portions measured from the reference edge,	eg  1:3	 would
	      be first third of	the image starting from	the reference edge mi-
	      nus any margins specified	 for  the  confining  edges.  Multiple
	      zones  can  be specified as a comma separated list but they must
	      reference	the same edge. To extract the top quarter and the bot-
	      tom third	of an image you	would use -Z 1:4,3:3.

       -z x1,y1,x2,y2: ... :xN,yN,xN+1,yN+1
	      Specify a	series of coordinates to define	regions	for processing
	      and exporting.  The coordinates represent	the top	left and lower
	      right  corners of	each region in the current units, eg inch, cm,
	      or pixels. Pixels	are counted from one to	width  or  height  and
	      inches or	cm are calculated from image resolution	data.

	      Each  colon delimited series of four values represents the hori-
	      zontal and vertical offsets from the top and left	edges  of  the
	      image,  regardless of the	edge specified with the	-E option. The
	      first and	third values represent the horizontal offsets  of  the
	      corner  points  from  the	 left edge while the second and	fourth
	      values represent the vertical offsets from the top edge.

       -F horiz|vert
	      Flip, ie mirror, the image or extracted region  horizontally  or

       -R 90|180|270
	      Rotate  the  image  or  extracted	region 90, 180,	or 270 degrees

       -I [black|white|data|both]
	      Invert color space, eg dark to light for bilevel	and  grayscale
	      images.	This can be used to modify negative images to positive
	      or to correct images that	have the PHOTOMETRIC_INTERPRETATIN tag
	      set  incorrectly.	 If the	value is black or white, the PHOTOMET-
	      RIC_INTERPRETATION tag is	set to MinIsBlack or MinIsWhite, with-
	      out  altering  the  image	data. If the argument is data or both,
	      the data values of the image are modified. Specifying  both  in-
	      verts  the  data and the PHOTOMETRIC_INTERPRETATION tag, whereas
	      using data inverts the data but not the  PHOTOMETRIC_INTERPRETA-
	      TION tag.	 No support for	modifying the color space of color im-
	      ages in this release.

       -H #   Set the horizontal resolution of output images to	# expressed in
	      the current units.

       -V #   Set  the vertical	resolution of the output images	to # expressed
	      in the current units.

       -J #   Set the horizontal margin	of an output page size to #  expressed
	      in  the  current units when sectioning image into	columns	x rows
	      subimages	using the -S cols:rows option.

       -K #   Set the vertical margin of an output page	size to	# expressed in
	      the current units	when sectioning	image into columns x rows sub-
	      miages using the -S cols:rows option.

       -O portrait|landscape|auto
	      Set the output orientation of the	pages or sections.  Auto  will
	      use the arrangement that requires	the fewest pages.  This	option
	      is only meaningful in conjunction	with the -P option  to	format
	      an image to fit on a specific paper size.

       -P page
	      Format  the output images	to fit on page size paper. Use -P list
	      to show the supported page sizes and dimensions.	You can	define
	      a	 custom	page size by entering the width	and length of the page
	      in the current units with	the following format #.#x#.#.

       -S cols:rows
	      Divide each image	into cols across and rows down equal sections.

       -B     Force output to be written with Big-Endian byte order.  This op-
	      tion only	has an effect when the output file is created or over-
	      written 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: none for no	compression, packbits  for  PackBits  compres-
	      sion,  lzw for Lempel-Ziv	& Welch	compression, jpeg for baseline
	      JPEG compression.	 zip for Deflate  compression,	g3  for	 CCITT
	      Group  3	(T.4) compression, and g4 for CCITT Group 4 (T.6) com-
	      pression.	 By default tiffcrop 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:  1d  for  1-dimensional  encoding,	2d for
	      2-dimensional encoding, and fill to 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  ap-
	      pending  a  ``:''-separated  list	to the ``g3'' option; e.g.  -c
	      g3:2d:fill to get	2D-encoded data	with byte-aligned EOL codes.

	      LZW compression can  be  specified  together  with  a  predictor
	      value.   A predictor value of 2 causes each scanline of the out-
	      put image	to undergo horizontal differencing before  it  is  en-
	      coded;  a	 value of 1 forces 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:2 for
	      LZW compression with horizontal differencing.

       -f     Specify the bit fill order to use	in writing  output  data.   By
	      default,	tiffcrop will create a new file	with the same fill or-
	      der as the original.  Specifying -f lsb2msb will force  data  to
	      be  written  with	 the  FillOrder	 tag  set to LSB2MSB, while -f
	      msb2lsb will force data to be written with the FillOrder tag set
	      to MSB2LSB.

       -i     Ignore  non-fatal	read errors and	continue processing of the in-
	      put file.

       -l     Specify the length of a tile (in pixels).	 Tiffcrop 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.

       -M     Suppress the use of memory-mapped	files when reading images.

       -p     Specify the planar configuration to use in  writing  image  data
	      that  has	 more than one sample per pixel.  By default, tiffcrop
	      will create a new	file with the same planar configuration	as the
	      original.	  Specifying  -p  contig will force data to be written
	      with multi-sample	data packed together, while -p	separate  will
	      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), tiffcrop attempts to set the rows/strip that no more
	      than 8 kilobytes of data appear in a strip. If you  specify  the
	      special  value -1	it 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).	tiffcrop  attempts  to
	      set the tile dimensions so that no more than 8 kilobytes of data
	      appear in	a tile.	 tiffcrop attempts to set the tile  dimensions
	      so that no more than 8 kilobytes of data appear in a tile.

       Debug and dump facility
	      -D  opt1:value1,opt2:value2,opt3:value3:opt4:value4 Display pro-
	      gram progress and/or dump	raw data to non-TIFF  files.   Options
	      include  the  following  and must	be joined as a comma separated
	      list. The	use of this option is generally	limited	to program de-
	      bugging  and development of future options. An equal sign	may be
	      substituted for the colon	in option:value	pairs.

	      debug:N	       Display	limited	 program  progress  indicators
	      where larger N increase the level	of detail.

	      format:txt|raw   Format any logged data as ASCII text or raw bi-
	      nary values. ASCII text dumps include strings of ones and	zeroes
	      representing  the	binary values in the image data	plus identify-
	      ing headers.

	      level:N	      Specify the level	of  detail  presented  in  the
	      dump  files.   This  can	vary from dumps	of the entire input or
	      output image data	to dumps of data processed by  specific	 func-
	      tions. Current range of levels is	1 to 3.



	      When dump	files are being	written, each image will be written to
	      a	separate file with the name built by adding a numeric sequence
	      value  to	 the dumpname and an extension of .txt for ASCII dumps
	      or .bin for binary dumps.

	      The four debug/dump options are  independent,  though  it	 makes
	      little  sense to specify a dump file without specifying a	detail

	      Note: Tiffcrop may be compiled with -DDEVELMODE to enable	 addi-
	      tional very
	       low level debug reporting.

       The  following  concatenates  two files and writes the result using LZW
	      tiffcrop -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:
	      tiffcrop -c g4 -r	10000 g3.tif g4.tif
       (1000  is  just	a number that is larger	than the number	of rows	in the
       source file.)

       To extract a selected set of images from	a multi-image  TIFF  file  use
       the  -N option described	above. Thus, to	copy the 1st and 3rd images of
       image file "album.tif" to "result.tif":
	      tiffcrop -N 1,3 album.tif	result.tif

       Invert a	bilevel	image scan of a	microfilmed document and crop off mar-
       gins  of	 0.25  inches  on the left and right, 0.5 inch on the top, and
       0.75 inch on the	bottom.	From the remaining portion of the  image,  se-
       lect  the second	and third quarters, ie,	one half of the	area left from
       the center to each margin.
	      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

       Extract only the	final image of a large Architectural E sized multipage
       TIFF file and rotate it 90 degrees  clockwise  while  reformatting  the
       output  to  fit	on tabloid sized sheets	with one quarter of an inch on
       each side:
	      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
       The  output  images will	have a specified resolution of 300 dpi in both
       directions. The orientation of each page	will be	determined  by	which-
       ever  choice  requires the fewest pages.	To specify a specific orienta-
       tion, use the portrait or landscape option. The paper size option  does
       not  resample the image.	It breaks each original	image into a series of
       smaller images that will	fit on the target paper	size at	the  specified

       Extract two regions 2048	pixels wide by 2048 pixels high	from each page
       of a multi-page input file and write each region	to a  separate	output
	      tiffcrop	-U  px	-z  1,1,2048,2048:1,2049,2048,4097 -e separate
	      CheckScans.tiff Check
       The output file names will use the stem Check  with  a  numeric	suffix
       which  is incremented for each region of	each image, eg Check-001.tiff,
       Check-002.tiff ...  Check-NNN.tiff. To produce a	unique file  for  each
       page of the input image with one	new image for each region of the input
       image on	that page, change the export option to -e multiple.

       In general, bilevel, grayscale, palette and RGB(A) data with bit	depths
       from  1	to  32 bits should work	in both	interleaved and	separate plane
       formats.	Unlike tiffcp, tiffcrop	can read and write tiled  images  with
       bits  per  sample  that are not a multiple of 8 in both interleaved and
       separate	planar format. Floating	point data types are supported at  bit
       depts of	16, 24,	32 and 64 bits per sample.

       Not all images can be converted from one	compression scheme to another.
       Data with some photometric interpretations and/or bit depths  are  tied
       to specific compression schemes and vice-versa, e.g. Group 3/4 compres-
       sion is only usable for bilevel data. JPEG compression is  only	usable
       on 8 bit	per sample data	(or 12 bit if LibTIFF was compiled with	12 bit
       JPEG support). Support for OJPEG	compressed images  is  problematic  at
       best. Since OJPEG compression is	no longer supported for	writing	images
       with LibTIFF, these images will be updated to the newer	JPEG  compres-
       sion when they are copied or processed. This may	cause the image	to ap-
       pear color shifted or distorted after conversion.  In some cases, it is
       possible	 to  remove the	original compression from image	data using the
       option -cnone.

       Tiffcrop	does not currently provide options to up or downsample data to
       different  bit  depths or convert data from one photometric interpreta-
       tion to another,	e.g. 16	bits per sample	to 8 bits per sample or	RGB to

       Tiffcrop	 is  very  loosely  derived from code in tiffcp	with extensive
       modifications and additions to support the selection  of	 input	images
       and  regions  and  the exporting	of them	to one or more output files in
       various groupings. The image manipulation routines are entirely new and
       additional ones may be added in the future. It will handle tiled	images
       with bit	depths that are	not a multiple of eight	that tiffcp may	refuse
       to read.

       Tiffcrop	 was  designed	to handle large	files containing many moderate
       sized images with memory	usage that is independent of the number	of im-
       ages  in	 the file.  In order to	support	compression modes that are not
       based on	individual scanlines, e.g. JPEG, it now	reads images by	 strip
       or  tile	 rather	than by	indvidual scanlines. In	addition to the	memory
       required	by the input and output	buffers	associated with	LibTIFF	one or
       more  buffers at	least as large as the largest image to be read are re-
       quired. The design favors large volume document	processing  uses  over
       scientific  or  graphical  manipulation	of  large datasets as might be
       found in	research or remote sensing scenarios.

       pal2rgb(1), tiffinfo(1),	tiffcmp(1), tiffcp(1),	tiffmedian(1),	tiffs-
       plit(1),	libtiff(3TIFF)

       Libtiff library home page:

libtiff				December, 2008			   TIFFCROP(1)


Want to link to this manual page? Use this URL:

home | help