| outCorrectedImg,outNoiseImg = | vsnr2dImg (inImg,nbIter,stdDevX,stdDevY,theta,alpha) |
| outCorrectedImg,outNoiseImg = | vsnr2dImg (inImg,noiseImg,nbIter,alpha) |
Variational Stationary Noise Remover.
Standard denoising methods rely on a white noise assumption. This means that the intensity alteration is spatially uncorrelated. The VSNR (Variational Stationary Noise Remover) algorithm removes structural noise, i.e. following a pattern, in the input image [1].
In a generic case, we can express the noisy image
as the sum of the clean image
and the noise image
:
In the case of stationary noise
can be expressed as the convolution of white noise
with a pattern
:
where
is the convolution operator.
In this IPSDK implementation, noise the pattern
can be provided as an input image or can be expressed as an oriented Gabor function, by providing the Gabor parameters:
Where
are the coordinates after a rotation of
:
This is an example of noie image according
to a Gabor pattern
with an orientation of 45° and a white noise
:
The noise image estimation can be estimated by iteratively solving the following optimization problem:
Where
is the regularization term.
Please, see [1] for more details.
Here is an example of VSNR filtering result:
[1] Variational algorithms to remove stationary noise. Application to microscopy imaging. J. Fehrenbach, P. Weiss and C. Lorenzo, IEEE Image Processing Vol. 21, Issue 10, pages 4420 - 4430, October (2012)