RTK  2.5.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision > Class Template Reference

#include <rtkFDKConeBeamReconstructionFilter.h>

+ Inheritance diagram for rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >:
+ Collaboration diagram for rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >:

Public Types

using BackProjectionFilterPointer = typename BackProjectionFilterType::Pointer
 
using BackProjectionFilterType = rtk::FDKBackProjectionImageFilter< OutputImageType, OutputImageType >
 
using ConstPointer = itk::SmartPointer< const Self >
 
using ExtractFilterType = itk::ExtractImageFilter< InputImageType, OutputImageType >
 
using InputImageType = TInputImage
 
using OutputImageType = TOutputImage
 
using Pointer = itk::SmartPointer< Self >
 
using RampFilterType = rtk::FFTRampImageFilter< OutputImageType, OutputImageType, TFFTPrecision >
 
using Self = FDKConeBeamReconstructionFilter
 
using Superclass = itk::ImageToImageFilter< TInputImage, TOutputImage >
 
using WeightFilterType = rtk::FDKWeightProjectionFilter< InputImageType, OutputImageType >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
RampFilterType::Pointer GetRampFilter ()
 
WeightFilterType::Pointer GetWeightFilter ()
 
virtual const char * GetNameOfClass () const
 
virtual ThreeDCircularProjectionGeometryGetModifiableGeometry ()
 
virtual const ThreeDCircularProjectionGeometryGetGeometry () const
 
virtual void SetGeometry (ThreeDCircularProjectionGeometry *_arg)
 
virtual unsigned int GetProjectionSubsetSize ()
 
virtual void SetProjectionSubsetSize (unsigned int _arg)
 
virtual BackProjectionFilterPointer GetBackProjectionFilter ()
 
