-->
Page 1172
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 1111 0 0 15 1515 15 0 0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 150 0 3 3 3 0 0 0 7 7 7 0 0 0 11 11 110 0 0 15 15 15 150 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 1111 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 1989, 1991 by Jef Poskanzer.
12 November 1991
Page 1173
pnmPortable anymap file format.
DESCRIPTION
The pnm programs operate on portable bitmaps, graymaps, and pixmaps produced by the pbm, pgm, and ppm segments. There is no file format associated with pnm itself.
SEE ALSO
anytopnm(1), rasttopnm(1), tifftopnm(1),xwdtopnm(1), pnmtops(1), pnmtorast(1), pnmtotiff(1), pnmtoxwd(1), pnmarith(1), pnmcat(1), pnmconvol(1), pnmcrop(1), pnmcut(1), pnmdepth(1), pnmenlarge(1), pnmfile(1), pnmflip(1), pnmgamma(1), pnmindex(1), pnminvert(1), pnmmargin(1), pnmnoraw(1), pnmpaste(1), pnmrotate(1), pnmscale(1), pnmshear(1), pnmsmooth(1), pnmtile(1), ppm(5), pgm(5), pbm(5)
AUTHOR
Copyright 1989, 1991 by Jef Poskanzer.
27 September 1991
ppmPortable pixmap file format.
DESCRIPTION
The portable pixmap format is a lowest common denominator color image file format. The definition is as follows:
A "magic number" for identifying the file type. A ppm file's magic number is the two characters P3.
Whitespace (blanks, Tabs, CRs, LFs).
A width, formatted as ASCII characters in decimal.
Whitespace.
A height, again in ASCII decimal.
Whitespace.
The maximum color-component value, again in ASCII decimal.
Whitespace.
Width * height pixels, each three ASCII decimal values between 0 and the specified maximum value, starting at the top-left corner of the pixmap, proceeding in normal English reading order. The three values for each pixel represent red, green, and blue; a value of 0 means that color is off, and the maximum value means that color is maxed out.
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 pixmap in this format:
P3 # feep.ppm 4 4 15 0 0 0 0 0 0 0 0 0 15 0 15 0 0 0 0 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 15 7 0 0 0 15 0 150 0 0 00 0 0 0 0
Programs that read this format should be as lenient as possible, accepting anything that looks remotely like a pixmap.