RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage > Class Template Reference

#include <rtkConjugateGradientConeBeamReconstructionFilter.h>

+ Inheritance diagram for rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >:
+ Collaboration diagram for rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >:

Public Types

using BackProjectionFilterType = BackProjectionImageFilter< TOutputImage, TOutputImage >
 
using BackProjectionType = typename Superclass::BackProjectionType
 
using CGOperatorFilterType = ReconstructionConjugateGradientOperator< TOutputImage, TSingleComponentImage, TWeightsImage >
 
using ConjugateGradientFilterPointer = typename ConjugateGradientFilterType::Pointer
 
using ConjugateGradientFilterType = ConjugateGradientImageFilter< TOutputImage >
 
using ConstantImageSourceType = ConstantImageSource< TOutputImage >
 
using CPUOutputImageType = typename itk::Image< typename TOutputImage::PixelType, TOutputImage::ImageDimension >
 
using DisplacedDetectorFilterType = DisplacedDetectorImageFilter< TWeightsImage >
 
using DivideFilterType = itk::DivideOrZeroOutImageFilter< TOutputImage >
 
using ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer
 
using ForwardProjectionFilterType = ForwardProjectionImageFilter< TOutputImage, TOutputImage >
 
using ForwardProjectionType = typename Superclass::ForwardProjectionType
 
using MatrixVectorMultiplyFilterType = BlockDiagonalMatrixVectorMultiplyImageFilter< TOutputImage, TWeightsImage >
 
using MultiplyFilterType = itk::MultiplyImageFilter< TOutputImage, TSingleComponentImage, TOutputImage >
 
typedef std::conditional< std::is_same< TSingleComponentImage, TOutputImage >::value, PlainMultiplyFilterType, MatrixVectorMultiplyFilterType >::type MultiplyWithWeightsFilterType
 
using OutputImagePointer = typename TOutputImage::Pointer
 
using PlainMultiplyFilterType = itk::MultiplyImageFilter< TOutputImage, TOutputImage, TOutputImage >
 
using Pointer = itk::SmartPointer< Self >
 
using Self = ConjugateGradientConeBeamReconstructionFilter
 
using StatisticsFilterType = itk::StatisticsImageFilter< TSingleComponentImage >
 
using StatisticsImageFilterType = itk::StatisticsImageFilter< TOutputImage >
 
using Superclass = IterativeConeBeamReconstructionFilter< TOutputImage >
 
- Public Types inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage >
using BackProjectionFilterType = rtk::BackProjectionImageFilter< TOutputImage, VolumeType >
 
using BackProjectionPointerType = typename BackProjectionFilterType::Pointer
 
enum  BackProjectionType
 
using ConstPointer = itk::SmartPointer< const Self >
 
using ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< VolumeType, TOutputImage >
 
using ForwardProjectionPointerType = typename ForwardProjectionFilterType::Pointer
 
enum  ForwardProjectionType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = IterativeConeBeamReconstructionFilter
 
using Superclass = itk::ImageToImageFilter< TOutputImage, TOutputImage >
 
using VolumeType = TOutputImage
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual bool GetCudaConjugateGradient ()
 
virtual bool GetDisableDisplacedDetectorFilter ()
 
virtual float GetGamma ()
 
virtual bool GetIterationCosts ()
 
virtual const char * GetNameOfClass () const
 
virtual int GetNumberOfIterations ()
 
const std::vector< double > & GetResidualCosts ()
 
virtual float GetTikhonov ()
 
void SetBackProjectionFilter (BackProjectionType _arg) override
 
virtual void SetCudaConjugateGradient (bool _arg)
 
virtual void SetDisableDisplacedDetectorFilter (bool _arg)
 
void SetForwardProjectionFilter (ForwardProjectionType _arg) override
 
virtual void SetGamma (float _arg)
 
virtual void SetGeometry (const ThreeDCircularProjectionGeometry *_arg)
 
virtual void SetIterationCosts (bool _arg)
 
virtual void SetNumberOfIterations (int _arg)
 
virtual void SetTikhonov (float _arg)
 
void SetInputVolume (const TOutputImage *vol)
 
void SetInputProjectionStack (const TOutputImage *projs)
 
void SetInputWeights (const TWeightsImage *weights)
 
void SetSupportMask (const TSingleComponentImage *SupportMask)
 
TSingleComponentImage::ConstPointer GetSupportMask ()
 
- Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual void SetForwardProjectionFilter (ForwardProjectionType fwtype)
 
ForwardProjectionType GetForwardProjectionFilter ()
 
virtual void SetBackProjectionFilter (BackProjectionType bptype)
 
BackProjectionType GetBackProjectionFilter ()
 

Static Public Member Functions

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

Protected Member Functions

 ConjugateGradientConeBeamReconstructionFilter ()
 
void GenerateData () override
 
template<typename ImageType , typename IterativeConeBeamReconstructionFilter< TOutputImage >::template EnableCudaScalarAndVectorType< ImageType > * = nullptr>
ConjugateGradientFilterPointer InstantiateCudaConjugateGradientImageFilter ()
 
template<typename ImageType , typename IterativeConeBeamReconstructionFilter< TOutputImage >::template DisableCudaScalarAndVectorType< ImageType > * = nullptr>
ConjugateGradientFilterPointer InstantiateCudaConjugateGradientImageFilter ()
 
 ~ConjugateGradientConeBeamReconstructionFilter () override=default
 
void VerifyInputInformation () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
TOutputImage::ConstPointer GetInputVolume ()
 
TOutputImage::ConstPointer GetInputProjectionStack ()
 
TWeightsImage::ConstPointer GetInputWeights ()
 
- Protected Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage >
virtual BackProjectionPointerType InstantiateBackProjectionFilter (int bptype)
 
BackProjectionPointerType InstantiateCudaBackProjection ()
 
BackProjectionPointerType InstantiateCudaBackProjection ()
 
ForwardProjectionPointerType InstantiateCudaForwardProjection ()
 
ForwardProjectionPointerType InstantiateCudaForwardProjection ()
 
BackProjectionPointerType InstantiateCudaRayCastBackProjection ()
 
BackProjectionPointerType InstantiateCudaRayCastBackProjection ()
 
virtual ForwardProjectionPointerType InstantiateForwardProjectionFilter (int fwtype)
 
BackProjectionPointerType InstantiateJosephBackAttenuatedProjection ()
 
BackProjectionPointerType InstantiateJosephBackAttenuatedProjection ()
 
ForwardProjectionPointerType InstantiateJosephForwardAttenuatedProjection ()
 
ForwardProjectionPointerType InstantiateJosephForwardAttenuatedProjection ()
 
 IterativeConeBeamReconstructionFilter ()
 
 ~IterativeConeBeamReconstructionFilter () override=default
 

Protected Attributes

BackProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_BackProjectionFilter
 
BackProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_BackProjectionFilterForB
 
CGOperatorFilterType::Pointer m_CGOperator
 
ConjugateGradientFilterPointer m_ConjugateGradientFilter
 
ConstantImageSourceType::Pointer m_ConstantVolumeSource
 
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
 
ForwardProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_ForwardProjectionFilter
 
MultiplyFilterType::Pointer m_MultiplyOutputFilter
 
MultiplyFilterType::Pointer m_MultiplyProjectionsFilter
 
MultiplyFilterType::Pointer m_MultiplyVolumeFilter
 
MultiplyWithWeightsFilterType::Pointer m_MultiplyWithWeightsFilter
 
- Protected Attributes inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage >
BackProjectionType m_CurrentBackProjectionConfiguration
 
ForwardProjectionType m_CurrentForwardProjectionConfiguration
 
std::default_random_engine m_DefaultRandomEngine
 

Private Attributes

bool m_CudaConjugateGradient
 
bool m_DisableDisplacedDetectorFilter
 
float m_Gamma
 
ThreeDCircularProjectionGeometry::ConstPointer m_Geometry
 
bool m_IterationCosts
 
int m_NumberOfIterations
 
float m_Tikhonov
 

Additional Inherited Members

- Protected Types inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage >
using CPUImageType = typename itk::Image< typename TOutputImage::PixelType, TOutputImage::ImageDimension >
 
using EnableCudaScalarAndVectorType = typename std::enable_if< !std::is_same< CPUImageType, ImageType >::value &&std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value &&(itk::PixelTraits< typename ImageType::PixelType >::Dimension==1||itk::PixelTraits< typename ImageType::PixelType >::Dimension==2||itk::PixelTraits< typename ImageType::PixelType >::Dimension==3) >::type
 
