Implements the Non-Local-Means Filter of Buades et al 2005

nlmeans(x, lambda, sigma, patchhw = 1, searchhw = 7, pd = NULL)

Arguments

x

1, 2 or 3-dimensional array of obseved response (image intensity) data.

lambda

scale factor for kernel in image space.

sigma

error standard deviation (for additive Gaussian errors).

patchhw

Half width of patches in each dimension (patchsize is (2*patchhw+1)^d for d-dimensional array).

searchhw

Half width of search area (size of search area is (2searchhw+1)^d for d-dimensional array)).

pd

If pd < (2*patchhw+1)^d use pd principal components instead of complete patches.

Details

The implementation follows the description of the Non-Local-Means Filter of Buades et al 2005 on http://www.numerical-tours.com/matlab/denoisingadv_6_nl_means/#biblio that incorporates dimension reduction for patch comparisons by PCA.

Value

A list of class "nlmeans" with components

theta

Denoised array

lambda

Scale parameter used

sigma

The error standard deviation

patchhw

Half width of patches

pd

Effective patchsize used

searchhw

Half width of search area

References

A. Buades, B. Coll and J. M. Morel (2006). A review of image denoising algorithms, with a new one. Simulation, 4, 490-530. DOI:10.1137/040616024.

http://www.numerical-tours.com/matlab/denoisingadv_6_nl_means/#biblio

Author

Joerg Polzehl, polzehl@wias-berlin.de, http://www.wias-berlin.de/people/polzehl/

Note

use setCores='number of threads' to enable parallel execution.