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

#include <rtkTotalNuclearVariationDenoisingBPDQImageFilter.h>

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

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef itk::SmartPointer< SelfPointer
 
typedef TotalNuclearVariationDenoisingBPDQImageFilter Self
 
typedef SingularValueThresholdImageFilter< TGradientImage > SingularValueThresholdFilterType
 
typedef rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage > Superclass
 
- Public Types inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BackwardDifferenceDivergenceImageFilter< TGradientImage, TOutputImage > DivergenceFilterType
 
typedef ForwardDifferenceGradientImageFilter< TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, TGradientImage > GradientFilterType
 
typedef itk::MultiplyImageFilter< TOutputImage > MultiplyFilterType
 
typedef itk::SmartPointer< SelfPointer
 
typedef DenoisingBPDQImageFilter Self
 
typedef itk::SubtractImageFilter< TGradientImage > SubtractGradientFilterType
 
typedef itk::SubtractImageFilter< TOutputImage > SubtractImageFilterType
 
typedef itk::InPlaceImageFilter< TOutputImage, TOutputImage > Superclass
 
typedef itk::InPlaceImageFilter< TGradientImage > ThresholdFilterType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
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
 
 TotalNuclearVariationDenoisingBPDQImageFilter ()
 
virtual ~TotalNuclearVariationDenoisingBPDQImageFilter () override
 
- Protected Member Functions inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
 DenoisingBPDQImageFilter ()
 
void GenerateData () override
 
void GenerateOutputInformation () override
 
virtual ~DenoisingBPDQImageFilter () override
 

Private Member Functions

void operator= (const Self &)
 
 TotalNuclearVariationDenoisingBPDQImageFilter (const Self &)
 
SingularValueThresholdFilterType::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 - 1>, TOutputImage::ImageDimension >>
class rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >

Performs total nuclear variation denoising.

This filter implements "Joint reconstruction of multi-channel, spectral CT data via constrained total nuclear variation minimization", by Rigie & LaRivière, in Physics in Medicine and Biology 2015.

It uses basis pursuit dequantization, and is (mathematically) only a generalization of the TotalVariationDenoisingBPDQImageFilter to process multiple channel images. It outputs a multiple channel image close to the input one, for which the spatial gradient of each channel is sparser, and the gradient vectors are more similar (ie. colinear) across channels, than in the input.

The order of the channels is not taken into account, which makes this regularization more suitable when the channels describe materials (i.e. in spectral CT) or colors (i.e. in RGB images) than when they describe time frames (i.e. in dynamic CT).

dot_inline_dotgraph_29.png
Author
Cyril Mory

Definition at line 112 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.

Member Typedef Documentation

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
typedef itk::SmartPointer<const Self> rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::ConstPointer
template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
typedef itk::SmartPointer<Self> rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::Pointer
template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
typedef TotalNuclearVariationDenoisingBPDQImageFilter rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::Self

Standard class typedefs.

Definition at line 118 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
typedef SingularValueThresholdImageFilter<TGradientImage> rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::SingularValueThresholdFilterType

Sub filter type definitions

Definition at line 130 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
typedef rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage > rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::Superclass

Constructor & Destructor Documentation

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::TotalNuclearVariationDenoisingBPDQImageFilter ( )
protected
template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
virtual rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::~TotalNuclearVariationDenoisingBPDQImageFilter ( )
inlineoverrideprotectedvirtual
template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::TotalNuclearVariationDenoisingBPDQImageFilter ( const Self )
private

Member Function Documentation

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
virtual::itk::LightObject::Pointer rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::CreateAnother ( ) const
template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
void rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::GenerateOutputInformation ( )
overrideprotected
template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
virtual const char* rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

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

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
Superclass::ThresholdFilterType* rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::GetThresholdFilter ( )
inlineoverrideprotectedvirtual
template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
static Pointer rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::New ( )
static

Method for creation through the object factory.

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
void rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::operator= ( const Self )
private

Member Data Documentation

template<typename TOutputImage , typename TGradientImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension - 1>, TOutputImage::ImageDimension >>
SingularValueThresholdFilterType::Pointer rtk::TotalNuclearVariationDenoisingBPDQImageFilter< TOutputImage, TGradientImage >::m_ThresholdFilter
protected

Sub filter pointers

Definition at line 139 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.


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