RTK  1.4.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage > Class Template Reference

#include <rtkLastDimensionL0GradientDenoisingImageFilter.h>

+ Inheritance diagram for rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >:
+ Collaboration diagram for rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >:

Public Types

typedef TInputImage::PixelType InputPixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef LastDimensionL0GradientDenoisingImageFilter Self
 
typedef itk::InPlaceImageFilter< TInputImage, TInputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual double GetLambda ()
 
virtual void SetLambda (double _arg)
 
virtual unsigned int GetNumberOfIterations ()
 
virtual void SetNumberOfIterations (unsigned int _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void GenerateInputRequestedRegion () override
 
const itk::ImageRegionSplitterBaseGetImageRegionSplitter (void) const override
 
 LastDimensionL0GradientDenoisingImageFilter ()
 
virtual void OneDimensionMinimizeL0NormOfGradient (InputPixelType *input, unsigned int length, double lambda, unsigned int nbIters)
 
void ThreadedGenerateData (const typename TInputImage::RegionType &outputRegionForThread, itk::ThreadIdType) override
 
virtual ~LastDimensionL0GradientDenoisingImageFilter () override
 

Protected Attributes

double m_Lambda
 
unsigned int m_NumberOfIterations
 
itk::ImageRegionSplitterDirection::Pointer m_Splitter
 

Private Member Functions

 LastDimensionL0GradientDenoisingImageFilter (const Self &)
 
void operator= (const Self &)
 

Detailed Description

template<class TInputImage>
class rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >

Denoises along the last dimension, reducing the L0 norm of the gradient.

This filter implements the "Fast and Effective L0 Gradient Minimization by Region Fusion" method, developped by Nguyen and Brown. Their method is computationally demanding, but its restriction to 1D can be implemented efficiently. This is what this filter does.

Test:
rtkl0gradientnormtest
Author
Cyril Mory

Definition at line 43 of file rtkLastDimensionL0GradientDenoisingImageFilter.h.

Member Typedef Documentation

template<class TInputImage >
typedef TInputImage::PixelType rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::InputPixelType
template<class TInputImage >
typedef itk::SmartPointer< Self > rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::Pointer

Standard class typedefs.

Definition at line 47 of file rtkLastDimensionL0GradientDenoisingImageFilter.h.

template<class TInputImage >
typedef itk::InPlaceImageFilter<TInputImage, TInputImage> rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage >
rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::LastDimensionL0GradientDenoisingImageFilter ( )
protected
template<class TInputImage >
virtual rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::~LastDimensionL0GradientDenoisingImageFilter ( )
inlineoverrideprotectedvirtual
template<class TInputImage >
rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::LastDimensionL0GradientDenoisingImageFilter ( const Self )
private

Member Function Documentation

template<class TInputImage >
virtual::itk::LightObject::Pointer rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::CreateAnother ( ) const
template<class TInputImage >
void rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::GenerateInputRequestedRegion ( )
overrideprotected
template<class TInputImage >
const itk::ImageRegionSplitterBase* rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::GetImageRegionSplitter ( void  ) const
overrideprotected

Splits the OutputRequestedRegion along the first direction, not the last

Referenced by rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::~LastDimensionL0GradientDenoisingImageFilter().

template<class TInputImage >
virtual double rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::GetLambda ( )
virtual

Get / Set the threshold. Default is 0.001

template<class TInputImage >
virtual const char* rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage >
virtual unsigned int rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::GetNumberOfIterations ( )
virtual

Get / Set the number of iterations. Default is 10

template<class TInputImage >
static Pointer rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::New ( )
static

Method for creation through the object factory.

template<class TInputImage >
virtual void rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::OneDimensionMinimizeL0NormOfGradient ( InputPixelType input,
unsigned int  length,
double  lambda,
unsigned int  nbIters 
)
protectedvirtual
template<class TInputImage >
void rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::operator= ( const Self )
private
template<class TInputImage >
virtual void rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::SetLambda ( double  _arg)
virtual

Get / Set the threshold. Default is 0.001

template<class TInputImage >
virtual void rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::SetNumberOfIterations ( unsigned int  _arg)
virtual

Get / Set the number of iterations. Default is 10

template<class TInputImage >
void rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::ThreadedGenerateData ( const typename TInputImage::RegionType outputRegionForThread,
itk::ThreadIdType   
)
overrideprotected

Member Data Documentation

template<class TInputImage >
double rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::m_Lambda
protected
template<class TInputImage >
unsigned int rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::m_NumberOfIterations
protected
template<class TInputImage >
itk::ImageRegionSplitterDirection::Pointer rtk::LastDimensionL0GradientDenoisingImageFilter< TInputImage >::m_Splitter
protected

The documentation for this class was generated from the following file: