Implements the Non-Local-Means Filter of Buades et al 2005
nlmeans(x, lambda, sigma, patchhw = 1, searchhw = 7, pd = NULL)
A list of class "nlmeans"
with components
Denoised array
Scale parameter used
The error standard deviation
Half width of patches
Effective patchsize used
Half width of search area
1, 2 or 3-dimensional array of obseved response (image intensity) data.
scale factor for kernel in image space.
error standard deviation (for additive Gaussian errors).
Half width of patches in each dimension (patchsize is (2*patchhw+1)^d
for d-dimensional array).
Half width of search area (size of search area is (2searchhw+1)^d
for d-dimensional array)).
If pd < (2*patchhw+1)^d
use pd
principal components instead
of complete patches.
Joerg Polzehl, polzehl@wias-berlin.de, https://www.wias-berlin.de/people/polzehl/
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.
J. Polzehl, K. Papafitsoros, K. Tabelow (2020). Patch-Wise Adaptive Weights Smoothing in R, Journal of Statistical Software, 95(6), 1-27. doi:10.18637/jss.v095.i06 .
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