summary refs log tree commit diff
path: root/pamaddnoise.html
blob: 0d1609bdc8b99c50ac809c5a17c56d5b65649829 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN">
<html><head><title>Pamaddnoise User Manual</title></head>
<body>
<h1>pamaddnoise</h1>
Updated: 21 August 2023
<br>
<a href="#index">Table Of Contents</a>

<h2>NAME</h2>

pamaddnoise - add noise to a Netpbm image

<h2 id="synopsis">SYNOPSIS</h2>

<b>pamaddnoise</b>

<br>
{
<br>

[<b>-type</b> <b>gaussian</b>]

[<b>-sigma1</b> <i>value</i>]

[<b>-sigma2</b> <i>value</i>]

<br>
|
<br>


<b>-type </b> <b>multiplicative_gaussian</b>

[<b>-mgsigma</b> <i>value</i>]

<br>
|
<br>

<b>-type</b> <b>impulse</b>

[<b>-tolerance</b> <i>ratio</i>]

<br>
|
<br>

<b>-type </b> <b>laplacian</b>

[<b>-lsigma</b> <i>value</i>]

<br>
|
<br>

<b>-type </b> <b>poisson</b>

[<b>-lambda</b> <i>value</i>]

<br>
}
<br>

[<b>-seed</b> <i>int</i>]

[<i>netpbmfile</i>]

<h2 id="description">DESCRIPTION</h2>

<p>This program is part of <a href="index.html">Netpbm</a>.

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

<h2 id="options">OPTIONS</h2>

<p>In addition to the options common to all programs based on libnetpbm
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
Common Options</a>), <b>pamaddnoise</b> recognizes the following
command line options:

<dl compact>
<dt><b>-type</b> <i>noise_type</i>

<dd>
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 <b>gaussian</b>.

<dl>
<dt><b>gaussian</b>
  <dd>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 <b>-sigma1</b> and <b>-sigma2</b> (and can eliminate
    either by setting the variance to 0).  The mean of the Gaussian
    distributions is 0.

<dt><b>multiplicative_gaussian</b>
<dt><b>impulse</b>
  <dd>This is &quot;salt and pepper&quot; 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 <b>-tolerance</b> and <b>-salt</b>.

<dt><b>laplacian</b>

<dt><b>poisson</b>
</dl>

<dt><b>-lambda</b> <i>value</i>

<dd>
This is valid only with <b>-type=poisson</b>.  It is the expected value
of the Poisson distribution for a sample value of mximum intensity.  The
expected value for other intensities is proportional; e.g. for half intensity,
it is half this value.

<p>The default value is 12.

<dt><b>-lsigma</b> <i>value</i>

<dd>This is menaingful only for laplacian noise.

<p>The default value is 10.0.

<dt><b>-mgsigma</b> <i>value</i>

<dd>This is valid only for multiplicative gaussian noise.

<p>The default value is 0.5.

<dt><b>-seed</b> <i>int</i>

<dd>This is the random number generator seed value.  Use this to get
  repeatable results.

<dt><b>-sigma1</b> <i>value</i>

<dd>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.
<p>
    The default value is 4.0.

<dt><b>-sigma2</b> <i>value</i>

<dd>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.
<p>
The default value is 20.0.

<dt><b>-tolerance</b> <i>fraction</i>

<dd>This is valid only for impulse noise.
  <i>fraction</i> is the fraction of samples that are changed
  in the output.  Whether each is changed to salt or pepper is controlled by
  <b>-salt</b>.

<p>The default value is 0.10.

<dt><b>-salt=<i>fraction</i></b>
  <dd>This is valid only for impulse noise.  <i>fraction</i> is the
    fraction of the pixels that are changed that are changed to salt (maxval);
    the rest are changed to pepper (0).

<p>The default is 0.5 (half salt, half pepper).

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

</dl>

<h2 id="references">REFERENCES</h2>

<ul>
<li>"Adaptive Image Restoration in Signal-Dependent Noise"
by R. Kasturi Institute for Electronic Science, Texas Tech University,
1982

<li>"Digital Image Processing Algorithms" by Ioannis Pitas,
Prentice Hall, 1993 ISBN 0-13-145814-0

</ul>

<h2 id="seealso">SEE ALSO</h2>

<a href="pgmnoise.html">pgmnoise</a>,
<a href="pgmmedian.html">pgmmedian</a>,
<a href="pnm.html">pnm</a>,
<a href="pam.html">pam</a>,

<h2 id="history">HISTORY</h2>

<p><b>pamaddnoise</b> 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).

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

<h2 id="author">AUTHOR</h2>

Copyright (C) 1995 by Mike Burns &lt;<a
href="mailto:burns@cac.psu.edu">burns@cac.psu.edu</a>&gt;

<hr>
<h2 id="index">Table Of Contents</h2>
<ul>
<li><a href="#synopsis">SYNOPSIS</a>
<li><a href="#description">DESCRIPTION</a>
<li><a href="#options">OPTIONS</a>
<li><a href="#references">REFERENCES</a>
<li><a href="#seealso">SEE ALSO</a>
<li><a href="#history">HISTORY</a>
<li><a href="#author">AUTHOR</a>
</ul>
</body>
</html>