Skip to content

Fast nlmeans filter

Carole Amiot requested to merge camiot/otb:fast_nlmeans_filter into develop


Implementation of the non-local mean filter, using a fast implementation scheme. This implementation is an adaptation of the nl means filter in python scikit skimage module. It is however faster due to OTB streaming and threading strategies.


This filter is used inside the RABASAR filtering algorithm to denoise temporal stack of SAR images. It is however useful for a broader class of images.

Implementation Details

Classes and files

Two new files implementing the filter have been added to the Filtering module, inside Smoothing directory :

  • otbFastNLMeansImageFilter.h
  • otbFastNLMeansImageFilter.hxx

An application to launch NL Means filter have been added in AppFiltering :

  • otbFastNLMeans.cxx

Two tests have been added : one calling the application, the other one testing the filter

Additional notes


The copyright owner is CNES and has signed the ORFEO ToolBox Contributor License Agreement.

Check before merging:

  • All discussions are resolved
  • At least 2 👍 votes from core developers, no 👎 vote.
  • The feature branch is (reasonably) up-to-date with the base branch
  • Dashboard is green
  • Copyright owner has signed the ORFEO ToolBox Contributor License Agreement
  • Optionally, run git diff develop... -U0 --no-color | -p1 -i on latest changes and commit

Merge request reports