Man Linux: Main Page and Category List

NAME

       rawtopgm - convert raw grayscale bytes into a portable graymap

SYNOPSIS

       rawtopgm  [-bpp  [1|2]]  [-littleendian]  [-maxval  N]  [-headerskip N]
       [-rowskip N] [-tb|-topbottom] [width height] [imagefile]

DESCRIPTION

       Reads raw grayscale values as input.  Produces a PGM  file  as  output.
       The input file is just a sequence of pure binary numbers, either one or
       two bytes each, either bigendian  or  littleendian,  representing  gray
       values.   They  may  be arranged either top to bottom, left to right or
       bottom  to  top,  left  to  right.   There  may  be  arbitrary   header
       information  at  the  start  of  the  file  (to  which rawtopgm pays no
       attention at all other than the header’s size).

       Arguments to rawtopgm tell how to interpret the pixels (a function that
       is served by a header in a regular graphics format).

       The  width  and height parameters tell the dimensions of the image.  If
       you omit these parameters, rawtopgm assumes it is a quadratic image and
       bases  the dimensions on the size of the input stream.  If this size is
       not a perfect square, rawtopgm fails.

       When you don’t specify width and  height,  rawtopgm  reads  the  entire
       input  stream  into  storage  at once, which may take a lot of storage.
       Otherwise, rawtopgm ordinarily stores only one row at a time.

       If you don’t specify  imagefile,  or  specify  -,  the  input  is  from
       Standard Input.

       The PGM output is to Standard Output.

OPTIONS

       -maxval N
              N  is  the  maxval for the gray values in the input, and is also
              the maxval of the PGM output image.  The default is the  maximum
              value  that  can  be represented in the number of bytes used for
              each sample (i.e. 255 or 65535).

       -bpp [1|2]
              tells the number of bytes that  represent  each  sample  in  the
              input.  If the value is 2, The most significant byte is first in
              the stream.

              The default is 1 byte per sample.

       -littleendian
              says that the bytes of each input sample are  ordered  with  the
              least  significant  byte  first.   Without this option, rawtopgm
              assumes MSB first.  This obviously has no effect when  there  is
              only one byte per sample.

       -headerskip N
              rawtopgm  skips  over N bytes at the beginning of the stream and
              reads the image immediately after.  The default is 0.

              This is useful when the input is actually some  graphics  format
              that  has  a  descriptive header followed by an ordinary raster,
              and you don’t have a program that understands the header or  you
              want to ignore the header.

       -rowskip N
              If  there  is  padding  at the ends of the rows, you can skip it
              with this option.  Note that rowskip need  not  be  an  integer.
              Amazingly,  I  once had an image with 0.376 bytes of padding per
              row.  This turned out to be due to a file-transfer problem,  but
              I was still able to read the image.

              Skipping  a  fractional byte per row means skipping one byte per
              multiple rows.

       -bt -bottomfirst
              By default, rawtopgm assumes the pixels in the input go  top  to
              bottom,  left  to  right.   If  you specify -bt or -bottomfirst,
              rawtopgm assumes the pixels go bottom to  top,  left  to  right.
              The  Molecular  Dynamics and Leica confocal format, for example,
              use the latter arrangement.

              If you don’t specify -bt when you  should  or  vice  versa,  the
              resulting  image  is  upside  down,  which  you can correct with
              pnmflip .

              This option causes rawtopgm to read the entire input stream into
              storage  at  once,  which may take a lot of storage.  Ordinarly,
              rawtopgm stores only one row at a time.

              For backwards  compatibility,  rawtopgm  also  accepts  -tb  and
              -topbottom  to  mean  exactly the same thing.  The reasons these
              are named backwards is that the original author thought of it as
              specifying that the wrong results of assuming the data is top to
              bottom should be  corrected  by  flipping  the  result  top  for
              bottom.   Today,  we think of it as simply specifying the format
              of the input data so that there are no wrong results.

SEE ALSO

       pgm(5), rawtoppm(1), pnmflip(1)

AUTHORS

       Copyright (C) 1989 by Jef Poskanzer.
       Modified June 1993 by Oliver Trepte, oliver@fysik4.kth.se

                               14 September 2000                   rawtopgm(1)