rawtopgm  -  convert  raw  grayscale bytes into a portable
       graymap


SYNOPSIS

       rawtopgm [-bpp [1|2]] [-littleendian] [-maxval N]  [-head­
       erskip  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 raw­
       topgm  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 repre­
              sented  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

              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 fol­
              lowed 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 Molec­
              ular Dynamics and Leica confocal format, for  exam­
              ple, 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.

              -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


Man(1) output converted with man2html