using DisableCudaScalarAndVectorType = typename std::enable_if< std::is_same< CPUImageType, ImageType >::value||!std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value||(itk::PixelTraits< typename ImageType::PixelType >::Dimension!=1 &&itk::PixelTraits< typename ImageType::PixelType >::Dimension!=2 &&itk::PixelTraits< typename ImageType::PixelType >::Dimension!=3) >::type
 
using EnableCudaScalarType = typename std::enable_if< !std::is_same< CPUImageType, ImageType >::value &&std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value &&itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type
 
using DisableCudaScalarType = typename std::enable_if< std::is_same< CPUImageType, ImageType >::value||!std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value||itk::PixelTraits< typename ImageType::PixelType >::Dimension!=1 >::type
 
using EnableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension!=1 >::type
 
using DisableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type
 

Detailed Description

template<typename TOutputImage, typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
class rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >

Implements ConjugateGradient.

This filter implements the ConjugateGradient method. ConjugateGradient attempts to find the f that minimizes (1/2).|| sqrt(D) (Rf -p) ||_2^2 + (1/2).gamma.|| grad f ||_2^2 with R the forward projection operator, p the measured projections, and D the displaced detector weighting operator.

With gamma=0, this it is similar to the ART and SART methods. The difference lies in the algorithm employed to minimize this cost function. ART uses the Kaczmarz method (projects and back projects one ray at a time), SART the block-Kaczmarz method (projects and back projects one projection at a time), and ConjugateGradient a conjugate gradient method (projects and back projects all projections together).

With gamma > 0, a regularization is applied.

dot_inline_dotgraph_6.png
Test:
rtkconjugategradientreconstructiontest.cxx
Author
Cyril Mory

Definition at line 108 of file rtkConjugateGradientConeBeamReconstructionFilter.h.

Member Typedef Documentation

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::BackProjectionFilterType = BackProjectionImageFilter< TOutputImage, TOutputImage >
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::BackProjectionType = typename Superclass::BackProjectionType
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::CGOperatorFilterType = ReconstructionConjugateGradientOperator<TOutputImage, TSingleComponentImage, TWeightsImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConjugateGradientFilterPointer = typename ConjugateGradientFilterType::Pointer
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConjugateGradientFilterType = ConjugateGradientImageFilter<TOutputImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConstantImageSourceType = ConstantImageSource<TOutputImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::CPUOutputImageType = typename itk::Image< typename TOutputImage::PixelType, TOutputImage::ImageDimension>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::DisplacedDetectorFilterType = DisplacedDetectorImageFilter<TWeightsImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::DivideFilterType = itk::DivideOrZeroOutImageFilter<TOutputImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionFilterType = ForwardProjectionImageFilter< TOutputImage, TOutputImage >
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionType = typename Superclass::ForwardProjectionType
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MatrixVectorMultiplyFilterType = BlockDiagonalMatrixVectorMultiplyImageFilter<TOutputImage, TWeightsImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, TSingleComponentImage, TOutputImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
typedef std::conditional<std::is_same< TSingleComponentImage, TOutputImage>::value, PlainMultiplyFilterType, MatrixVectorMultiplyFilterType>::type rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MultiplyWithWeightsFilterType
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::OutputImagePointer = typename TOutputImage::Pointer
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::PlainMultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, TOutputImage, TOutputImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::Pointer = itk::SmartPointer< Self >
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::Self = ConjugateGradientConeBeamReconstructionFilter

Standard class type alias.

Definition at line 114 of file rtkConjugateGradientConeBeamReconstructionFilter.h.

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::StatisticsFilterType = itk::StatisticsImageFilter<TSingleComponentImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::StatisticsImageFilterType = itk::StatisticsImageFilter<TOutputImage>
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage>

Constructor & Destructor Documentation

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConjugateGradientConeBeamReconstructionFilter ( )
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::~ConjugateGradientConeBeamReconstructionFilter ( )
overrideprotecteddefault

Member Function Documentation

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual::itk::LightObject::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GenerateData ( )
overrideprotectedvirtual

Does the real work.

Reimplemented from itk::ImageSource< TOutputImage >.

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

The volume and the projections must have different requested regions

Reimplemented from itk::ProcessObject.

Referenced by rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::VerifyInputInformation().

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GenerateOutputInformation ( )
overrideprotectedvirtual

The volume and the projections must have different requested regions

