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

FreeBSD Manual Pages


home | help
Pnmscalefixed User Manual(0)			  Pnmscalefixed	User Manual(0)

       pnmscalefixed - scale a PNM file	quickly

       This program is part of Netpbm(1).

       pnmscalefixed  is  like pamscale	except that it uses fixed point	arith-
       metic internally	instead	of floating  point,  which  may	 make  it  run
       faster.	 In  turn,  it is less accurate	and may	distort	the image.  It
       also lacks many of the features of pamscale.

       Use the pamscale	user manual with pnmscalefixed.	  This	document  only
       describes  the difference.  Avoid any feature mentioned in the pamscale
       manual as not existing before Netpbm 9.9.

       pnmscalefixed uses fixed	point 12 bit arithmetic.   By  contrast,  pam-
       scale uses floating point arithmetic which on most machines is probably
       24 bit precision.  This makes pnmscalefixed run faster (30%  faster  in
       one experiment),	but the	imprecision can	cause distortions at the right
       and bottom edges.

       The distortion takes the	following form:	One pixel from the edge	of the
       input  is  rendered  larger  in	the output than	the scaling factor re-
       quires.	Consequently, the rest of the image is smaller than the	 scal-
       ing  factor  requires,  because the overall dimensions of the image are
       always as requested.  This distortion will usually be very hard to see.

       pnmscalefixed with the -verbose option tells you	 how  much  distortion
       there is.

       The amount of distortion	depends	on the size of the input image and how
       close the scaling factor	is to an integral 1/4096th.

       If the scaling factor is	an exact multiple of 1/4096, there is no  dis-
       tortion.	  So,  for example doubling or halving an image	causes no dis-
       tortion.	 But reducing it or enlarging it by a third would  cause  some
       distortion.   To	 consider an extreme case, scaling a 100,000 row image
       down to 50,022 rows would create	an output image	with all of the	 input
       squeezed	into the top 50,000 rows, and the last row of the input	copied
       into the	bottom 22 rows of output.

       pnmscalefixed could probably be modified	to use 16 bit or better	arith-
       metic  without  losing  anything.   The modification would consist of a
       single constant in the source code.  Until there	is a demonstrated need
       for  that, though, the Netpbm maintainer	wants to keep the safety cush-
       ion afforded by the original 12 bit precision.

       pnmscalefixed does not have pamscale's -nomix option.

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

netpbm documentation	       18 November 2000	  Pnmscalefixed	User Manual(0)


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

home | help