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

#include <rtkADMMTotalVariationConeBeamReconstructionFilter.h>

+ Inheritance diagram for rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >:
+ Collaboration diagram for rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >:

Public Types

typedef itk::AddImageFilter< TGradientOutputImage > AddGradientsFilterType
 
typedef BackProjectionFilterType::Pointer BackProjectionFilterPointer
 
typedef rtk::BackProjectionImageFilter< TOutputImage, TOutputImage > BackProjectionFilterType
 
typedef Superclass::BackProjectionType BackProjectionType
 
typedef rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage > CGOperatorFilterType
 
typedef rtk::ConjugateGradientImageFilter< TOutputImage > ConjugateGradientFilterType
 
typedef rtk::DisplacedDetectorImageFilter< TOutputImage > DisplacedDetectorFilterType
 
typedef ForwardProjectionFilterType::Pointer ForwardProjectionFilterPointer
 
typedef rtk::ForwardProjectionImageFilter< TOutputImage, TOutputImage > ForwardProjectionFilterType
 
typedef Superclass::ForwardProjectionType ForwardProjectionType
 
typedef rtk::MultiplyByVectorImageFilter< TOutputImage > GatingWeightsFilterType
 
typedef rtk::BackwardDifferenceDivergenceImageFilter< TGradientOutputImage, TOutputImage > ImageDivergenceFilterType
 
typedef ForwardDifferenceGradientImageFilter< TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, TGradientOutputImage > ImageGradientFilterType
 
typedef itk::MultiplyImageFilter< TGradientOutputImage > MultiplyGradientFilterType
 
typedef itk::MultiplyImageFilter< TOutputImage > MultiplyVolumeFilterType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ADMMTotalVariationConeBeamReconstructionFilter Self
 
typedef rtk::SoftThresholdTVImageFilter< TGradientOutputImage > SoftThresholdTVFilterType
 
typedef itk::SubtractImageFilter< TGradientOutputImage > SubtractGradientsFilterType
 
typedef itk::SubtractImageFilter< TOutputImage > SubtractVolumeFilterType
 
typedef IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage > Superclass
 
- Public Types inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
typedef rtk::BackProjectionImageFilter< TOutputImage, VolumeTypeBackProjectionFilterType
 
typedef BackProjectionFilterType::Pointer BackProjectionPointerType
 
enum  BackProjectionType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef rtk::ForwardProjectionImageFilter< VolumeType, TOutputImage > ForwardProjectionFilterType
 
typedef ForwardProjectionFilterType::Pointer ForwardProjectionPointerType
 
enum  ForwardProjectionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef IterativeConeBeamReconstructionFilter Self
 
typedef itk::ImageToImageFilter< TOutputImage, TOutputImage > Superclass
 
typedef TOutputImage VolumeType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual float GetAL_iterations ()
 
virtual float GetAlpha ()
 
virtual float GetBeta ()
 
virtual float GetCG_iterations ()
 
virtual bool GetDisableDisplacedDetectorFilter ()
 
virtual const char * GetNameOfClass () const
 
virtual void SetAL_iterations (float _arg)
 
virtual void SetAlpha (float _arg)
 
void SetBackProjectionFilter (BackProjectionType _arg) override
 
virtual void SetBeta (float _arg)
 
void SetBetaForCurrentIteration (int iter)
 
virtual void SetCG_iterations (float _arg)
 
virtual void SetDisableDisplacedDetectorFilter (bool _arg)
 
void SetForwardProjectionFilter (ForwardProjectionType _arg) override
 
void SetGatingWeights (std::vector< float > weights)
 
virtual void SetGeometry (ThreeDCircularProjectionGeometry *_arg)
 
- Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
ForwardProjectionType GetForwardProjectionFilter ()
 
BackProjectionType GetBackProjectionFilter ()
 

Static Public Member Functions

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

Protected Member Functions

 ADMMTotalVariationConeBeamReconstructionFilter ()
 
void GenerateData () override
 
void VerifyInputInformation () override
 
virtual ~ADMMTotalVariationConeBeamReconstructionFilter () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
- Protected Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
virtual BackProjectionPointerType InstantiateBackProjectionFilter (int bptype)
 
virtual ForwardProjectionPointerType InstantiateForwardProjectionFilter (int fwtype)
 
 IterativeConeBeamReconstructionFilter ()
 
virtual ~IterativeConeBeamReconstructionFilter () override
 

Protected Attributes

AddGradientsFilterType::Pointer m_AddGradientsFilter
 
BackProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_BackProjectionFilter
 
BackProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_BackProjectionFilterForConjugateGradient
 
CGOperatorFilterType::Pointer m_CGOperator
 
ConjugateGradientFilterType::Pointer m_ConjugateGradientFilter
 
bool m_DisableDisplacedDetectorFilter
 
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
 
ImageDivergenceFilterType::Pointer m_DivergenceFilter
 
ForwardProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_ForwardProjectionFilter
 
std::vector< float > m_GatingWeights
 
GatingWeightsFilterType::Pointer m_GatingWeightsFilter
 
ImageGradientFilterType::Pointer m_GradientFilter1
 
ImageGradientFilterType::Pointer m_GradientFilter2
 
bool m_IsGated
 
MultiplyVolumeFilterType::Pointer m_MultiplyFilter
 
SoftThresholdTVFilterType::Pointer m_SoftThresholdFilter
 
SubtractGradientsFilterType::Pointer m_SubtractFilter1
 
SubtractGradientsFilterType::Pointer m_SubtractFilter2
 
SubtractVolumeFilterType::Pointer m_SubtractVolumeFilter
 
MultiplyGradientFilterType::Pointer m_ZeroMultiplyGradientFilter
 
MultiplyVolumeFilterType::Pointer m_ZeroMultiplyVolumeFilter
 
- Protected Attributes inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
BackProjectionType m_CurrentBackProjectionConfiguration
 
ForwardProjectionType m_CurrentForwardProjectionConfiguration
 

Private Member Functions

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

Private Attributes

unsigned int m_AL_iterations
 
float m_Alpha
 
float m_Beta
 
unsigned int m_CG_iterations
 
ThreeDCircularProjectionGeometry::Pointer m_Geometry
 

Detailed Description

template<typename TOutputImage, typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
class rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >

Implements the ADMM reconstruction with total variation regularization.

This filter implements a reconstruction method based on compressed sensing. The method attempts to find the f that minimizes || sqrt(D) (Rf -p) ||_2^2 + alpha * TV(f), with R the forward projection operator, p the measured projections, D the displaced detector weighting matrix, and TV the total variation. Details on the method and the calculations can be found on page 48 of

Mory, C. “Cardiac C-Arm Computed Tomography”, PhD thesis, 2014. https://hal.inria.fr/tel-00985728/document

\( f_{k+1} \) is obtained by linear conjugate solving the following:

\[ ( R^T R + \beta \nabla^T \nabla ) f = R^T p + \beta \nabla^T ( g_k + d_k ) \]

\( g_{k+1} \) is obtained by soft thresholding:

\[ g_{k+1} = ST_{ \frac{\alpha}{2 \beta} } ( \nabla f_{k+1} - d_k ) \]

\( d_{k+1} \) is a simple subtraction:

\[ d_{k+1} = g_{k+1} - ( \nabla f_{k+1} - d_k) \]

dot_inline_dotgraph_1.png
Test:
rtkadmmtotalvariationtest.cxx
Author
Cyril Mory

Definition at line 134 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.

Member Typedef Documentation

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef itk::AddImageFilter<TGradientOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::AddGradientsFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef BackProjectionFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::BackProjectionFilterPointer
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::BackProjectionImageFilter< TOutputImage, TOutputImage > rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::BackProjectionFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef Superclass::BackProjectionType rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::BackProjectionType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::ADMMTotalVariationConjugateGradientOperator<TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::CGOperatorFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::ConjugateGradientImageFilter<TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ConjugateGradientFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::DisplacedDetectorImageFilter<TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::DisplacedDetectorFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef ForwardProjectionFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterPointer
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::ForwardProjectionImageFilter< TOutputImage, TOutputImage > rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef Superclass::ForwardProjectionType rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ForwardProjectionType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::MultiplyByVectorImageFilter<TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GatingWeightsFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::BackwardDifferenceDivergenceImageFilter<TGradientOutputImage, TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ImageDivergenceFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef ForwardDifferenceGradientImageFilter<TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, TGradientOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ImageGradientFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef itk::MultiplyImageFilter<TGradientOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::MultiplyGradientFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef itk::MultiplyImageFilter<TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::MultiplyVolumeFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef itk::SmartPointer< Self > rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::Pointer
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef ADMMTotalVariationConeBeamReconstructionFilter rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::Self

Standard class typedefs.

Definition at line 138 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef rtk::SoftThresholdTVImageFilter<TGradientOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SoftThresholdTVFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef itk::SubtractImageFilter<TGradientOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SubtractGradientsFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef itk::SubtractImageFilter<TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SubtractVolumeFilterType
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
typedef IterativeConeBeamReconstructionFilter<TOutputImage, TOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::Superclass

