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::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage > Class Template Reference

#include <rtkOSEMConeBeamReconstructionFilter.h>

+ Inheritance diagram for rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >:
+ Collaboration diagram for rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >:

Public Types

using BackProjectionFilterType = rtk::BackProjectionImageFilter< VolumeType, ProjectionType >
 
using BackProjectionType = typename Superclass::BackProjectionType
 
using ConstantProjectionSourceType = rtk::ConstantImageSource< ProjectionType >
 
using ConstantVolumeSourceType = rtk::ConstantImageSource< VolumeType >
 
typedef itk::SmartPointer< const SelfConstPointer
 
using DivideProjectionFilterType = itk::DivideOrZeroOutImageFilter< ProjectionType, ProjectionType, ProjectionType >
 
using DivideVolumeFilterType = itk::DivideOrZeroOutImageFilter< VolumeType, VolumeType, VolumeType >
 
using ExtractFilterType = itk::ExtractImageFilter< ProjectionType, ProjectionType >
 
using ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< ProjectionType, VolumeType >
 
using ForwardProjectionType = typename Superclass::ForwardProjectionType
 
using MultiplyFilterType = itk::MultiplyImageFilter< VolumeType, VolumeType, VolumeType >
 
typedef itk::SmartPointer< SelfPointer
 
using ProjectionType = TProjectionImage
 
typedef OSEMConeBeamReconstructionFilter Self
 
using Superclass = IterativeConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >
 
using VolumeType = TVolumeImage
 
- Public Types inherited from rtk::IterativeConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >
using BackProjectionFilterType = rtk::BackProjectionImageFilter< TProjectionImage, VolumeType >
 
using BackProjectionPointerType = typename BackProjectionFilterType::Pointer
 
enum  BackProjectionType
 
using ConstPointer = itk::SmartPointer< const Self >
 
using ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< VolumeType, TProjectionImage >
 
using ForwardProjectionPointerType = typename ForwardProjectionFilterType::Pointer
 
enum  ForwardProjectionType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = IterativeConeBeamReconstructionFilter
 
using Superclass = itk::ImageToImageFilter< TVolumeImage, TVolumeImage >
 
using VolumeType = TProjectionImage
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
void SetForwardProjectionFilter (ForwardProjectionType _arg) override
 
virtual ThreeDCircularProjectionGeometryGetModifiableGeometry ()
 
virtual const ThreeDCircularProjectionGeometryGetGeometry () const
 
virtual void SetGeometry (ThreeDCircularProjectionGeometry *_arg)
 
virtual unsigned int GetNumberOfIterations ()
 
virtual void SetNumberOfIterations (unsigned int _arg)
 
virtual unsigned int GetNumberOfProjectionsPerSubset ()
 
virtual void SetNumberOfProjectionsPerSubset (unsigned int _arg)
 
- Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >
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< TVolumeImage, TProjectionImage >
static Pointer New ()
 

Protected Member Functions

void GenerateData () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void VerifyInputInformation () override
 
- Protected Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >
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

BackProjectionFilterType::Pointer m_BackProjectionFilter
 
BackProjectionFilterType::Pointer m_BackProjectionNormalizationFilter
 
ConstantVolumeSourceType::Pointer m_ConstantVolumeSource
 
DivideProjectionFilterType::Pointer m_DivideProjectionFilter
 
DivideVolumeFilterType::Pointer m_DivideVolumeFilter
 
ExtractFilterType::Pointer m_ExtractFilter
 
ForwardProjectionFilterType::Pointer m_ForwardProjectionFilter
 
MultiplyFilterType::Pointer m_MultiplyFilter
 
ConstantProjectionSourceType::Pointer m_OneConstantProjectionStackSource
 
ConstantProjectionSourceType::Pointer m_ZeroConstantProjectionStackSource
 
- Protected Attributes inherited from rtk::IterativeConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >
BackProjectionType m_CurrentBackProjectionConfiguration
 
ForwardProjectionType m_CurrentForwardProjectionConfiguration
 

Private Attributes

ThreeDCircularProjectionGeometry::Pointer m_Geometry
 
unsigned int m_NumberOfIterations
 
unsigned int m_NumberOfProjectionsPerSubset
 
void SetBackProjectionFilter (BackProjectionType _arg) override
 
 OSEMConeBeamReconstructionFilter ()
 
 ~OSEMConeBeamReconstructionFilter () override=default
 

Additional Inherited Members

- Protected Types inherited from rtk::IterativeConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >
using CPUImageType = typename itk::Image< typename TProjectionImage::PixelType, TProjectionImage::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==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!=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<class TVolumeImage, class TProjectionImage = TVolumeImage>
class rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >

Implements the Ordered-Subset Expectation-Maximization algorithm.

OSEMConeBeamReconstructionFilter is a composite filter which combines the different steps of the OSEM cone-beam reconstruction, mainly:

One weighting steps must be applied when processing a given subset:

dot_inline_dotgraph_21.png
Test:
rtkosemtest.cxx
Author
Antoine Robert

Definition at line 112 of file rtkOSEMConeBeamReconstructionFilter.h.

Member Typedef Documentation

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::BackProjectionFilterType = rtk::BackProjectionImageFilter< VolumeType, ProjectionType >

Definition at line 132 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::BackProjectionType = typename Superclass::BackProjectionType

