OTB
9.0.0
Orfeo Toolbox
|
#include <otbFastNLMeansImageFilter.h>
Public Types | |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef InImageType::ConstPointer | InImageConstPointerType |
typedef InImageType::Pointer | InImagePointerType |
typedef TInputImage | InImageType |
typedef InImageType::IndexType | InIndexType |
typedef InImageType::OffsetType | InOffsetType |
typedef InImageType::RegionType | InRegionType |
typedef InImageType::SizeType | InSizeType |
typedef OutImageType::Pointer | OutImagePointerType |
typedef TOutputImage | OutImageType |
typedef OutImageType::IndexType | OutIndexType |
typedef OutImageType::PixelType | OutPixelType |
typedef OutImageType::RegionType | OutRegionType |
typedef OutImageType::SizeType | OutSizeType |
typedef itk::SmartPointer< Self > | Pointer |
typedef NLMeansFilter | Self |
typedef itk::ImageToImageFilter< TInputImage, TOutputImage > | Superclass |
const | |
InSizeType | m_HalfSearchSize {0,0} |
InSizeType | m_HalfPatchSize {0,0} |
float | m_Var |
float | m_CutoffDistance |
float | m_NormalizeDistance |
static const int | m_ROW = 1 |
static const int | m_COL = 0 |
static Pointer | New () |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
virtual const char * | GetNameOfClass () const |
void | SetSigma (const float sigma) |
void | SetHalfWindowSize (const unsigned int hws) |
void | SetHalfSearchSize (const unsigned int hss) |
void | SetCutOffDistance (const float thresh) |
NLMeansFilter () | |
~NLMeansFilter () override=default | |
void | ThreadedGenerateData (const OutRegionType &outputRegionForThread, itk::ThreadIdType) override |
void | GenerateInputRequestedRegion () override |
std::tuple< InRegionType, int, int, int, int, bool > | OutputRegionToInputRegion (const OutRegionType &outputRegion) const |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
NLMeansFilter (const Self &)=delete | |
NLMeansFilter & | operator= (const Self &)=delete |
This class implements a fast approximated version of NL Means denoising algorithm. This implementation is based on code in scikit module skimage. This fast version of the NL Means algorithm has been described in the following papers :
J. Darbon, A. Cunha, T.F. Chan, S. Osher, and G.J. Jensen, Fast nonlocal filtering applied to electron cryomicroscopy, in 5th IEEE International Symposium on Biomedical Imaging: From Nano to Macro, 2008, pp. 1331-1334.
Jacques Froment. Parameter-Free Fast Pixelwise Non-Local Means Denoising. Image Processing On Line, 2014, vol. 4, p. 300-326.
Definition at line 48 of file otbFastNLMeansImageFilter.h.
typedef itk::SmartPointer<const Self> otb::NLMeansFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 55 of file otbFastNLMeansImageFilter.h.
typedef InImageType::ConstPointer otb::NLMeansFilter< TInputImage, TOutputImage >::InImageConstPointerType |
Definition at line 63 of file otbFastNLMeansImageFilter.h.
typedef InImageType::Pointer otb::NLMeansFilter< TInputImage, TOutputImage >::InImagePointerType |
Typedef to describe the image pointer types.
Definition at line 62 of file otbFastNLMeansImageFilter.h.
typedef TInputImage otb::NLMeansFilter< TInputImage, TOutputImage >::InImageType |
Typedef to image types
Definition at line 58 of file otbFastNLMeansImageFilter.h.
typedef InImageType::IndexType otb::NLMeansFilter< TInputImage, TOutputImage >::InIndexType |
Definition at line 65 of file otbFastNLMeansImageFilter.h.
typedef InImageType::OffsetType otb::NLMeansFilter< TInputImage, TOutputImage >::InOffsetType |
Definition at line 67 of file otbFastNLMeansImageFilter.h.
typedef InImageType::RegionType otb::NLMeansFilter< TInputImage, TOutputImage >::InRegionType |
Definition at line 64 of file otbFastNLMeansImageFilter.h.
typedef InImageType::SizeType otb::NLMeansFilter< TInputImage, TOutputImage >::InSizeType |
Definition at line 66 of file otbFastNLMeansImageFilter.h.
typedef OutImageType::Pointer otb::NLMeansFilter< TInputImage, TOutputImage >::OutImagePointerType |
Definition at line 68 of file otbFastNLMeansImageFilter.h.
typedef TOutputImage otb::NLMeansFilter< TInputImage, TOutputImage >::OutImageType |
Definition at line 59 of file otbFastNLMeansImageFilter.h.
typedef OutImageType::IndexType otb::NLMeansFilter< TInputImage, TOutputImage >::OutIndexType |
Definition at line 72 of file otbFastNLMeansImageFilter.h.
typedef OutImageType::PixelType otb::NLMeansFilter< TInputImage, TOutputImage >::OutPixelType |
Definition at line 70 of file otbFastNLMeansImageFilter.h.
typedef OutImageType::RegionType otb::NLMeansFilter< TInputImage, TOutputImage >::OutRegionType |
Definition at line 69 of file otbFastNLMeansImageFilter.h.
typedef OutImageType::SizeType otb::NLMeansFilter< TInputImage, TOutputImage >::OutSizeType |
Definition at line 71 of file otbFastNLMeansImageFilter.h.
typedef itk::SmartPointer<Self> otb::NLMeansFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 54 of file otbFastNLMeansImageFilter.h.
typedef NLMeansFilter otb::NLMeansFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs
Definition at line 52 of file otbFastNLMeansImageFilter.h.
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::NLMeansFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 53 of file otbFastNLMeansImageFilter.h.
|
protected |
Constructor
Definition at line 34 of file otbFastNLMeansImageFilter.hxx.
|
overrideprotecteddefault |
Destructor
|
privatedelete |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
virtual::itk::LightObject::Pointer otb::NLMeansFilter< TInputImage, TOutputImage >::CreateAnother | ( | void | ) | const |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
|
overrideprotected |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 108 of file otbFastNLMeansImageFilter.hxx.
|
virtual |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
|
static |
Method for creation through the object factory.
|
privatedelete |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
|
protected |
Compute the requested input region, given an output region. If the input requested region is outside the largest input region, a mirror padding is necessary. The returned tuple is composed of the following parameters :
Definition at line 50 of file otbFastNLMeansImageFilter.hxx.
|
overrideprotected |
PrintSelf method
Definition at line 327 of file otbFastNLMeansImageFilter.hxx.
|
inline |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 95 of file otbFastNLMeansImageFilter.h.
|
inline |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 91 of file otbFastNLMeansImageFilter.h.
|
inline |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 84 of file otbFastNLMeansImageFilter.h.
|
inline |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 79 of file otbFastNLMeansImageFilter.h.
|
overrideprotected |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 124 of file otbFastNLMeansImageFilter.hxx.
|
private |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 143 of file otbFastNLMeansImageFilter.h.
|
staticprivate |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 167 of file otbFastNLMeansImageFilter.h.
|
private |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 163 of file otbFastNLMeansImageFilter.h.
|
private |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 161 of file otbFastNLMeansImageFilter.h.
|
private |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 160 of file otbFastNLMeansImageFilter.h.
|
private |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 164 of file otbFastNLMeansImageFilter.h.
|
staticprivate |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 166 of file otbFastNLMeansImageFilter.h.
|
private |
For a given shift in rows and cols, this function computes the squared difference between the image and its shifted version. Results are added to form an integral image. < input data stored in a vector < output parameter. Contains the integral image of squared difference < Shift (dcol, drow) to apply to compute the difference < Integral image size < input data image size
This function computes the squared euclidean distance between a patch and its shifted version. Computation relies on the integral image obtained before. < Upper left corner row coordinate of patch < Upper left corner col coordinate of patch < Integral image of squared difference < Integral image number of columns
Definition at line 162 of file otbFastNLMeansImageFilter.h.