RTK  2.5.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected 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

using ConstPointer = itk::SmartPointer< const Self >
 
using Pointer = itk::SmartPointer< Self >
 
using Self = TotalNuclearVariationDenoisingBPDQImageFilter
 
using SingularValueThresholdFilterType = SingularValueThresholdImageFilter< TGradientImage >
 
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
 
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
 
 TotalNuclearVariationDenoisingBPDQImageFilter ()
 
 ~TotalNuclearVariationDenoisingBPDQImageFilter () override=default
 
- Protected Member Functions inherited from rtk::DenoisingBPDQImageFilter< TOutputImage, TGradientImage >
 DenoisingBPDQImageFilter ()
 
void GenerateData () override
 
 ~DenoisingBPDQImageFilter () override=default
 
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 & LaRiviere, 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).

Author
Cyril Mory

Definition at line 117 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

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

◆ Pointer

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

◆ Self

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

Standard class type alias.

Definition at line 124 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.

◆ SingularValueThresholdFilterType

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

Sub filter type definitions

Definition at line 141 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.

◆ Superclass

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

Constructor & Destructor Documentation

◆ TotalNuclearVariationDenoisingBPDQImageFilter()

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

◆ ~TotalNuclearVariationDenoisingBPDQImageFilter()

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

Member Function Documentation

◆ CreateAnother()

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
virtual

◆ GenerateOutputInformation()

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

◆ GetNameOfClass()

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 >.

◆ GetThresholdFilter()

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

◆ New()

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.

Member Data Documentation

◆ m_ThresholdFilter

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 151 of file rtkTotalNuclearVariationDenoisingBPDQImageFilter.h.


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