Definition at line 139 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::ConstantProjectionSourceType = rtk::ConstantImageSource<ProjectionType>

Definition at line 136 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::ConstantVolumeSourceType = rtk::ConstantImageSource<VolumeType>

Definition at line 135 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
typedef itk::SmartPointer<const Self> rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::ConstPointer

Definition at line 122 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::DivideProjectionFilterType = itk::DivideOrZeroOutImageFilter<ProjectionType, ProjectionType, ProjectionType>

Definition at line 133 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::DivideVolumeFilterType = itk::DivideOrZeroOutImageFilter<VolumeType, VolumeType, VolumeType>

Definition at line 134 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::ExtractFilterType = itk::ExtractImageFilter< ProjectionType, ProjectionType >

Typedefs of each subfilter of this composite filter

Definition at line 129 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< ProjectionType, VolumeType >

Definition at line 131 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::ForwardProjectionType = typename Superclass::ForwardProjectionType

Definition at line 138 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::MultiplyFilterType = itk::MultiplyImageFilter< VolumeType, VolumeType, VolumeType >

Definition at line 130 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
typedef itk::SmartPointer<Self> rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::Pointer

Definition at line 121 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::ProjectionType = TProjectionImage

Definition at line 126 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
typedef OSEMConeBeamReconstructionFilter rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::Self

Standard class type alias.

Definition at line 116 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::Superclass = IterativeConeBeamReconstructionFilter<TVolumeImage, TProjectionImage>

Definition at line 120 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
using rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::VolumeType = TVolumeImage

Some convenient type alias.

Definition at line 125 of file rtkOSEMConeBeamReconstructionFilter.h.

Constructor & Destructor Documentation

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::OSEMConeBeamReconstructionFilter ( )
protected

Select the backprojection filter

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::~OSEMConeBeamReconstructionFilter ( )
overrideprotecteddefault

Select the backprojection filter

Member Function Documentation

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual::itk::LightObject::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::CreateAnother ( ) const
template<class TVolumeImage , class TProjectionImage = TVolumeImage>
void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GenerateData ( )
overrideprotected
template<class TVolumeImage , class TProjectionImage = TVolumeImage>
void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GenerateInputRequestedRegion ( )
overrideprotected
template<class TVolumeImage , class TProjectionImage = TVolumeImage>
void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GenerateOutputInformation ( )
overrideprotected
template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual const ThreeDCircularProjectionGeometry* rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GetGeometry ( ) const
virtual

Get / Set the object pointer to projection geometry

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual ThreeDCircularProjectionGeometry* rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GetModifiableGeometry ( )
virtual

Get / Set the object pointer to projection geometry

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual const char* rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GetNameOfClass ( ) const
virtual

Runtime information support.

Reimplemented from rtk::IterativeConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual unsigned int rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GetNumberOfIterations ( )
virtual

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

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual unsigned int rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::GetNumberOfProjectionsPerSubset ( )
virtual

Get / Set the number of projections per subset. Default is 1.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
static Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::New ( )
static

Standard New method.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::SetBackProjectionFilter ( BackProjectionType  _arg)
override

Select the backprojection filter

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::SetForwardProjectionFilter ( ForwardProjectionType  _arg)
override

Select the ForwardProjection filter

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::SetGeometry ( ThreeDCircularProjectionGeometry _arg)
virtual

Get / Set the object pointer to projection geometry

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::SetNumberOfIterations ( unsigned int  _arg)
virtual

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

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
virtual void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::SetNumberOfProjectionsPerSubset ( unsigned int  _arg)
virtual

Get / Set the number of projections per subset. Default is 1.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
void rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::VerifyInputInformation ( )
inlineoverrideprotected

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

Definition at line 181 of file rtkOSEMConeBeamReconstructionFilter.h.

Member Data Documentation

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
BackProjectionFilterType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_BackProjectionFilter
protected

Definition at line 191 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
BackProjectionFilterType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_BackProjectionNormalizationFilter
protected

Definition at line 192 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
ConstantVolumeSourceType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_ConstantVolumeSource
protected

Definition at line 197 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
DivideProjectionFilterType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_DivideProjectionFilter
protected

Definition at line 193 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
DivideVolumeFilterType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_DivideVolumeFilter
protected

Definition at line 194 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
ExtractFilterType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_ExtractFilter
protected

Pointers to each subfilter of this composite filter

Definition at line 188 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
ForwardProjectionFilterType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_ForwardProjectionFilter
protected

Definition at line 189 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
ThreeDCircularProjectionGeometry::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_Geometry
private

Geometry object

Definition at line 204 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
MultiplyFilterType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_MultiplyFilter
protected

Definition at line 190 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
unsigned int rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_NumberOfIterations
private

Number of iterations

Definition at line 207 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
unsigned int rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_NumberOfProjectionsPerSubset
private

Number of projections processed before the volume is updated (several for OS-EM)

Definition at line 201 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
ConstantProjectionSourceType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_OneConstantProjectionStackSource
protected

Definition at line 196 of file rtkOSEMConeBeamReconstructionFilter.h.

template<class TVolumeImage , class TProjectionImage = TVolumeImage>
ConstantProjectionSourceType::Pointer rtk::OSEMConeBeamReconstructionFilter< TVolumeImage, TProjectionImage >::m_ZeroConstantProjectionStackSource
protected

Definition at line 195 of file rtkOSEMConeBeamReconstructionFilter.h.


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