Reimplemented from itk::ProcessObject.

Referenced by rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::VerifyInputInformation().

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual bool rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetCudaConjugateGradient ( )
virtual

Get / Set whether conjugate gradient should be performed on GPU

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual bool rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetDisableDisplacedDetectorFilter ( )
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual float rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetGamma ( )
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
TOutputImage::ConstPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetInputProjectionStack ( )
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
TOutputImage::ConstPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetInputVolume ( )
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
TWeightsImage::ConstPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetInputWeights ( )
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual bool rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetIterationCosts ( )
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual const char* rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::IterativeConeBeamReconstructionFilter< TOutputImage >.

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual int rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetNumberOfIterations ( )
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
const std::vector<double>& rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetResidualCosts ( )

Getter for ResidualCosts storing array

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
TSingleComponentImage::ConstPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetSupportMask ( )

Set the support mask, if any, for support constraint in reconstruction

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual float rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetTikhonov ( )
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
template<typename ImageType , typename IterativeConeBeamReconstructionFilter< TOutputImage >::template EnableCudaScalarAndVectorType< ImageType > * = nullptr>
ConjugateGradientFilterPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::InstantiateCudaConjugateGradientImageFilter ( )
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
template<typename ImageType , typename IterativeConeBeamReconstructionFilter< TOutputImage >::template DisableCudaScalarAndVectorType< ImageType > * = nullptr>
ConjugateGradientFilterPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::InstantiateCudaConjugateGradientImageFilter ( )
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
static Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::New ( )
static

Method for creation through the object factory.

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetBackProjectionFilter ( BackProjectionType  _arg)
override

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

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetCudaConjugateGradient ( bool  _arg)
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetDisableDisplacedDetectorFilter ( bool  _arg)
virtual

Set / Get whether the displaced detector filter should be disabled

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetForwardProjectionFilter ( ForwardProjectionType  _arg)
override

Pass the ForwardProjection filter to the conjugate gradient operator

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetGamma ( float  _arg)
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetGeometry ( const ThreeDCircularProjectionGeometry _arg)
virtual

Pass the geometry to all filters needing it

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetInputProjectionStack ( const TOutputImage *  projs)

Setters for the inputs

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetInputVolume ( const TOutputImage *  vol)

Setters for the inputs

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetInputWeights ( const TWeightsImage *  weights)

Setters for the inputs

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetIterationCosts ( bool  _arg)
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetNumberOfIterations ( int  _arg)
virtual
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetSupportMask ( const TSingleComponentImage *  SupportMask)

Set the support mask, if any, for support constraint in reconstruction

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
virtual void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetTikhonov ( float  _arg)
virtual

If Regularized, perform laplacian-based regularization during reconstruction (gamma is the strength of the regularization)

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::VerifyInputInformation ( )
inlineoverrideprotectedvirtual

Member Data Documentation

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
BackProjectionImageFilter<TOutputImage, TOutputImage>::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_BackProjectionFilter
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
BackProjectionImageFilter<TOutputImage, TOutputImage>::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_BackProjectionFilterForB
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
CGOperatorFilterType::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_CGOperator
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
ConjugateGradientFilterPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_ConjugateGradientFilter
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
ConstantImageSourceType::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_ConstantVolumeSource
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
bool rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_CudaConjugateGradient
private
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
bool rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_DisableDisplacedDetectorFilter
private
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
DisplacedDetectorFilterType::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_DisplacedDetectorFilter
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
ForwardProjectionImageFilter<TOutputImage, TOutputImage>::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_ForwardProjectionFilter
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
float rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_Gamma
private
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
ThreeDCircularProjectionGeometry::ConstPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_Geometry
private
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
bool rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_IterationCosts
private
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
MultiplyFilterType::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_MultiplyOutputFilter
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
MultiplyFilterType::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_MultiplyProjectionsFilter
protected

Member pointers to the filters used internally (for convenience)

Definition at line 217 of file rtkConjugateGradientConeBeamReconstructionFilter.h.

template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
MultiplyFilterType::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_MultiplyVolumeFilter
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
MultiplyWithWeightsFilterType::Pointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_MultiplyWithWeightsFilter
protected
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
int rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_NumberOfIterations
private
template<typename TOutputImage , typename TSingleComponentImage = TOutputImage, typename TWeightsImage = TOutputImage>
float rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::m_Tikhonov
private

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