STANNIX Community


Manual: pamcut

Pamcut User Manual(1)				   General Commands Manual			       Pamcut User Manual(1)

NAME
       pamcut - select a rectangular region of a PAM, PBM, PGM, or PPM image

SYNOPSIS
       pamcut

       [-left colnum]

       [-right colnum]

       [-top rownum]

       [-bottom rownum]

       [-width cols]

       [-height rows]

       [-pad]

       [-cropleft numcols]

       [-cropright numcols]

       [-croptop numrows]

       [-cropbottom numrows]

       [-reportonly]

       [-verbose]

       [left top width height]

       [pnmfile]

       Minimum	unique	abbreviations of options are acceptable.  You may use double hyphens instead of single hyphen to de‐
       note options.  You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION
       This program is part of Netpbm(1).

       pamcut reads a PAM, PBM, PGM, or PPM image as input and extracts the specified rectangle, and produces the same	kind
       of image as output.

       You  can specify either the rectangle to cut out and keep or specify the edges to crop off and discard, or a combina‐
       tion.

       To request edges be cropped off, use options -cropleft, -cropright, -croptop, and -cropbottom to	 indicate  how	many
       rows or columns to discard.

       For example, -cropleft=50 -cropright=200 means to discard the leftmost 50 and rightmost 200 columns.

       To specify the rectangle to keep, use -left, -right, -top, -bottom, -width, -height, and -pad options.

       For example, -left=50 -right=200 means to keep the 151 columns between Columns 50 and 200 inclusive.

       You  can	 code  any mixture of the options.  What you don't specify defaults.  Those defaults are in favor of minimal
       cutting and in favor of cutting the right and bottom edges off and (with -pad) minimal padding  and  padding  on	 the
       right  and  bottom.   It	 is an error to overspecify, i.e. to specify all three of -left, -right, and -width or -top,
       -bottom, and -height or right as well as -cropright.

       There is an older way to specify the rectangle to keep: positional arguments.  Arguments were the only way  available
       before July 2000, but you should not use them in new applications.  Options are easier to remember and read, more ex‐
       pressive, and allow you to use defaults.

       If you use both options and arguments, the two specifications get mixed in an unspecified way.

       To  use arguments, specify all four of the left, top, width, and height arguments.  left and top have the same effect
       as specifying them as the argument of a -left or -top option, respectively.  width and height have the same effect as
       specifying them as the argument of a -width or -height option, respectively, where they are positive.  Where they are
       not positive, they have the same effect as specifying one less than the value as the argument to a -right or  -bottom
       option,	respectively.	(E.g. width = 0 makes the cut go all the way to the right edge).  Before July 2000, negative
       numbers were not allowed for width and height.

       Input is from Standard Input if you don't specify the input file pnmfile.

       Output is to Standard Output.

       pamcut works on a multi-image stream.  It cuts each image in the stream	independently  and  produces  a	 multi-image
       stream output.  Before Netpbm 10.32 (March 2006), it ignored all but the first image in the stream.

       If  you are splitting a single image into multiple same-size images, pamdice is faster and easier than running pamcut
       multiple times.

       pamcomp is also useful for cutting and padding an image to a certain size.  You create a background image of the	 de‐
       sired frame dimensions and overlay the subject image on it.

OPTIONS
       In  addition  to	 the  options common to all programs based on libnetpbm (most notably -quiet, see  Common Options ),
       pamcut recognizes the following command line options:

       -left=colnum
	      The column number of the leftmost column to be in the output.  Columns left of this get cut out.	If a nonneg‐
	      ative number, it refers to columns numbered from 0 at the left, increasing to  the  right.   If  negative,  it
	      refers to columns numbered -1 at the right, decreasing to the left.

       -right=colnum
	      The column number of the rightmost column to be in the output, numbered the same as for -left.  Columns to the
	      right of this get cut out.

       -top=rownum
	      The  row number of the topmost row to be in the output.  Rows above this get cut out.  If a nonnegative number
	      it refers to rows numbered from 0 at the top, increasing downward.  If negative, it refers to columns numbered
	      -1 at the bottom, decreasing upward.

       -bottom=rownum
	      The row number of the bottom-most row to be in the output, numbered the same as for -top.	 Rows below this get
	      cut out.

       -width=cols
	      The number of columns to be in the output.  Must be positive.

       -height=rows
	      The number of rows to be in the output.  Must be positive.

       -cropleft

       -cropright

       -croptop

       -cropbottom
	      These options tell how many rows or columns to crop from the left, right, top, or bottom edges, respectively.

	      The value must not be negative.

	      These option were new in Netpbm 10.85 (December 2018).  Before that, you	can  achieve  the  same	 thing	with
	      -left, top, and negative values for -right and -bottom.  Remember to subtract one in the latter case; e.g. the
	      equivalent of -cropright=1 is -right=-2.

       -pad   If  the  rectangle  you  specify	is not entirely within the input image, pamcut fails unless you also specify
	      -pad.  In that case, it pads the output with black up to the edges you specify.  You can use  this  option  if
	      you need to have an image of certain dimensions and have an image of arbitrary dimensions.

	      pnmpad also adds borders to an image, but you specify their width directly.

	      pamcomp does a more general form of this padding.	 Create a background image of the frame dimensions and over‐
	      lay  the	subject	 image	on  it.	 You can use options to have the subject image in the center of the frame or
	      against any edge and make the padding any color (the padding color is the color of the background image).

       -reportonly
		This causes pamcut to write to Standard Output a description of the
		cutting it would have done instead of producing an output image.  See

	      below  for a description of this output and ways
		to use it.

	      That description is one line of text, containing 8 decimal numbers of
		pixels, separated by spaces:

       •      column number of left cut

       •      column number of right cut

       •      row number of top cut

       •      row number of bottom cut

       •      width of input image

       •      height of input image

       •      width of output image

       •      height of output image

	      The column number of the left cut is the column number in the input image of the leftmost column of the output
	      image.  for the right cut, it is for the rightmost column of the output.	Top and bottom are analogous.

	      The column and row numbers can be negative if you specified -pad and pamcut would have added  padding.   Like‐
	      wise, they can be beyond the right and bottom edge of the input image.

	      Example:

		    10 109 -1 98 150 80 100 100

	      This option was new in Netpbm 11.06 (March 2024).

       -verbose
	      Print information about the processing to Standard Error.

SEE ALSO
       pnmcrop(1), pamdice(1), pamcomp(1), pnmpad(1), pamcat(1), pgmslice(1), pnm(1)

HISTORY
       pamcut  was  derived  from  pnmcut in Netpbm 9.20 (May 2001).  It was the first Netpbm program adapted to the new PAM
       format and programming library.

       The predecessor pnmcut was one of the oldest tools in the Netpbm package.

AUTHOR
       Copyright (C) 1989 by Jef Poskanzer.

DOCUMENT SOURCE
       This manual page was generated by the Netpbm tool 'makeman' from HTML source.  The master documentation is at

	      http://netpbm.sourceforge.net/doc/pamcut.html

netpbm documentation				      26 February 2024				       Pamcut User Manual(1)