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::ADMMWaveletsConjugateGradientOperator< TOutputImage > Class Template Reference

#include <rtkADMMWaveletsConjugateGradientOperator.h>

+ Inheritance diagram for rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >:
+ Collaboration diagram for rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >:

Public Types

typedef itk::AddImageFilter< TOutputImage > AddFilterType
 
typedef BackProjectionFilterType::Pointer BackProjectionFilterPointer
 
typedef rtk::BackProjectionImageFilter< TOutputImage, TOutputImage > BackProjectionFilterType
 
typedef rtk::DisplacedDetectorImageFilter< TOutputImage > DisplacedDetectorFilterType
 
typedef ForwardProjectionFilterType::Pointer ForwardProjectionFilterPointer
 
typedef rtk::ForwardProjectionImageFilter< TOutputImage, TOutputImage > ForwardProjectionFilterType
 
typedef itk::MultiplyImageFilter< TOutputImage > MultiplyFilterType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ADMMWaveletsConjugateGradientOperator Self
 
typedef ConjugateGradientOperator< TOutputImage > Superclass
 
- Public Types inherited from rtk::ConjugateGradientOperator< TOutputImage >
typedef itk::SmartPointer< SelfPointer
 
typedef ConjugateGradientOperator Self
 
typedef itk::ImageToImageFilter< TOutputImage, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual bool GetDisableDisplacedDetectorFilter ()
 
virtual const char * GetNameOfClass () const
 
void SetBackProjectionFilter (const BackProjectionFilterPointer _arg)
 
virtual void SetBeta (float _arg)
 
virtual void SetDisableDisplacedDetectorFilter (bool _arg)
 
void SetForwardProjectionFilter (const ForwardProjectionFilterPointer _arg)
 
void SetGeometry (const ThreeDCircularProjectionGeometry::Pointer _arg)
 
- Public Member Functions inherited from rtk::ConjugateGradientOperator< TOutputImage >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual void SetX (const TOutputImage *OutputImage)
 

Static Public Member Functions

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

Protected Member Functions

 ADMMWaveletsConjugateGradientOperator ()
 
void GenerateData () override
 
virtual ~ADMMWaveletsConjugateGradientOperator () override
 
void VerifyInputInformation () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
- Protected Member Functions inherited from rtk::ConjugateGradientOperator< TOutputImage >
 ConjugateGradientOperator ()
 
virtual ~ConjugateGradientOperator () override
 

Protected Attributes

AddFilterType::Pointer m_AddFilter
 
BackProjectionFilterPointer m_BackProjectionFilter
 
float m_Beta
 
bool m_DisableDisplacedDetectorFilter
 
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
 
ForwardProjectionFilterPointer m_ForwardProjectionFilter
 
MultiplyFilterType::Pointer m_MultiplyFilter
 
MultiplyFilterType::Pointer m_ZeroMultiplyProjectionFilter
 
MultiplyFilterType::Pointer m_ZeroMultiplyVolumeFilter
 

Private Member Functions

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

Detailed Description

template<typename TOutputImage>
class rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >

Implements the operator A used in the conjugate gradient step of ADMM reconstruction with wavelets regularization.

This filter implements the operator A used in the conjugate gradient step of a reconstruction method based on compressed sensing. The method attempts to find the f that minimizes || Rf -p ||_2^2 + alpha * || W(f) ||_1, with R the forward projection operator, p the measured projections, and W the Daubechies wavelets transform. Details on the method and the calculations can be found in

Mory, C., B. Zhang, V. Auvray, M. Grass, D. Schafer, F. Peyrin, S. Rit, P. Douek, and L. Boussel. “ECG-Gated C-Arm Computed Tomography Using L1 Regularization.” In Proceedings of the 20th European Signal Processing Conference (EUSIPCO), 2728–32, 2012.

This filter takes in input f and outputs R_t R f + beta * W_t W f. The Daubechies wavelets being orthogonal, W_t happens to be the inverse of W, and therefore the filter outputs R_t R f + beta * f

dot_inline_dotgraph_4.png
Test:
rtkadmmWaveletstest.cxx
Author
Cyril Mory

Definition at line 98 of file rtkADMMWaveletsConjugateGradientOperator.h.

Member Typedef Documentation

template<typename TOutputImage >
typedef itk::AddImageFilter<TOutputImage> rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::AddFilterType

