You are here : matlabImage Processingdeconvwnr

deconvwnr() - Image Processing

J = deconvwnr(I,PSF,NSR) deconvolves
image I using the Wiener filter algorithm, returning
deblurred image J. Image I can
be an N-dimensional array. PSF is the point-spread
function with which I was convolved. NSR is
the noise-to-signal power ratio of the additive noise. NSR can
be a scalar or a spectral-domain array of the same size as I.
Specifying 0 for the NSR is equivalent to creating
an ideal inverse filter.The algorithm is optimal in a sense of least mean square error
between the estimated and the true images.J = deconvwnr(I,PSF,NCORR,ICORR) deconvolves
image I, where NCORR is the
autocorrelation function of the noise and ICORR is
the autocorrelation function of the original image. NCORR and ICORR can
be of any size or dimension, not exceeding the original image. If NCORR or ICORR are
N-dimensional arrays, the values correspond to the autocorrelation
within each dimension. If NCORR or ICORR are
vectors, and PSF is also a vector, the values represent
the autocorrelation function in the first dimension. If PSF is
an array, the 1-D autocorrelation function is extrapolated by symmetry
to all non-singleton dimensions of PSF. If NCORR or ICORR is
a scalar, this value represents the power of the noise of the image.Note  


The output image J could exhibit ringing
introduced by the discrete Fourier transform used in the algorithm.
To reduce the ringing, use I = edgetaper(I,PSF) prior
to calling deconvwnr.


Syntax

J = deconvwnr(I,PSF,NSR)J = deconvwnr(I,PSF,NCORR,ICORR)


Example

I = edgetaper(I,PSF)


Output / Return Value


Limitations


Alternatives / See Also


Reference