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::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType > Class Template Reference

#include <rtkFourDConjugateGradientConeBeamReconstructionFilter.h>

+ Inheritance diagram for rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >:
+ Collaboration diagram for rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >:

Public Types

typedef rtk::BackProjectionImageFilter< ProjectionStackType, VolumeTypeBackProjectionFilterType
 
typedef Superclass::BackProjectionType BackProjectionType
 
typedef rtk::FourDReconstructionConjugateGradientOperator< VolumeSeriesType, ProjectionStackType > CGOperatorFilterType
 
typedef rtk::ConjugateGradientImageFilter< VolumeSeriesType > ConjugateGradientFilterType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef rtk::DisplacedDetectorImageFilter< ProjectionStackType > DisplacedDetectorFilterType
 
typedef rtk::ForwardProjectionImageFilter< VolumeType, ProjectionStackType > ForwardProjectionFilterType
 
typedef Superclass::ForwardProjectionType ForwardProjectionType
 
typedef VolumeSeriesType InputImageType
 
typedef VolumeSeriesType OutputImageType
 
typedef itk::SmartPointer< SelfPointer
 
typedef rtk::ProjectionStackToFourDImageFilter< VolumeSeriesType, ProjectionStackType > ProjStackToFourDFilterType
 
typedef FourDConjugateGradientConeBeamReconstructionFilter Self
 
typedef IterativeConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType > Superclass
 
typedef ProjectionStackType VolumeType
 
- Public Types inherited from rtk::IterativeConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >
typedef rtk::BackProjectionImageFilter< ProjectionStackType, VolumeTypeBackProjectionFilterType
 
typedef BackProjectionFilterType::Pointer BackProjectionPointerType
 
enum  BackProjectionType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef rtk::ForwardProjectionImageFilter< VolumeType, ProjectionStackType > ForwardProjectionFilterType
 
typedef ForwardProjectionFilterType::Pointer ForwardProjectionPointerType
 
enum  ForwardProjectionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef IterativeConeBeamReconstructionFilter Self
 
typedef itk::ImageToImageFilter< VolumeSeriesType, VolumeSeriesType > Superclass
 
typedef ProjectionStackType VolumeType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual bool GetCudaConjugateGradient ()
 
virtual bool GetDisableDisplacedDetectorFilter ()
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetNumberOfIterations ()
 
 itkGetObjectMacro (Geometry, ThreeDCircularProjectionGeometry) virtual void SetGeometry(ThreeDCircularProjectionGeometry *_arg)
 
virtual void SetBackProjectionFilter (BackProjectionType _arg) override
 
virtual void SetCudaConjugateGradient (bool _arg)
 
virtual void SetDisableDisplacedDetectorFilter (bool _arg)
 
virtual void SetForwardProjectionFilter (ForwardProjectionType _arg) override
 
virtual void SetNumberOfIterations (unsigned int _arg)
 
virtual void SetSignal (const std::vector< double > signal)
 
void SetWeights (const itk::Array2D< float > _arg)
 
void SetInputVolumeSeries (const VolumeSeriesType *VolumeSeries)
 
VolumeSeriesType::ConstPointer GetInputVolumeSeries ()
 
void SetInputProjectionStack (const ProjectionStackType *Projections)
 
ProjectionStackType::ConstPointer GetInputProjectionStack ()
 
- Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >
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< VolumeSeriesType, ProjectionStackType >
static Pointer New ()
 

Protected Member Functions

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

Protected Attributes

BackProjectionFilterType::Pointer m_BackProjectionFilter
 
BackProjectionFilterType::Pointer m_BackProjectionFilterForB
 
CGOperatorFilterType::Pointer m_CGOperator
 
ConjugateGradientFilterType::Pointer m_ConjugateGradientFilter
 
bool m_CudaConjugateGradient
 
bool m_DisableDisplacedDetectorFilter
 
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
 
ForwardProjectionFilterType::Pointer m_ForwardProjectionFilter
 
ProjStackToFourDFilterType::Pointer m_ProjStackToFourDFilter
 
std::vector< double > m_Signal
 
- Protected Attributes inherited from rtk::IterativeConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >
BackProjectionType m_CurrentBackProjectionConfiguration
 
ForwardProjectionType m_CurrentForwardProjectionConfiguration
 

Private Member Functions

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

Private Attributes

ThreeDCircularProjectionGeometry::Pointer m_Geometry
 
unsigned int m_NumberOfIterations
 

Detailed Description

template<typename VolumeSeriesType, typename ProjectionStackType>
class rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >

Implements part of the 4D reconstruction by conjugate gradient.

See the reference paper: "Cardiac C-arm computed tomography using a 3D + time ROI reconstruction method with spatial and temporal regularization" by Mory et al.

4D conjugate gradient reconstruction consists in iteratively minimizing the following cost function:

\[ \sum\limits_{\alpha} \| R_\alpha S_\alpha x - p_\alpha \|_2^2 \]

with

dot_inline_dotgraph_10.png
Test:
rtkfourdconjugategradienttest.cxx
Author
Cyril Mory

Definition at line 95 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

Member Typedef Documentation

template<typename VolumeSeriesType , typename ProjectionStackType >
typedef rtk::BackProjectionImageFilter< ProjectionStackType, VolumeType > rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::BackProjectionFilterType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef Superclass::BackProjectionType rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::BackProjectionType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef rtk::FourDReconstructionConjugateGradientOperator<VolumeSeriesType, ProjectionStackType> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::CGOperatorFilterType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef rtk::ConjugateGradientImageFilter<VolumeSeriesType> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::ConjugateGradientFilterType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef itk::SmartPointer<const Self> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::ConstPointer
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef rtk::DisplacedDetectorImageFilter<ProjectionStackType> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::DisplacedDetectorFilterType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef rtk::ForwardProjectionImageFilter< VolumeType, ProjectionStackType > rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::ForwardProjectionFilterType

Typedefs of each subfilter of this composite filter

Definition at line 111 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

template<typename VolumeSeriesType , typename ProjectionStackType >
typedef Superclass::ForwardProjectionType rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::ForwardProjectionType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef VolumeSeriesType rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::InputImageType

Some convenient typedefs.

Definition at line 106 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

template<typename VolumeSeriesType , typename ProjectionStackType >
typedef VolumeSeriesType rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::OutputImageType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef itk::SmartPointer<Self> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::Pointer
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef rtk::ProjectionStackToFourDImageFilter<VolumeSeriesType, ProjectionStackType> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::ProjStackToFourDFilterType
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef FourDConjugateGradientConeBeamReconstructionFilter rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::Self

Standard class typedefs.

Definition at line 100 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

template<typename VolumeSeriesType , typename ProjectionStackType >
typedef IterativeConeBeamReconstructionFilter<VolumeSeriesType, ProjectionStackType> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::Superclass
template<typename VolumeSeriesType , typename ProjectionStackType >
typedef ProjectionStackType rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::VolumeType

Constructor & Destructor Documentation

template<typename VolumeSeriesType , typename ProjectionStackType >
rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::FourDConjugateGradientConeBeamReconstructionFilter ( )
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
virtual rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::~FourDConjugateGradientConeBeamReconstructionFilter ( )
inlineoverrideprotectedvirtual
template<typename VolumeSeriesType , typename ProjectionStackType >
rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::FourDConjugateGradientConeBeamReconstructionFilter ( const Self )
private

Member Function Documentation

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual::itk::LightObject::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::CreateAnother ( ) const
template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GenerateData ( )
overrideprotected
template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GenerateInputRequestedRegion ( )
overrideprotected
template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GenerateOutputInformation ( )
overrideprotected
template<typename VolumeSeriesType , typename ProjectionStackType >
virtual bool rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetCudaConjugateGradient ( )
virtual

Get / Set whether conjugate gradient should be performed on GPU

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual bool rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetDisableDisplacedDetectorFilter ( )
virtual
template<typename VolumeSeriesType , typename ProjectionStackType >
ProjectionStackType::ConstPointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetInputProjectionStack ( )

Set/Get the stack of projections

template<typename VolumeSeriesType , typename ProjectionStackType >
VolumeSeriesType::ConstPointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetInputVolumeSeries ( )

Set/Get the 4D image to be updated.

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual const char* rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetNameOfClass ( ) const
virtual
template<typename VolumeSeriesType , typename ProjectionStackType >
virtual unsigned int rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetNumberOfIterations ( )
virtual

Get / Set the number of iterations. Default is 3.

template<typename VolumeSeriesType , typename ProjectionStackType >
rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::itkGetObjectMacro ( Geometry  ,
ThreeDCircularProjectionGeometry   
)

Get / Set the object pointer to projection geometry

template<typename VolumeSeriesType , typename ProjectionStackType >
static Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::New ( )
static

Standard New method.

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::operator= ( const Self )
private
template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetBackProjectionFilter ( BackProjectionType  _arg)
overridevirtual

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

Reimplemented from rtk::IterativeConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >.

Reimplemented in rtk::MotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >.

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetCudaConjugateGradient ( bool  _arg)
virtual
template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetDisableDisplacedDetectorFilter ( bool  _arg)
virtual

Set / Get whether the displaced detector filter should be disabled

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetForwardProjectionFilter ( ForwardProjectionType  _arg)
overridevirtual
template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetInputProjectionStack ( const ProjectionStackType *  Projections)

Set/Get the stack of projections

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetInputVolumeSeries ( const VolumeSeriesType *  VolumeSeries)

Set/Get the 4D image to be updated.

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetNumberOfIterations ( unsigned int  _arg)
virtual
template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetSignal ( const std::vector< double >  signal)
virtual
template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetWeights ( const itk::Array2D< float >  _arg)

Pass the interpolation weights to subfilters

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::VerifyInputInformation ( )
inlineoverrideprotected

The two inputs should not be in the same space so there is nothing to verify.

Definition at line 176 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

Member Data Documentation

template<typename VolumeSeriesType , typename ProjectionStackType >
BackProjectionFilterType::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_BackProjectionFilter
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
BackProjectionFilterType::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_BackProjectionFilterForB
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
CGOperatorFilterType::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_CGOperator
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
ConjugateGradientFilterType::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_ConjugateGradientFilter
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
bool rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_CudaConjugateGradient
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
bool rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_DisableDisplacedDetectorFilter
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
DisplacedDetectorFilterType::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_DisplacedDetectorFilter
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
ForwardProjectionFilterType::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_ForwardProjectionFilter
protected

Pointers to each subfilter of this composite filter

Definition at line 179 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

template<typename VolumeSeriesType , typename ProjectionStackType >
ThreeDCircularProjectionGeometry::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_Geometry
private

Geometry object

Definition at line 197 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

template<typename VolumeSeriesType , typename ProjectionStackType >
unsigned int rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_NumberOfIterations
private

Number of conjugate gradient descent iterations

Definition at line 200 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

template<typename VolumeSeriesType , typename ProjectionStackType >
ProjStackToFourDFilterType::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_ProjStackToFourDFilter
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
std::vector<double> rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::m_Signal
protected

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