Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage > Class Template Reference

Applies iterative total variation (TV) denoising to an image. More...

#include <itkTotalVariationDenoisingImageFilter.h>

Inheritance diagram for itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >:
Collaboration diagram for itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >:

Public Types

typedef TInputImage InputImageType
 
typedef TOutputImage OutputImageType
 
typedef TotalVariationDenoisingImageFilter Self
 
typedef ImageToImageFilter< InputImageType, OutputImageType > Superclass
 
typedef SmartPointer< Self > Pointer
 
typedef SmartPointer< const Self > ConstPointer
 
typedef InputImageType::PixelType InputPixelType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef InputImageType::SizeType InputSizeType
 
typedef TotalVariationSingleIterationImageFilter< TOutputImage, TOutputImage > SingleIterationFilterType
 
typedef itk::CastImageFilter< TInputImage, TOutputImage > CastType
 

Public Member Functions

 itkStaticConstMacro (InputImageDimension, unsigned int, TInputImage::ImageDimension)
 
 itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension)
 
Pointer Clone () const
 
virtual const char * GetClassName () const
 
virtual void SetLambda (double _arg)
 Set/Get the regularization parameter Lambda. More...
 
virtual double GetLambda ()
 
virtual void SetNumberIterations (int _arg)
 Set/Get the number of denoising iterations. More...
 
virtual int GetNumberIterations ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 TotalVariationDenoisingImageFilter ()
 
 ~TotalVariationDenoisingImageFilter () override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void GenerateData () override
 

Protected Attributes

double m_Lambda
 
int m_NumberIterations
 

Detailed Description

template<class TInputImage, class TOutputImage>
class itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >

Applies iterative total variation (TV) denoising to an image.

This filter performs image denoising by minimizing the total variation of the image. It iteratively applies TotalVariationSingleIterationImageFilter, which performs a weighted averaging step that balances fidelity to the original image against smoothness. The trade-off is controlled by the Lambda parameter.

Higher Lambda values favor fidelity to the original image (less smoothing), while lower Lambda values favor smoothness (more denoising). The number of iterations controls how many denoising steps are performed.

Default values: Lambda = 1.0, NumberIterations = 0.

Reference: Tony F. Chan et al., The digital TV filter and nonlinear denoising

Template Parameters
TInputImageThe type of the input image.
TOutputImageThe type of the output image.
See also
TotalVariationSingleIterationImageFilter
LocalVariationImageFilter
Image
Neighborhood
NeighborhoodOperator
NeighborhoodIterator

Definition at line 51 of file itkTotalVariationDenoisingImageFilter.h.

Member Typedef Documentation

◆ CastType

template<class TInputImage , class TOutputImage >
typedef itk::CastImageFilter<TInputImage, TOutputImage> itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::CastType

Cast filter type used to convert input to output pixel type.

Definition at line 88 of file itkTotalVariationDenoisingImageFilter.h.

◆ ConstPointer

template<class TInputImage , class TOutputImage >
typedef SmartPointer<const Self> itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::ConstPointer

Definition at line 66 of file itkTotalVariationDenoisingImageFilter.h.

◆ InputImageRegionType

template<class TInputImage , class TOutputImage >
typedef InputImageType::RegionType itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::InputImageRegionType

Definition at line 79 of file itkTotalVariationDenoisingImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage >
typedef TInputImage itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::InputImageType

Convenient typedefs for simplifying declarations.

Definition at line 59 of file itkTotalVariationDenoisingImageFilter.h.

◆ InputPixelType

template<class TInputImage , class TOutputImage >
typedef InputImageType::PixelType itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::InputPixelType

Image typedef support.

Definition at line 76 of file itkTotalVariationDenoisingImageFilter.h.

◆ InputSizeType

template<class TInputImage , class TOutputImage >
typedef InputImageType::SizeType itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::InputSizeType

Definition at line 82 of file itkTotalVariationDenoisingImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::RegionType itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::OutputImageRegionType

