ppm - portable pixmap file format


DESCRIPTION

       The  portable pixmap format is a lowest common denominator
       color image file format.

       It should be noted that this format is egregiously ineffi­
       cient.   It is highly redundant, while containing a lot of
       information that the human eye can't even  discern.   Fur­
       thermore,  the format allows very little information about
       the image besides basic color, which means you may have to
       couple a file in this format with other independent infor­
       mation to get any decent use out of it.   However,  it  is
       very  easy  to  write and analyze programs to process this
       format, and that is the point.

       It should also be noted that files often conform  to  this
       format  in  every  respect except the precise semantics of
       the sample values.  These files are useful because of  the
       way  PPM  is  used  as  an  intermediary format.  They are
       informally called PPM files, but to be absolutely precise,
       you  should  indicate  the  variation  from true PPM.  For
       example, "PPM using the red, green, and blue  colors  that
       the scanner in question uses."

       The format definition is as follows.

       A  PPM  file  consists  of  a  sequence of one or more PPM
       images. There are no data, delimiters, or padding  before,
       after, or between images.

       Each PPM image consists of the following:

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

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

       - A width, formatted as ASCII characters in decimal.

       - Whitespace.

       - A height, again in ASCII decimal.

       - Whitespace.

       - The maximum color value (Maxval), again in  ASCII  deci­
         mal.  Must be less than 65536.

       - Newline or other single whitespace character.

       - A  raster  of  Width * Height pixels, proceeding through
         the image in normal English reading order.   Each  pixel

         order.  Each sample is represented  in  pure  binary  by
         either 1 or 2 bytes.  If the Maxval is less than 256, it
         is 1 byte.  Otherwise, it is 2 bytes.  The most signifi­
         cant byte is first.

       - In the raster, the sample values are proportional to the
         intensity of the CIE Rec. 709 red, green,  and  blue  in
         the pixel.  A value of Maxval for all three samples rep­
         resents CIE D65 white and the most intense color in  the
         color  universe  of  which  the image is part (the color
         universe is all the colors in all images to  which  this
         image might be compared).

       - Characters  from  a  "#" to the next end-of-line, before
         the maxval line, are comments and are ignored.

       Note that you can use pnmdepth to convert  between  a  the
       format with 1 byte per sample and the one with 2 bytes per
       sample.

       There is actually another version of the PPM  format  that
       is  fairly  rare:  "plain"  PPM format.  The format above,
       which generally considered the normal one, is known as the
       "raw"  PPM  format.  See pbm(5) for some commentary on how
       plain and raw formats relate to one another.

       The difference in the plain format is:

       - There is exactly one image in a file.

       - The magic number is P3 instead of P6.

       - Each sample in the raster is  represented  as  an  ASCII
         decimal number (of arbitrary size).

       - Each  sample  in  the  raster has white space before and
         after it.  There must be at least one character of white
         space  between any two samples, but there is no maximum.
         There is no particular  separation  of  one  pixel  from
         another -- just the required separation between the blue
         sample of one pixel from the  red  sample  of  the  next
         pixel.

       - 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


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


COMPATIBILITY

       Before  April 2000, a raw format PPM file could not have a
       maxval greater than 255.  Hence, it could  not  have  more
       than  one  byte  per  sample.   Old programs may depend on
       this.

       Before July 2000, there could be at most one  image  in  a
       PPM  file.   As  a result, most tools to process PPM files
       ignore (and don't read) any data after the first image.


SEE ALSO

       giftopnm(1),  gouldtoppm(1),  ilbmtoppm(1),   imgtoppm(1),
       mtvtoppm(1),  pcxtoppm(1), pgmtoppm(1), pi1toppm(1), pict­
       toppm(1),    pjtoppm(1),     qrttoppm(1),     rawtoppm(1),
       rgb3toppm(1),   sldtoppm(1),   spctoppm(1),   sputoppm(1),
       tgatoppm(1), ximtoppm(1), xpmtoppm(1),  yuvtoppm(1),  ppm­
       toacad(1),  ppmtogif(1),  ppmtoicr(1),  ppmtoilbm(1), ppm­
       topcx(1),  ppmtopgm(1),  ppmtopi1(1),  ppmtopict(1),  ppm­
       topj(1),  ppmtopuzz(1),  ppmtorgb3(1), ppmtosixel(1), ppm­
       totga(1),    ppmtouil(1),    ppmtoxpm(1),     ppmtoyuv(1),
       ppmdither(1),  ppmforge(1),  ppmhist(1),  ppmmake(1), ppm­
       pat(1), ppmquant(1), ppmquantall(1), ppmrelief(1), pnm(5),
       pgm(5), pbm(5)


AUTHOR

       Copyright (C) 1989, 1991 by Jef Poskanzer.


Man(1) output converted with man2html