This module corrupts a Fimage with additive Gaussian noise
or with impulse noise. 
\index{noise}

\medskip

$\bullet$ If the \verb+-g+ option is selected, then the
input image $u$ is transformed into $v = u+n$, where $(x,y)\mapsto n(x,y)$
is a realization of a 
field of i.i.d. Gaussian random variables with standart deviation
$std$. This means that the law of each $n(x,y)$ is given by the density
function 
$$t\mapsto \frac{1}{std \sqrt{2 \pi}} e^{-\frac{t^2}{2 std ^2}}.$$
Such a random variable can be generated by
$$n = std \; \sqrt{-2\ln a} \; \cos 2\pi b,$$
where $a$ and $b$ are independent random values uniformly distributed on
$[0,1[$.


\medskip 

$\bullet$ If the \verb+-i+ option is selected, then the
input image $u$ is transformed into 
$$v : (x,y) \mapsto \left\{ \begin{array}{l}
i(x,y) \;\quad\mbox{if}\quad n(x,y)=1,\\
u(x,y) \quad\mbox{if}\quad n(x,y)=0,
\end{array} \right.$$
where $n$ is a realization of a 
field of i.i.d. Bernouilli random variables taking 
the value $1$ with probability $p$ and the value $0$ with probability $1-p$,
and $i$ is a a field of i.i.d. variables uniformly distributed
in $[\min u, \max u]$.

\medskip 

$\bullet$ If the \verb+-q+ option is selected, then the
input image $u$ is transformed into $v = u+n$, where $(x,y)\mapsto n(x,y)$
is a realization of a field of i.i.d. random variables uniformly
distributed in $[-q/2,q/2]$.

\medskip

The random seed used ({\sf drand48}) is reinitialized with the current time
and the processus number (PID) unless the \verb+-n+ option is set.

\medskip

NB: Calling this C-subroutine with $out=in$ is possible 
