bionic (1) pnmscalefixed.1.gz

Provided by: netpbm_10.0-15.3build1_amd64 bug

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)