ppm man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]


				      ppm

   Updated: 03 October 2003
   Table Of Contents

NAME

   PPM ‐ Netpbm color image format

DESCRIPTION

   This program is part of Netpbm.

   The PPM 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 hu‐
man eye can’t
   even discern. Furthermore, the format allows very  little  in‐
formation about
   the	image  besides	basic  color, which means you may have to
couple a file in
   this format with other independent information to get any  de‐
cent 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  for‐
mat 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  for‐
mat. 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	name  "PPM"  is	 an  acronym derived from "Portable Pixel
Map." Images in
   this format (or a precursor of it) were once also called "por‐
table pixmaps."

   The format definition is as follows. You can use the libnetpbm
C subroutine
   library to read and interpret the format conveniently and  ac‐
curately.

   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:
    1. A "magic number" for identifying the file type. A ppm  im‐
age’s magic
       number is the two characters "P6".
    2. Whitespace (blanks, TABs, CRs, LFs).
    3. A width, formatted as ASCII characters in decimal.
    4. Whitespace.
    5. A height, again in ASCII decimal.
    6. Whitespace.
    7.	The maximum color value (Maxval), again in ASCII decimal.
Must be less
       than 65536 and more than zero.
    8. Newline or other single whitespace character.
    9. A raster of Height rows, in order from top to bottom. Each
row consists
       of  Width  pixels, in order from left to right. Each pixel
is a triplet of
       red, green, and blue samples, in that 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.
       A row of an image is horizontal. A column is vertical. The
pixels in the
       image are square and contiguous.
   10. In the raster, the sample values are "nonlinear." They are
proportional
       to  the	intensity of the ITU‐R Recommendation BT.709 red,
green, and blue
       in the pixel, adjusted by the BT.709 gamma transfer  func‐
tion. (That
       transfer	 function specifies a gamma number of 2.2 and has
a linear
       section for small intensities). A value of Maxval for  all
three samples
       represents   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 com‐
pared).
       ITU‐R  Recommendation  BT.709  is   a   renaming	  of  the
former CCIR
       Recommendation 709. When CCIR was absorbed into its parent
organization,
       the ITU, ca. 2000, the standard was renamed. This document
once referred
       to  the	standard  as CIE Rec. 709, but it isn’t clear now
that CIE ever
       sponsored such a standard.
       Note  that another popular color space is the newer  sRGB.
A common
       variation  on PPM is to subsitute this color space for the
one specified.
   11. Note that a common variation on the PPM format is to  have
the sample
       values be "linear," i.e. as specified above except without
the gamma
       adjustment. pnmgamma takes such a PPM variant as input and
produces a
       true PPM as output.
   12.	Characters from a "#" to the next end‐of‐line, before the
maxval line,
       are comments and are ignored.

   Note that you can use pamdepth 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  consid‐
ered the normal
   one,	 is  known as the "raw" PPM format. See pbm for some com‐
mentary 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 particu‐
lar separation
	  of one pixel from another ‐‐ just the required  separa‐
tion 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 15  0 15	  0  0	0
0  0  0	   0  0	 0

   There is a newline character at  the	 end  of  each	of  these
lines.

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

COMPATIBILITY

   Before April 2000, a raw format PPM file could not have a max‐
val 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

   pnm, pgm, pbm, pam, programs that process PPM

AUTHOR

   Copyright (C) 1989, 1991 by Jef Poskanzer.
     _________________________________________________________________

Table Of Contents

     * NAME
     * DESCRIPTION
     * COMPATIBILITY
     * SEE ALSO
     * AUTHOR

[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net