RTK  1.3.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,
VolumeType
BackProjectionFilterType
 
typedef
rtk::FourDReconstructionConjugateGradientOperator
< VolumeSeriesType,
ProjectionStackType > 
CGOperatorFilterType
 
typedef
rtk::ConjugateGradientImageFilter
< VolumeSeriesType > 
ConjugateGradientFilterType
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
rtk::DisplacedDetectorImageFilter
< ProjectionStackType > 
DisplacedDetectorFilterType
 
typedef
rtk::ForwardProjectionImageFilter
< VolumeType,
ProjectionStackType > 
ForwardProjectionFilterType
 
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,
VolumeType
BackProjectionFilterType
 
typedef
BackProjectionFilterType::Pointer 
BackProjectionPointerType
 
typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef
rtk::ForwardProjectionImageFilter
< VolumeType,
ProjectionStackType > 
ForwardProjectionFilterType
 
typedef
ForwardProjectionFilterType::Pointer 
ForwardProjectionPointerType
 
typedef itk::SmartPointer< SelfPointer
 
typedef
IterativeConeBeamReconstructionFilter 
Self
 
typedef
itk::ImageToImageFilter
< VolumeSeriesType,
VolumeSeriesType > 
Superclass
 
typedef ProjectionStackType VolumeType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
virtual bool GetCudaConjugateGradient ()
 
virtual bool GetDisableDisplacedDetectorFilter ()
 
virtual
ThreeDCircularProjectionGeometry::Pointer 
GetGeometry ()
 
virtual const char * GetNameOfClass () const
 
virtual unsigned int GetNumberOfIterations ()
 
void PrintTiming (std::ostream &os) const
 
void SetBackProjectionFilter (int _arg) ITK_OVERRIDE
 
virtual void SetCudaConjugateGradient (bool _arg)
 
virtual void SetDisableDisplacedDetectorFilter (bool _arg)
 
void SetForwardProjectionFilter (int _arg) ITK_OVERRIDE
 
virtual void SetGeometry (ThreeDCircularProjectionGeometry::Pointer _arg)
 
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 (void) const
 
int GetForwardProjectionFilter ()
 
int 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 () ITK_OVERRIDE
 
void GenerateInputRequestedRegion () ITK_OVERRIDE
 
void GenerateOutputInformation () ITK_OVERRIDE
 
void VerifyInputInformation () ITK_OVERRIDE
 
 ~FourDConjugateGradientConeBeamReconstructionFilter () ITK_OVERRIDE
 
- Protected Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >
virtual BackProjectionPointerType InstantiateBackProjectionFilter (int bptype)
 
virtual
ForwardProjectionPointerType 
InstantiateForwardProjectionFilter (int fwtype)
 
 IterativeConeBeamReconstructionFilter ()
 
 ~IterativeConeBeamReconstructionFilter () ITK_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 >
int m_CurrentBackProjectionConfiguration
 
int 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 96 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 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 112 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.h.

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

Some convenient typedefs.

Definition at line 107 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 101 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<class VolumeSeriesType , class ProjectionStackType >
rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::FourDConjugateGradientConeBeamReconstructionFilter ( )
protected
template<typename VolumeSeriesType , typename ProjectionStackType >
rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::~FourDConjugateGradientConeBeamReconstructionFilter ( )
inlineprotected
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 ( void  ) const
template<class VolumeSeriesType , class ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GenerateData ( void  )
protected
template<class VolumeSeriesType , class ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GenerateInputRequestedRegion ( void  )
protected
template<class VolumeSeriesType , class ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GenerateOutputInformation ( void  )
protected
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 >
virtual ThreeDCircularProjectionGeometry::Pointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetGeometry ( )
virtual

Get / Set the object pointer to projection geometry

template<class VolumeSeriesType , class ProjectionStackType >
ProjectionStackType::ConstPointer rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::GetInputProjectionStack ( )

Set/Get the stack of projections

Definition at line 82 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx.

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

Set/Get the 4D image to be updated.

Definition at line 74 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx.

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 >
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<class VolumeSeriesType , class ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::PrintTiming ( std::ostream &  os) const
template<class VolumeSeriesType , class ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetBackProjectionFilter ( int  _arg)
virtual

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

Definition at line 110 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx.

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<class VolumeSeriesType , class ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetForwardProjectionFilter ( int  _arg)
virtual
template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetGeometry ( ThreeDCircularProjectionGeometry::Pointer  _arg)
virtual
template<class VolumeSeriesType , class ProjectionStackType >
void rtk::FourDConjugateGradientConeBeamReconstructionFilter< VolumeSeriesType, ProjectionStackType >::SetInputProjectionStack ( const ProjectionStackType *  Projections)

Set/Get the stack of projections

Definition at line 67 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx.

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

Set/Get the 4D image to be updated.

Definition at line 60 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx.

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

Pass the interpolation weights to subfilters

Definition at line 133 of file rtkFourDConjugateGradientConeBeamReconstructionFilter.hxx.

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

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 files: