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 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 automatically fall back on the slower but more
       general plain format.

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.



                               12 November 1991                         pgm(5)
