Provided by: netpbm_10.0-15_amd64 bug


       rawtopgm - convert raw grayscale bytes into a portable graymap


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


       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

       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.


       -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.

              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

              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.


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


       Copyright (C) 1989 by Jef Poskanzer.
       Modified June 1993 by Oliver Trepte,

                                        14 September 2000                             rawtopgm(1)