RTK  2.5.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage > Class Template Reference

#include <rtkTotalVariationDenoisingBPDQImageFilter.h>

+ Inheritance diagram for rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >:
+ Collaboration diagram for rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using MagnitudeThresholdFilterType = MagnitudeThresholdImageFilter< TGradientImage, typename TOutputImage::ValueType, TGradientImage >
 
using Pointer = itk::SmartPointer< Self >
 
using Self = TotalVariationDenoisingBPDQImageFilter
 
using Superclass = rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
 
- Public Types inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
using ConstPointer = itk::SmartPointer< const Self >
 
using DivergenceFilterType = BackwardDifferenceDivergenceImageFilter< TGradientImage, TOutputImage >
 
typedef ForwardDifferenceGradientImageFilter< TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, TGradientImage > GradientFilterType
 
using MultiplyFilterType = itk::MultiplyImageFilter< TOutputImage >
 
using Pointer = itk::SmartPointer< Self >
 
using Self = DenoisingBPDQImageFilter
 
using SubtractGradientFilterType = itk::SubtractImageFilter< TGradientImage >
 
using SubtractImageFilterType = itk::SubtractImageFilter< TOutputImage >
 
using Superclass = itk::InPlaceImageFilter< TOutputImage, TOutputImage >
 
using ThresholdFilterType = itk::InPlaceImageFilter< TGradientImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
void SetBoundaryConditionToPeriodic ()
 
void SetDimensionsProcessed (bool *arg)
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
virtual double GetGamma ()
 
virtual int GetNumberOfIterations ()
 
virtual void SetGamma (double _arg)
 
virtual void SetNumberOfIterations (int _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
static Pointer New ()
 

Protected Member Functions

void GenerateOutputInformation () override
 
 TotalVariationDenoisingBPDQImageFilter ()
 
 ~TotalVariationDenoisingBPDQImageFilter () override=default
 
- Protected Member Functions inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
 DenoisingBPDQImageFilter ()
 
void GenerateData () override
 
 ~DenoisingBPDQImageFilter () override=default
 
MagnitudeThresholdFilterType::Pointer m_ThresholdFilter
 
Superclass::ThresholdFilterTypeGetThresholdFilter () override
 

Additional Inherited Members

- Protected Attributes inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
double m_Beta
 
bool m_DimensionsProcessed [TOutputImage::ImageDimension]
 
DivergenceFilterType::Pointer m_DivergenceFilter
 
double m_Gamma
 
GradientFilterType::Pointer m_GradientFilter
 
double m_MinSpacing
 
MultiplyFilterType::Pointer m_MultiplyFilter
 
int m_NumberOfIterations
 
SubtractImageFilterType::Pointer m_SubtractFilter
 
SubtractGradientFilterType::Pointer m_SubtractGradientFilter
 

Detailed Description

template<typename TOutputImage, typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
class rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >

Applies a total variation denoising, only alm_SingularValueThresholdFilterong the dimensions specified, on an image.

This filter finds the minimum of || f - f_0 ||_2^2 + gamma * TV(f) using basis pursuit dequantization, where f is the current image, f_0 the input image, and TV the total variation calculated with only the gradients along the dimensions specified. This filter can be used, for example, to perform 3D total variation denoising on a 4D dataset (by calling SetDimensionsProcessed([true true true false]). More information on the algorithm can be found at https://wiki.epfl.ch/bpdq#download

Author
Cyril Mory

Definition at line 113 of file rtkTotalVariationDenoisingBPDQImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
using rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 123 of file rtkTotalVariationDenoisingBPDQImageFilter.h.

◆ MagnitudeThresholdFilterType

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
using rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::MagnitudeThresholdFilterType = MagnitudeThresholdImageFilter<TGradientImage, typename TOutputImage::ValueType, TGradientImage>

Sub filter type definitions

Definition at line 138 of file rtkTotalVariationDenoisingBPDQImageFilter.h.

◆ Pointer

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
using rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::Pointer = itk::SmartPointer<Self>

Definition at line 122 of file rtkTotalVariationDenoisingBPDQImageFilter.h.

◆ Self

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
using rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::Self = TotalVariationDenoisingBPDQImageFilter

Standard class type alias.

Definition at line 120 of file rtkTotalVariationDenoisingBPDQImageFilter.h.

◆ Superclass

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
using rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::Superclass = rtk::DenoisingBPDQImageFilter<TOutputImage, TGradientImage>

Definition at line 121 of file rtkTotalVariationDenoisingBPDQImageFilter.h.

Constructor & Destructor Documentation

◆ TotalVariationDenoisingBPDQImageFilter()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::TotalVariationDenoisingBPDQImageFilter ( )
protected

◆ ~TotalVariationDenoisingBPDQImageFilter()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::~TotalVariationDenoisingBPDQImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
virtual::itk::LightObject::Pointer rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::CreateAnother ( ) const
virtual

◆ GenerateOutputInformation()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
void rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::GenerateOutputInformation ( )
overrideprotectedvirtual

◆ GetNameOfClass()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
virtual const char* rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >.

◆ GetThresholdFilter()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
Superclass::ThresholdFilterType* rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::GetThresholdFilter ( )
inlineoverrideprotectedvirtual

Sub filter pointers

Reimplemented from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >.

Definition at line 157 of file rtkTotalVariationDenoisingBPDQImageFilter.h.

◆ New()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
static Pointer rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::New ( )
static

Method for creation through the object factory.

◆ SetBoundaryConditionToPeriodic()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
void rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::SetBoundaryConditionToPeriodic ( )

In some cases, regularization must use periodic boundary condition

◆ SetDimensionsProcessed()

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
void rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::SetDimensionsProcessed ( bool *  arg)

Member Data Documentation

◆ m_ThresholdFilter

template<typename TOutputImage , typename TGradientImage = itk::Image<itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>, TOutputImage::ImageDimension>>
MagnitudeThresholdFilterType::Pointer rtk::TotalVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::m_ThresholdFilter
protected

Sub filter pointers

Definition at line 155 of file rtkTotalVariationDenoisingBPDQImageFilter.h.


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