Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Pamgauss User Manual(0)				       Pamgauss	User Manual(0)

       pamgauss	- create a two-dimensional Gaussian function as	a PAM image

       pamgauss	  width	  height   -sigma=number   [-maxval=number]   [-tuple-
       type=string] [-maximize]	[-oversample=number]

       Minimum unique abbreviation of option is	acceptable.  You may use  dou-
       ble  hyphens  instead  of single	hyphen to denote options.  You may use
       white space in place of the equals sign to separate an option name from
       its value.

	    pamgauss 7 7 -sigma=.5 -maximize -tupletype=GRAYSCALE | pamtopnm >gauss.pgm
	    pnmconvol -nooffset	-normalize gauss.pgm myimage.ppm >blurred.ppm

       This program is part of Netpbm(1).

       pamgauss	 generates  a one-plane	PAM image whose	samples	are a Gaussian
       function	of their distance from the center of  the  image.   I.e.   the
       sample  value  is  highest in the center	and goes down, in a bell curve
       shape, as you move away from the	center.

       You can use this	image as a convolution kernel with pnmconvol  to  blur
       an image.  (This	technique is known as Gaussian blurring).

       width  and  height are the dimensions of	the image that pamgauss	gener-
       ates.  Mathematically speaking, they are	the domain of  the  two-dimen-
       sional  Gaussian	 function.   If	 you  want  to be sure you get a whole
       Gaussian	function, make sure that you choose a standard	deviation  and
       image  dimensions  so that if you made it any larger, the sample	values
       at the edges would be zero.

       The output image	is PAM.	 To make it  usable  with  pnmconvol,  specify
       -tupletype=GRAYSCALE  so	 pnmconvol  can	use it as if it	were PGM.  You
       must use	the -nooffset option on	pnmconvol because zero means  zero  in
       the PAM that pamgauss generates.

       Without	-maximize,  the	sum of all the samples is equal	to the image's
       maxval (within rounding error).	This is	true  even  if	you  clip  the
       Gaussian	 function by making the	image too small.  This is what is nor-
       mally required of a convolution kernel.

       pamgauss	oversamples and	averages to represent the continuous  Gaussian
       function	 in  discrete samples in the PAM output.  Consider an image 11
       samples wide and	an oversampling	factor of  10.	 The  samples  can  be
       thought	of as contiguous squares one unit wide.	 The center of the im-
       age is thus the center of the 6th sample	from the left.	The 3rd	sample
       from  the  left	covers a range of distances from 3 to 4	units from the
       center of the image.  Because the oversampling factor is	 10,  pamgauss
       computes	 the value of the Gaussian function at 10 points evenly	spaced
       between 3 and 4 units from the center of	the image and assigns the  3rd
       sample from the left the	mean of	those 10 values.

	      This  is	the  standard deviation	of the Gaussian	function.  The
	      higher the number, the more spread out the  function  is.	  Nor-
	      mally, you want to make this number low enough that the function
	      reaches zero value before	the edge of your image.

	      number is	in units of samples.

	      This option is required.	There is no default.

	      Causes pamgauss to use the whole dynamic range available in  the
	      output PAM image by choosing an amplitude	for the	Gaussian func-
	      tion that	causes the maximum value in the	image to be the	maxval
	      of the image.

	      If  you  select  this, you probably want to normalize the	output
	      (scale the samples down so the volume under the surface  of  the
	      two-dimensional  Gaussian	function is the	maxval)	before you use
	      it, for example with pnmconvol's -normalize option.  The	reason
	      this  is	different  from	 just not using	-maximize is that this
	      subsequent normalization can be done with	 much  more  precision
	      than can be represented in a PAM image.

	      Without  this  option, pamgauss uses an amplitude	that makes the
	      volume under the surface of the two-dimensional  Gaussian	 func-
	      tion the maxval of the image.  This means	all the	samples	in the
	      image are	normally considerably less than	the maxval.

	      This option was new in Netpbm 10.79 (June	2017).

	      This is the maxval for the output	image.	65535 is almost	always
	      the best value to	use.  But there	may be some programs (not part
	      of Netpbm) that can't handle a maxval greater than 255.

	      The default is 255.

	      This is the value	of the "tuple_type" attribute of  the  created
	      PAM image.  It can be any	string up to 255 characters.

	      If you don't specify this, pamgauss generates a PAM with unspec-
	      ified tuple type.

	      This sets	the oversampling factor.  pamgauss samples the	Gauss-
	      ian  function this many times, both horizontally and vertically,
	      to get the value of each sample in the output.

	      An oversampling factor of	1 means	no oversampling,  which	 means
	      each  sample is based only on the	value of the Gaussian function
	      at the center of the sample.

	      The default is 5 divided by the standard deviation,  rounded  up
	      to a whole number.

	      This  option  was	new in Netpbm 10.79 (June 2017).  Before that,
	      it is essentially	1 - there is no	oversampling.

       pnmconvol(1), pamtopnm(1), pgmkernel(1),	pamseq(1), pam(5)

       pamgauss	was new	in Netpbm 10.23	(July 2004).

       This manual page	was generated by the Netpbm tool 'makeman'  from  HTML
       source.	The master documentation is at

netpbm documentation		  18 May 2017	       Pamgauss	User Manual(0)


Want to link to this manual page? Use this URL:

home | help