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.