Fast and robust Nonlocal Means Denoising

Efficient implementation of the non-local means for both Rician and Gaussian noise.
Updated 14 Oct 2013

View License

This is a fast and robust implementation of the popular Nonlocal Means denoising scheme, intended for both Rician and Gaussian stationary noise. It works by computing the non-local weights based on distances in a features space, comprising the local mean value and gradients of the image.

It can reach an acceleration factor of 20x over the original implementation, with an improved performance for medium-low SNR images.

We use a bias correction step for Rician noise based on the well-known Conventional Approach.

Further details on this algorithm may be found in the following reference (that we ask you to cite in case you use this software for your research):

A. Tristan-Vega, V. Garcia Perez, S. Aja-Fenandez, and C.-F. Westin,
'Efficient and Robust Nonlocal Means Denoising of MR Data Based on
Salient Features Matching', Computer Methods and Programs in
Biomedicine, 105(2):131-44. 2012.

NOTE: This Matlab implementation cannot take advantage of all the computational methods described in the paper above. If computational performance is an issue for you, you are strongly encouraged to try the C++/ITK open-source versions (or any of the pre-compiled binaries) available at:

Cite As

Antonio Tristán Vega (2024). Fast and robust Nonlocal Means Denoising (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2011a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Denoising and Compression in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes