pgm(5)                                                     pgm(5)


NAME
       pgm - portable graymap file format

DESCRIPTION
       The portable graymap format is a lowest common denominator
       grayscale file format.  The definition is as follows:

       - A "magic number" for identifying the file type.   A  pgm
         file's magic number is the two characters "P2".

       - Whitespace (blanks, TABs, CRs, LFs).

       - A width, formatted as ASCII characters in decimal.

       - Whitespace.

       - A height, again in ASCII decimal.

       - Whitespace.

       - The maximum gray value, again in ASCII decimal.

       - Whitespace.

       - Width  *  height  gray  values,  each  in ASCII decimal,
         between 0 and the specified maximum value, separated  by
         whitespace,  starting  at  the  top-left  corner  of the
         graymap, proceeding in normal English reading order.   A
         value  of  0  means  black,  and the maximum value means
         white.

       - Characters from  a  "#"  to  the  next  end-of-line  are
         ignored (comments).

       - No line should be longer than 70 characters.

       Here is an example of a small graymap in this format:
       P2
       # feep.pgm
       24 7
       15
       0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
       0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
       0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
       0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
       0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
       0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0
       0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0

       Programs  that  read  this  format should be as lenient as
       possible, accepting anything that looks  remotely  like  a
       graymap.

       There  is  also  a  variant  on  the  format, available by



                         12 November 1991                       1





pgm(5)                                                     pgm(5)


       setting the RAWBITS option at compile time.  This  variant
       is different in the following ways:

       - The "magic number" is "P5" instead of "P2".

       - The  gray  values  are stored as plain bytes, instead of
         ASCII decimal.

       - No whitespace is allowed in the grays section, and  only
         a  single  character of whitespace (typically a newline)
         is allowed after the maxval.

       - The files are smaller and many times faster to read  and
         write.

       Note  that  this  raw  format can only be used for maxvals
       less than or equal to 255.  If you use the pgm library and
       try to write a file with a larger maxval, it will automat-
       ically fall back on the slower but more general plain for-
       mat.

SEE ALSO
       fitstopgm(1),   fstopgm(1),  hipstopgm(1),  lispmtopgm(1),
       psidtopgm(1),  rawtopgm(1),  pgmbentley(1),  pgmcrater(1),
       pgmedge(1),    pgmenhance(1),    pgmhist(1),   pgmnorm(1),
       pgmoil(1),   pgmramp(1),   pgmtexture(1),    pgmtofits(1),
       pgmtofs(1),  pgmtolispm(1),  pgmtopbm(1),  pnm(5), pbm(5),
       ppm(5)

AUTHOR
       Copyright (C) 1989, 1991 by Jef Poskanzer.