Definition at line 80 of file itkTotalVariationDenoisingImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage >
typedef TOutputImage itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::OutputImageType

Definition at line 60 of file itkTotalVariationDenoisingImageFilter.h.

◆ OutputPixelType

template<class TInputImage , class TOutputImage >
typedef OutputImageType::PixelType itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::OutputPixelType

Definition at line 77 of file itkTotalVariationDenoisingImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage >
typedef SmartPointer<Self> itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::Pointer

Definition at line 65 of file itkTotalVariationDenoisingImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage >
typedef TotalVariationDenoisingImageFilter itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

Definition at line 63 of file itkTotalVariationDenoisingImageFilter.h.

◆ SingleIterationFilterType

template<class TInputImage , class TOutputImage >
typedef TotalVariationSingleIterationImageFilter<TOutputImage, TOutputImage> itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::SingleIterationFilterType

Type of the single-iteration sub-filter used internally.

Definition at line 85 of file itkTotalVariationDenoisingImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage >
typedef ImageToImageFilter<InputImageType, OutputImageType> itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::Superclass

Definition at line 64 of file itkTotalVariationDenoisingImageFilter.h.

Constructor & Destructor Documentation

◆ TotalVariationDenoisingImageFilter()

template<class TInputImage , class TOutputImage >
itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::TotalVariationDenoisingImageFilter ( )
protected

◆ ~TotalVariationDenoisingImageFilter()

template<class TInputImage , class TOutputImage >
itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::~TotalVariationDenoisingImageFilter ( )
inlineoverrideprotected

Definition at line 112 of file itkTotalVariationDenoisingImageFilter.h.

Member Function Documentation

◆ Clone()

template<class TInputImage , class TOutputImage >
Pointer itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::Clone ( ) const

◆ GenerateData()

template<class TInputImage , class TOutputImage >
void itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::GenerateData ( )
overrideprotected

◆ GetClassName()

template<class TInputImage , class TOutputImage >
virtual const char* itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

◆ GetLambda()

template<class TInputImage , class TOutputImage >
virtual double itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::GetLambda ( )
virtual

◆ GetNumberIterations()

template<class TInputImage , class TOutputImage >
virtual int itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::GetNumberIterations ( )
virtual

◆ itkStaticConstMacro() [1/2]

template<class TInputImage , class TOutputImage >
itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( InputImageDimension  ,
unsigned int  ,
TInputImage::ImageDimension   
)

Extract dimension from input and output image.

◆ itkStaticConstMacro() [2/2]

template<class TInputImage , class TOutputImage >
itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( OutputImageDimension  ,
unsigned int  ,
TOutputImage::ImageDimension   
)

◆ New()

template<class TInputImage , class TOutputImage >
static Pointer itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<class TInputImage , class TOutputImage >
void itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetLambda()

template<class TInputImage , class TOutputImage >
virtual void itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::SetLambda ( double  _arg)
virtual

Set/Get the regularization parameter Lambda.

Lambda controls the trade-off between fidelity to the original image and smoothness. Higher values preserve more detail; lower values produce stronger denoising. Default is 1.0.

◆ SetNumberIterations()

template<class TInputImage , class TOutputImage >
virtual void itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::SetNumberIterations ( int  _arg)
virtual

Set/Get the number of denoising iterations.

Each iteration applies one pass of the total variation single-iteration filter. More iterations yield stronger denoising. Default is 0 (no denoising).

Member Data Documentation

◆ m_Lambda

template<class TInputImage , class TOutputImage >
double itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::m_Lambda
protected

Definition at line 117 of file itkTotalVariationDenoisingImageFilter.h.

◆ m_NumberIterations

template<class TInputImage , class TOutputImage >
int itk::TotalVariationDenoisingImageFilter< TInputImage, TOutputImage >::m_NumberIterations
protected

Definition at line 119 of file itkTotalVariationDenoisingImageFilter.h.


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