fast::NonLocalMeans class

Multiscale Non-Local Means (NLM) smoothing.

Non-Local Means (NLM) is an excellent despeckling filter for ultrasound images. This GPU implementation is based on the article "Real-Time Nonlocal Means-Based Despeckling" by Breivik et al. 2017.

Base classes

class ProcessObject
Abstract base class for all process objects.

Public functions

auto create(int filterSize, int searchSize, float smoothingAmount, int multiScaleIterations) -> std::shared_ptr<NonLocalMeans>
void setPreProcess(bool preProcess)
void setMultiscaleIterations(int iterations)
void setSearchSize(int searchSize)
void setFilterSize(int filterSize)
void loadAttributes() override

Private functions

void execute() override

Function documentation

std::shared_ptr<NonLocalMeans> fast::NonLocalMeans::create(int filterSize, int searchSize, float smoothingAmount, int multiScaleIterations)

Parameters
filterSize Size in pixels of the filter region to search for. Must be odd.
searchSize How many pixels to search in each direction. Must be odd.
smoothingAmount Parameter to control the amount of smoothing.
multiScaleIterations Number of multiscale iterations to perform
Returns smart pointer to instance

Creates instance of this process object