# pamaddnoise

Updated: 21 August 2023
Table Of Contents

## NAME

pamaddnoise - add noise to a Netpbm image

## SYNOPSIS

pamaddnoise
{
[-type gaussian] [-sigma1 value] [-sigma2 value]
|
-type multiplicative_gaussian [-mgsigma value]
|
-type impulse [-tolerance ratio]
|
-type laplacian [-lsigma value]
|
-type poisson [-lambda value]
}
[-seed int] [netpbmfile]

## DESCRIPTION

This program is part of Netpbm.

pamaddnoise adds the specified noise type to a Netpbm image. pamaddnoise treats a PPM image as 3 independent planes, not as a plane of colors in a color space.

## OPTIONS

In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common Options), pamaddnoise recognizes the following command line options:

-type noise_type
  Select type of noise by name. The following noise types are available: gaussian, multiplicative_gaussian, impulse, laplacian, poisson. Only enough letters to be unique are required for the noise type option. The default noise type is gaussian.
  gaussian
    To each sample value is added the value of a two Gaussian random variables. The variance of one is independent of the sample value, while the variance of the other is proportional to the sample value. You control these variances with options -sigma1 and -sigma2 (and can eliminate either by setting the variance to 0). The mean of the Gaussian distributions is 0.
  multiplicative_gaussian
  impulse
    This is "salt and pepper" noise. Samples are changed randomly to zero or full brightness or left alone. This is also know as salt and pepper noise, as in a grayscale picture, it adds white pixels and black pixels, which look like salt and pepper, respectively. Control this with options -tolerance and -salt.
  laplacian
  poisson
-lambda value
  This is valid only with -type=poisson. It is the expected value of the Poisson distribution for a sample value of maximum intensity. The expected value for other intensities is proportional; e.g. for half intensity, it is half this value.

  The default value is 12.

-lsigma value
  This is meaningful only for laplacian noise.

  The default value is 10.0.

-mgsigma value
  This is valid only for multiplicative gaussian noise.

  The default value is 0.5.

-seed int
  This is the random number generator seed value. Use this to get repeatable results.
-sigma1 value
  This is valid only for gaussian noise. It is the standard deviation of the Gaussian random variable that is multiplied by the square root of each sample value and added to that sample value.

  The default value is 4.0.

-sigma2 value
  This is valid only for gaussian noise. It is the standard deviation of the Gaussian random variable that is added directly to each sample value.

  The default value is 20.0.

-tolerance fraction
  This is valid only for impulse noise. fraction is the fraction of samples that are changed in the output. Whether each is changed to salt or pepper is controlled by -salt.

  The default value is 0.10.

-salt=fraction
  This is valid only for impulse noise. fraction is the fraction of the pixels that are changed that are changed to salt (maxval); the rest are changed to pepper (0).

  The default is 0.5 (half salt, half pepper).

  This option was new in Netpbm 11.04 (September 2023). Before that, the noise is always half salt and half pepper.

## REFERENCES

- "Adaptive Image Restoration in Signal-Dependent Noise" by R. Kasturi Institute for Electronic Science, Texas Tech University, 1982
- "Digital Image Processing Algorithms" by Ioannis Pitas, Prentice Hall, 1993 ISBN 0-13-145814-0

## SEE ALSO

pgmnoise, pgmmedian, pnm, pam,

## HISTORY

pamaddnoise was added to Netpbm in Version 10.29 (August 2005). It had been distributed by Mike Burns via his own web site before that (and continued to be so).

Burns' version, and the one in Netpbm 10.29, was called pnmaddnoise and worked only on PNM images. In Netpbm 10.30, it was converted to handle PAM images and renamed to pamaddnoise.

## AUTHOR

Copyright (C) 1995 by Mike Burns <burns@cac.psu.edu>

## Table Of Contents

- SYNOPSIS
- DESCRIPTION
- OPTIONS
- REFERENCES
- SEE ALSO
- HISTORY
- AUTHOR