Definition at line 119 of file rtkADMMWaveletsConjugateGradientOperator.h.

Definition at line 113 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
typedef rtk::BackProjectionImageFilter< TOutputImage, TOutputImage > rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::BackProjectionFilterType

Definition at line 112 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
typedef rtk::DisplacedDetectorImageFilter<TOutputImage> rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::DisplacedDetectorFilterType

Definition at line 121 of file rtkADMMWaveletsConjugateGradientOperator.h.

Definition at line 116 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
typedef rtk::ForwardProjectionImageFilter< TOutputImage, TOutputImage > rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::ForwardProjectionFilterType

Definition at line 115 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
typedef itk::MultiplyImageFilter<TOutputImage> rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::MultiplyFilterType

Definition at line 118 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
typedef itk::SmartPointer< Self > rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::Pointer

Definition at line 104 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
typedef ADMMWaveletsConjugateGradientOperator rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::Self

Standard class typedefs.

Definition at line 102 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
typedef ConjugateGradientOperator< TOutputImage > rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::Superclass

Definition at line 103 of file rtkADMMWaveletsConjugateGradientOperator.h.

Constructor & Destructor Documentation

template<typename TOutputImage >
rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::ADMMWaveletsConjugateGradientOperator ( )
protected
template<typename TOutputImage >
virtual rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::~ADMMWaveletsConjugateGradientOperator ( )
inlineoverrideprotectedvirtual
template<typename TOutputImage >
rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::ADMMWaveletsConjugateGradientOperator ( const Self )
private

Member Function Documentation

template<typename TOutputImage >
virtual::itk::LightObject::Pointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::CreateAnother ( ) const
template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::GenerateData ( )
overrideprotected
template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::GenerateInputRequestedRegion ( )
overrideprotected

The volume and the projections must have different requested regions

Referenced by rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::VerifyInputInformation().

template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::GenerateOutputInformation ( )
overrideprotected

The volume and the projections must have different requested regions

Referenced by rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::VerifyInputInformation().

template<typename TOutputImage >
virtual bool rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::GetDisableDisplacedDetectorFilter ( )
virtual
template<typename TOutputImage >
virtual const char* rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::ConjugateGradientOperator< TOutputImage >.

template<typename TOutputImage >
static Pointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::New ( )
static

Method for creation through the object factory.

template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::operator= ( const Self )
private
template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::SetBackProjectionFilter ( const BackProjectionFilterPointer  _arg)

Set the backprojection filter

template<typename TOutputImage >
virtual void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::SetBeta ( float  _arg)
virtual

Set the regularization parameter

template<typename TOutputImage >
virtual void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::SetDisableDisplacedDetectorFilter ( bool  _arg)
virtual

Set / Get whether the displaced detector filter should be disabled

template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::SetForwardProjectionFilter ( const ForwardProjectionFilterPointer  _arg)

Set the forward projection filter

template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::SetGeometry ( const ThreeDCircularProjectionGeometry::Pointer  _arg)

Set the geometry of both m_BackProjectionFilter and m_ForwardProjectionFilter

template<typename TOutputImage >
void rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::VerifyInputInformation ( )
inlineoverrideprotected

Member Data Documentation

template<typename TOutputImage >
AddFilterType::Pointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_AddFilter
protected

Definition at line 150 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
BackProjectionFilterPointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_BackProjectionFilter
protected

Member pointers to the filters used internally (for convenience)

Definition at line 147 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
float rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_Beta
protected

Definition at line 156 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
bool rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_DisableDisplacedDetectorFilter
protected

Definition at line 157 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
DisplacedDetectorFilterType::Pointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_DisplacedDetectorFilter
protected

Definition at line 154 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
ForwardProjectionFilterPointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_ForwardProjectionFilter
protected

Definition at line 148 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
MultiplyFilterType::Pointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_MultiplyFilter
protected

Definition at line 151 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
MultiplyFilterType::Pointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_ZeroMultiplyProjectionFilter
protected

Definition at line 152 of file rtkADMMWaveletsConjugateGradientOperator.h.

template<typename TOutputImage >
MultiplyFilterType::Pointer rtk::ADMMWaveletsConjugateGradientOperator< TOutputImage >::m_ZeroMultiplyVolumeFilter
protected

Definition at line 153 of file rtkADMMWaveletsConjugateGradientOperator.h.


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