pnmscalefixed(1)



NAME

   pnmscalefixed - scale a portable anymap quickly, but less accurate

DESCRIPTION

   pnmscalefixed  is  the same thing as pnmscale except that it uses fixed
   point arithmetic internally instead of floating point, which  makes  it
   run faster.  In turn, it is less accurate and may distort the image.

   Use  the  pnmscale  man  page  with  pnmscalefixed.  This man page only
   describes the difference.

   pnmscalefixed  uses  fixed  point  12  bit  arithmetic.   By  contrast,
   pnmscale  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
   requires.  Consequently, the rest of the  image  is  smaller  than  the
   scaling  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
   distortion.  So, for example doubling or halving  an  image  causes  no
   distortion.   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
   arithmetic 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
   cushion afforded by the original 12 bit precision.

   pnmscalefixed does not have pnmscale 's -nomix option.

                           18 November 2000               pnmscalefixed(1)




Free and Open Source Software


Free Software Video

Useful Programs

Free Online Courses

Open Opportunity

Open Business