Seth Woolley's Man Viewer

pgm(5) - pgm - portable graymap file format - man 5 pgm

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

pgm(5)                                                                  pgm(5)



NAME
       pgm - portable graymap file(1,n) format

DESCRIPTION
       The  portable  graymap  format is a lowest common denominator grayscale
       file(1,n) format.  The definition is as follows:

       - A "magic(4,5) number" for identifying the file(1,n) type.  A pgm  file(1,n)'s  magic(4,5)
         number is the two characters "P2".

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

       - A width, formatted as ASCII characters in(1,8) decimal.

       - Whitespace.

       - A height, again in(1,8) ASCII decimal.

       - Whitespace.

       - The maximum gray value, again in(1,8) ASCII decimal.

       - Whitespace.

       - Width  * height gray values, each in(1,8) ASCII decimal, between 0 and the
         specified maximum value, separated by  whitespace,  starting  at  the
         top-left  corner  of the graymap, proceding in(1,8) 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(1,8) 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(2,n,1 builtins) 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(1,8)  the  following
       ways:

       - The "magic(4,5) number" is "P5" instead of "P2".

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

       - No whitespace is allowed in(1,8) the grays section.

       - The files are smaller and many times faster to read(2,n,1 builtins) and write.

       Note that this raw(3x,7,8,3x cbreak) format can only be used for  maxvals  less(1,3)  than  or
       equal  to 255.  If you use the PGM library and try to write(1,2) a file(1,n) with
       a larger maxval, it will automatically fall back on the slower but more
       general ASCII format.

SEE ALSO
       fitstopgm(1),   fstopgm(1),  hipstopgm(1),  psidtopgm(1),  rawtopgm(1),
       tifftopgm(1), pgmenhance(1), pgmhist(1), pgmnorm(1), pgmtofits(1), pgm-
       topbm(1), pgmtops(1), pnm(5), pbm(5), ppm(5)

AUTHOR
       Copyright (C) 1989 by Jef Poskanzer.

       Permission  to  use, copy, modify, and distribute this software and its
       documentation for any purpose and without fee is hereby  granted,  pro-
       vided  that  the  above  copyright notice appear in(1,8) all copies and that
       both that copyright notice and this permission notice  appear  in(1,8)  sup-
       porting  documentation.   This  software  is  provided  "as is" without
       express or implied warranty.



                                01 August 1989                          pgm(5)

References for this manual (incoming links)