virtual void SetBackProjectionFilter (const BackProjectionFilterPointer _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 FDKConeBeamReconstructionFilter ()
 
void GenerateData () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void VerifyInputInformation () const override
 
void VerifyPreconditions () ITKv5_CONST override
 
 ~FDKConeBeamReconstructionFilter () override=default
 

Protected Attributes

BackProjectionFilterPointer m_BackProjectionFilter
 
ExtractFilterType::Pointer m_ExtractFilter
 
RampFilterType::Pointer m_RampFilter
 
WeightFilterType::Pointer m_WeightFilter
 

Private Attributes

ThreeDCircularProjectionGeometry::Pointer m_Geometry
 
unsigned int m_ProjectionSubsetSize { 16 }
 

Detailed Description

template<class TInputImage, class TOutputImage = TInputImage, class TFFTPrecision = double>
class rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >

Implements Feldkamp, David and Kress cone-beam reconstruction.

FDKConeBeamReconstructionFilter is a mini-pipeline filter which combines the different steps of the FDK cone-beam reconstruction filter:

Test:
rtkfdktest.cxx, rtkrampfiltertest.cxx, rtkmotioncompensatedfdktest.cxx, rtkdisplaceddetectortest.cxx, rtkshortscantest.cxx
Author
Simon Rit

Definition at line 63 of file rtkFDKConeBeamReconstructionFilter.h.

Member Typedef Documentation

◆ BackProjectionFilterPointer

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::BackProjectionFilterPointer = typename BackProjectionFilterType::Pointer

Definition at line 83 of file rtkFDKConeBeamReconstructionFilter.h.

◆ BackProjectionFilterType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::BackProjectionFilterType = rtk::FDKBackProjectionImageFilter<OutputImageType, OutputImageType>

Definition at line 82 of file rtkFDKConeBeamReconstructionFilter.h.

◆ ConstPointer

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 72 of file rtkFDKConeBeamReconstructionFilter.h.

◆ ExtractFilterType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::ExtractFilterType = itk::ExtractImageFilter<InputImageType, OutputImageType>

Typedefs of each subfilter of this composite filter

Definition at line 79 of file rtkFDKConeBeamReconstructionFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::InputImageType = TInputImage

Some convenient type alias.

Definition at line 75 of file rtkFDKConeBeamReconstructionFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::OutputImageType = TOutputImage

Definition at line 76 of file rtkFDKConeBeamReconstructionFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::Pointer = itk::SmartPointer<Self>

Definition at line 71 of file rtkFDKConeBeamReconstructionFilter.h.

◆ RampFilterType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::RampFilterType = rtk::FFTRampImageFilter<OutputImageType, OutputImageType, TFFTPrecision>

Definition at line 81 of file rtkFDKConeBeamReconstructionFilter.h.

◆ Self

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::Self = FDKConeBeamReconstructionFilter

Standard class type alias.

Definition at line 69 of file rtkFDKConeBeamReconstructionFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>

Definition at line 70 of file rtkFDKConeBeamReconstructionFilter.h.

◆ WeightFilterType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::WeightFilterType = rtk::FDKWeightProjectionFilter<InputImageType, OutputImageType>

Definition at line 80 of file rtkFDKConeBeamReconstructionFilter.h.

Constructor & Destructor Documentation

◆ FDKConeBeamReconstructionFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::FDKConeBeamReconstructionFilter ( )
protected

◆ ~FDKConeBeamReconstructionFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::~FDKConeBeamReconstructionFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual::itk::LightObject::Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GenerateData()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GenerateData ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

◆ GenerateOutputInformation()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GenerateOutputInformation ( )
overrideprotectedvirtual

Reimplemented from itk::ProcessObject.

◆ GetBackProjectionFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual BackProjectionFilterPointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GetBackProjectionFilter ( )
virtual

Get / Set and init the backprojection filter. The set function takes care of initializing the mini-pipeline and the ramp filter must therefore be created before calling this set function.

◆ GetGeometry()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual const ThreeDCircularProjectionGeometry* rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GetGeometry ( ) const
virtual

Get / Set the object pointer to projection geometry

◆ GetModifiableGeometry()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual ThreeDCircularProjectionGeometry* rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GetModifiableGeometry ( )
virtual

Get / Set the object pointer to projection geometry

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual const char* rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GetNameOfClass ( ) const
virtual

Runtime information support.

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

◆ GetProjectionSubsetSize()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual unsigned int rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GetProjectionSubsetSize ( )
virtual

Get / Set the number of cone-beam projection images processed simultaneously. Default is 4.

◆ GetRampFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
RampFilterType::Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GetRampFilter ( )
inline

Get pointer to the ramp filter used by the feldkamp reconstruction

Definition at line 110 of file rtkFDKConeBeamReconstructionFilter.h.

◆ GetWeightFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
WeightFilterType::Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::GetWeightFilter ( )
inline

Get pointer to the weighting filter used by the feldkamp reconstruction

Definition at line 103 of file rtkFDKConeBeamReconstructionFilter.h.

◆ New()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
static Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::New ( )
static

Standard New method.

◆ SetBackProjectionFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::SetBackProjectionFilter ( const BackProjectionFilterPointer  _arg)
virtual

Get / Set and init the backprojection filter. The set function takes care of initializing the mini-pipeline and the ramp filter must therefore be created before calling this set function.

◆ SetGeometry()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::SetGeometry ( ThreeDCircularProjectionGeometry _arg)
virtual

Get / Set the object pointer to projection geometry

◆ SetProjectionSubsetSize()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::SetProjectionSubsetSize ( unsigned int  _arg)
virtual

Get / Set the number of cone-beam projection images processed simultaneously. Default is 4.

◆ VerifyInputInformation()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::VerifyInputInformation ( ) const
inlineoverrideprotected

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

Definition at line 149 of file rtkFDKConeBeamReconstructionFilter.h.

◆ VerifyPreconditions()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
void rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::VerifyPreconditions ( )
overrideprotectedvirtual

Checks that inputs are correctly set.

Reimplemented from itk::ProcessObject.

Member Data Documentation

◆ m_BackProjectionFilter

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
BackProjectionFilterPointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::m_BackProjectionFilter
protected

Definition at line 156 of file rtkFDKConeBeamReconstructionFilter.h.

◆ m_ExtractFilter

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
ExtractFilterType::Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::m_ExtractFilter
protected

Pointers to each subfilter of this composite filter

Definition at line 153 of file rtkFDKConeBeamReconstructionFilter.h.

◆ m_Geometry

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
ThreeDCircularProjectionGeometry::Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::m_Geometry
private

Geometry propagated to subfilters of the mini-pipeline.

Definition at line 163 of file rtkFDKConeBeamReconstructionFilter.h.

◆ m_ProjectionSubsetSize

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
unsigned int rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::m_ProjectionSubsetSize { 16 }
private

Number of projections processed at a time.

Definition at line 160 of file rtkFDKConeBeamReconstructionFilter.h.

◆ m_RampFilter

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
RampFilterType::Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::m_RampFilter
protected

Definition at line 155 of file rtkFDKConeBeamReconstructionFilter.h.

◆ m_WeightFilter

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
WeightFilterType::Pointer rtk::FDKConeBeamReconstructionFilter< TInputImage, TOutputImage, TFFTPrecision >::m_WeightFilter
protected

Definition at line 154 of file rtkFDKConeBeamReconstructionFilter.h.


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