Constructor & Destructor Documentation

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ADMMTotalVariationConeBeamReconstructionFilter ( )
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::~ADMMTotalVariationConeBeamReconstructionFilter ( )
inlineoverrideprotectedvirtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ADMMTotalVariationConeBeamReconstructionFilter ( const Self )
private

Member Function Documentation

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual::itk::LightObject::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::CreateAnother ( ) const
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GenerateData ( )
overrideprotected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GenerateInputRequestedRegion ( )
overrideprotected

The volume and the projections must have different requested regions

Referenced by rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::VerifyInputInformation().

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GenerateOutputInformation ( )
overrideprotected

The volume and the projections must have different requested regions

Referenced by rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::VerifyInputInformation().

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual float rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GetAL_iterations ( )
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual float rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GetAlpha ( )
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual float rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GetBeta ( )
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual float rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GetCG_iterations ( )
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual bool rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GetDisableDisplacedDetectorFilter ( )
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual const char* rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >.

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

Method for creation through the object factory.

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::operator= ( const Self )
private
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetAL_iterations ( float  _arg)
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetAlpha ( float  _arg)
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetBackProjectionFilter ( BackProjectionType  _arg)
overridevirtual

Pass the backprojection filter to the conjugate gradient operator and to the back projection filter generating the B of AX=B

Reimplemented from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >.

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetBeta ( float  _arg)
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetBetaForCurrentIteration ( int  iter)

Increase the value of Beta at each iteration

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetCG_iterations ( float  _arg)
virtual
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetDisableDisplacedDetectorFilter ( bool  _arg)
virtual

Set / Get whether the displaced detector filter should be disabled

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetForwardProjectionFilter ( ForwardProjectionType  _arg)
overridevirtual

Pass the ForwardProjection filter to the conjugate gradient operator

Reimplemented from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >.

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetGatingWeights ( std::vector< float >  weights)

In the case of a gated reconstruction, set the gating weights

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
virtual void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetGeometry ( ThreeDCircularProjectionGeometry _arg)
virtual

Pass the geometry to all filters needing it

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::VerifyInputInformation ( )
inlineoverrideprotected

The inputs of this filter have the same type (float, 3) but not the same meaning It is normal that they do not occupy the same physical space. Therefore this check must be removed

Definition at line 234 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.

References rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GenerateInputRequestedRegion(), and rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GenerateOutputInformation().

Member Data Documentation

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
AddGradientsFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_AddGradientsFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
unsigned int rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_AL_iterations
private
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
float rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_Alpha
private
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
BackProjectionImageFilter<TOutputImage, TOutputImage>::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_BackProjectionFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
BackProjectionImageFilter<TOutputImage, TOutputImage>::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_BackProjectionFilterForConjugateGradient
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
float rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_Beta
private
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
unsigned int rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_CG_iterations
private
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
CGOperatorFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_CGOperator
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
ConjugateGradientFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_ConjugateGradientFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
bool rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_DisableDisplacedDetectorFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
DisplacedDetectorFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_DisplacedDetectorFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
ImageDivergenceFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_DivergenceFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
ForwardProjectionImageFilter<TOutputImage, TOutputImage>::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_ForwardProjectionFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
std::vector<float> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_GatingWeights
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
GatingWeightsFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_GatingWeightsFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
ThreeDCircularProjectionGeometry::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_Geometry
private
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
ImageGradientFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_GradientFilter1
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
ImageGradientFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_GradientFilter2
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
bool rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_IsGated
protected

Have gating weights been set ? If so, apply them, otherwise ignore the gating weights filter

Definition at line 244 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
MultiplyVolumeFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_MultiplyFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
SoftThresholdTVFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_SoftThresholdFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
SubtractGradientsFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_SubtractFilter1
protected

Member pointers to the filters used internally (for convenience)

Definition at line 212 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.

template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
SubtractGradientsFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_SubtractFilter2
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
SubtractVolumeFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_SubtractVolumeFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
MultiplyGradientFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_ZeroMultiplyGradientFilter
protected
template<typename TOutputImage , typename TGradientOutputImage = itk::Image< itk::CovariantVector < typename TOutputImage::ValueType, TOutputImage::ImageDimension >, TOutputImage::ImageDimension >>
MultiplyVolumeFilterType::Pointer rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::m_ZeroMultiplyVolumeFilter
protected

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