ppm man page on Scientific

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

PPM Format Specification(5)			   PPM Format Specification(5)

       PPM - Netpbm color image format

       This program is part of Netpbm(1).

       The PPM format is a lowest common denominator color image file format.

       It  should be noted that this format is egregiously inefficient.	 It is
       highly redundant, while containing a lot of information that the	 human
       eye  can't  even	 discern.   Furthermore, 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 information
       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 for‐
       mat.  They are informally called PPM files, but to be  absolutely  pre‐
       cise,  you  should  indicate the variation from true PPM.  For example,
       'PPM using the red, green, and blue colors that the scanner in question

       The name "PPM" is an acronym derived from "Portable Pixel Map."	Images
       in this format (or a precursor of it) were once also  called  "portable

       The format definition is as follows.  You can use the libnetpbm(1)Csub‐
       routinelibrarytoreadand interpret the  format  conveniently  and	 accu‐

       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  ppm  image's
	      magic number is the two characters 'P6'.


	      Whitespace (blanks, TABs, CRs, LFs).


	      A width, formatted as ASCII characters in decimal.




	      A height, again in ASCII decimal.




	      The  maximum color value (Maxval), again in ASCII decimal.  Must
	      be less than 65536 and more than zero.

       ·      A single whitespace character (usually a newline).

       ·      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.	Other‐
	      wise, it is 2 bytes.  The most significant byte is first.

	      A	 row  of  an  image is horizontal.  A column is vertical.  The
	      pixels in the image are square and contiguous.

	      In the raster, the sample values are 'nonlinear.' They are  pro‐
	      portional	 to  the  intensity of the ITU-R Recommendation BT.709
	      red, green, and blue in the pixel, adjusted by the BT.709	 gamma
	      transfer	function.   (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 compared).

	      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 com‐
	      mon  variation  on PPM is to substitute this color space for the
	      one specified.

	      Note that a common variation on the PPM format is	 to  have  the
	      sample  values be 'linear,' i.e. as specified above except with‐
	      out the gamma adjustment.	 pnmgamma takes such a PPM variant  as
	      input and produces a true PPM as output.

       Strings starting with '#' may be comments, the same as with PBM(1).

       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 considered
       the normal one, is known as  the	 'raw'	PPM  format.   See  pbm(1)for‐
       somecommentaryonhowplain	 and raw formats relate to one another and how
       to use them.

       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	 sepa‐
	      ration  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 image in this format.
       # feep.ppm
       4 4
	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  possible,
       accepting anything that looks remotely like a PPM image.

       All  characters	referred  to  herein  are encoded in ASCII.  'newline'
       refers the the character known in ASCII as Line Feed or LF.   A	'white
       space'  character  is space, CR, LF, TAB, VT, or FF (I.e. what the ANSI
       standard C isspace() function calls white space).

       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 sam‐
       ple.  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.

       pnm(1), pgm(1), pbm(1), pam(1), programsthatprocessPPM(1)

netpbm documentation		03 October 2003	   PPM Format Specification(5)

List of man pages available for Scientific

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]
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