RTK  2.0.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType > Class Template Reference

#include <rtkIterativeConeBeamReconstructionFilter.h>

+ Inheritance diagram for rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >:
+ Collaboration diagram for rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >:

Public Types

typedef rtk::BackProjectionImageFilter< ProjectionStackType, VolumeTypeBackProjectionFilterType
 
typedef BackProjectionFilterType::Pointer BackProjectionPointerType
 
enum  BackProjectionType {
  BP_UNKNOWN =-1,
  BP_VOXELBASED =0,
  BP_JOSEPH =1,
  BP_CUDAVOXELBASED =2,
  BP_CUDARAYCAST =4,
  BP_JOSEPHATTENUATED =5
}
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef rtk::ForwardProjectionImageFilter< VolumeType, ProjectionStackType > ForwardProjectionFilterType
 
typedef ForwardProjectionFilterType::Pointer ForwardProjectionPointerType
 
enum  ForwardProjectionType {
  FP_UNKNOWN =-1,
  FP_JOSEPH =0,
  FP_CUDARAYCAST =2,
  FP_JOSEPHATTENUATED =3
}
 
typedef itk::SmartPointer< SelfPointer
 
typedef IterativeConeBeamReconstructionFilter Self
 
typedef itk::ImageToImageFilter< TOutputImage, TOutputImage > Superclass
 
typedef ProjectionStackType VolumeType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual void SetForwardProjectionFilter (ForwardProjectionType fwtype)
 
ForwardProjectionType GetForwardProjectionFilter ()
 
virtual void SetBackProjectionFilter (BackProjectionType bptype)
 
BackProjectionType GetBackProjectionFilter ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Types

typedef itk::Image< typename ProjectionStackType::PixelType, ProjectionStackType::ImageDimension > CPUImageType
 
template<typename ImageType >
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
 
template<typename ImageType >
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
 
template<typename ImageType >
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
 
template<typename ImageType >
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
 
template<typename ImageType >
using EnableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension!=1 >::type
 
template<typename ImageType >
using DisableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type
 

Protected Member Functions

virtual BackProjectionPointerType InstantiateBackProjectionFilter (int bptype)
 
template<typename ImageType , EnableCudaScalarAndVectorType< ImageType > * = nullptr>
BackProjectionPointerType InstantiateCudaBackProjection ()
 
template<typename ImageType , DisableCudaScalarAndVectorType< ImageType > * = nullptr>
BackProjectionPointerType InstantiateCudaBackProjection ()
 
template<typename ImageType , EnableCudaScalarAndVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType InstantiateCudaForwardProjection ()
 
template<typename ImageType , DisableCudaScalarAndVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType InstantiateCudaForwardProjection ()
 
template<typename ImageType , EnableCudaScalarType< ImageType > * = nullptr>
BackProjectionPointerType InstantiateCudaRayCastBackProjection ()
 
template<typename ImageType , DisableCudaScalarType< ImageType > * = nullptr>
BackProjectionPointerType InstantiateCudaRayCastBackProjection ()
 
virtual ForwardProjectionPointerType InstantiateForwardProjectionFilter (int fwtype)
 
template<typename ImageType , EnableVectorType< ImageType > * = nullptr>
BackProjectionPointerType InstantiateJosephBackAttenuatedProjection ()
 
template<typename ImageType , DisableVectorType< ImageType > * = nullptr>
BackProjectionPointerType InstantiateJosephBackAttenuatedProjection ()
 
template<typename ImageType , EnableVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType InstantiateJosephForwardAttenuatedProjection ()
 
template<typename ImageType , DisableVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType InstantiateJosephForwardAttenuatedProjection ()
 
 IterativeConeBeamReconstructionFilter ()
 
virtual ~IterativeConeBeamReconstructionFilter () override
 

Protected Attributes

BackProjectionType m_CurrentBackProjectionConfiguration
 
ForwardProjectionType m_CurrentForwardProjectionConfiguration
 

Private Member Functions

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

Detailed Description

template<class TOutputImage, class ProjectionStackType = TOutputImage>
class rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >

Mother class for cone beam reconstruction filters which need runtime selection of their forward and back projection filters.

IterativeConeBeamReconstructionFilter defines methods to set the forward and/or back projection filter(s) of a IterativeConeBeamReconstructionFilter at runtime

Author
Cyril Mory

Definition at line 53 of file rtkIterativeConeBeamReconstructionFilter.h.

Member Typedef Documentation

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef rtk::BackProjectionImageFilter< ProjectionStackType, VolumeType > rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::BackProjectionFilterType

Definition at line 78 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef BackProjectionFilterType::Pointer rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::BackProjectionPointerType

Definition at line 80 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef itk::SmartPointer<const Self> rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::ConstPointer

Definition at line 61 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef itk::Image<typename ProjectionStackType::PixelType, ProjectionStackType::ImageDimension> rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::CPUImageType
protected

Instantiate forward and back projectors using SFINAE.

Definition at line 113 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType >
using rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::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
protected

Instantiate forward and back projectors using SFINAE.

Definition at line 123 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType >
using rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::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
protected

Instantiate forward and back projectors using SFINAE.

Definition at line 131 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType >
using rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::DisableVectorType = typename std::enable_if< itk::PixelTraits<typename ImageType::PixelType>::Dimension == 1 >::type
protected

Instantiate forward and back projectors using SFINAE.

Definition at line 135 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType >
using rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::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
protected

Instantiate forward and back projectors using SFINAE.

Definition at line 118 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType >
using rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::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
protected

Instantiate forward and back projectors using SFINAE.

Definition at line 127 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType >
using rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::EnableVectorType = typename std::enable_if< itk::PixelTraits<typename ImageType::PixelType>::Dimension != 1 >::type
protected

Instantiate forward and back projectors using SFINAE.

Definition at line 133 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef rtk::ForwardProjectionImageFilter< VolumeType, ProjectionStackType > rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::ForwardProjectionFilterType

Typedefs of each subfilter of this composite filter

Definition at line 77 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef ForwardProjectionFilterType::Pointer rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::ForwardProjectionPointerType

Definition at line 79 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef itk::SmartPointer<Self> rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::Pointer

Definition at line 60 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef IterativeConeBeamReconstructionFilter rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::Self

Standard class typedefs.

Definition at line 58 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef itk::ImageToImageFilter<TOutputImage, TOutputImage> rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::Superclass

Definition at line 59 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
typedef ProjectionStackType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::VolumeType

Convenient typedefs

Definition at line 64 of file rtkIterativeConeBeamReconstructionFilter.h.

Member Enumeration Documentation

template<class TOutputImage, class ProjectionStackType = TOutputImage>
enum rtk::IterativeConeBeamReconstructionFilter::BackProjectionType
Enumerator
BP_UNKNOWN 
BP_VOXELBASED 
BP_JOSEPH 
BP_CUDAVOXELBASED 
BP_CUDARAYCAST 
BP_JOSEPHATTENUATED 

Definition at line 69 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
enum rtk::IterativeConeBeamReconstructionFilter::ForwardProjectionType
Enumerator
FP_UNKNOWN 
FP_JOSEPH 
FP_CUDARAYCAST 
FP_JOSEPHATTENUATED 

Definition at line 65 of file rtkIterativeConeBeamReconstructionFilter.h.

Constructor & Destructor Documentation

template<class TOutputImage, class ProjectionStackType = TOutputImage>
rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::IterativeConeBeamReconstructionFilter ( )
protected
template<class TOutputImage, class ProjectionStackType = TOutputImage>
virtual rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::~IterativeConeBeamReconstructionFilter ( )
inlineoverrideprotectedvirtual

Definition at line 97 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::IterativeConeBeamReconstructionFilter ( const Self )
private

Member Function Documentation

template<class TOutputImage, class ProjectionStackType = TOutputImage>
virtual::itk::LightObject::Pointer rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::CreateAnother ( ) const
template<class TOutputImage, class ProjectionStackType = TOutputImage>
BackProjectionType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::GetBackProjectionFilter ( )
inline

Accessors to forward and backprojection types.

Definition at line 92 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
ForwardProjectionType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::GetForwardProjectionFilter ( )
inline

Accessors to forward and backprojection types.

Definition at line 90 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
virtual const char* rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::GetNameOfClass ( ) const
virtual
template<class TOutputImage, class ProjectionStackType = TOutputImage>
virtual BackProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateBackProjectionFilter ( int  bptype)
protectedvirtual

Creates and returns an instance of the back projection filter. To be used in SetBackProjectionFilter.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , EnableCudaScalarAndVectorType< ImageType > * = nullptr>
BackProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateCudaBackProjection ( )
inlineprotected

Definition at line 175 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , DisableCudaScalarAndVectorType< ImageType > * = nullptr>
BackProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateCudaBackProjection ( )
inlineprotected

Definition at line 186 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , EnableCudaScalarAndVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateCudaForwardProjection ( )
inlineprotected

Definition at line 139 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , DisableCudaScalarAndVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateCudaForwardProjection ( )
inlineprotected

Definition at line 150 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , EnableCudaScalarType< ImageType > * = nullptr>
BackProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateCudaRayCastBackProjection ( )
inlineprotected

Definition at line 194 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , DisableCudaScalarType< ImageType > * = nullptr>
BackProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateCudaRayCastBackProjection ( )
inlineprotected

Definition at line 205 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
virtual ForwardProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateForwardProjectionFilter ( int  fwtype)
protectedvirtual

Creates and returns an instance of the forward projection filter. To be used in SetForwardProjectionFilter.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , EnableVectorType< ImageType > * = nullptr>
BackProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateJosephBackAttenuatedProjection ( )
inlineprotected

Definition at line 213 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , DisableVectorType< ImageType > * = nullptr>
BackProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateJosephBackAttenuatedProjection ( )
inlineprotected

Definition at line 221 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , EnableVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateJosephForwardAttenuatedProjection ( )
inlineprotected

Definition at line 158 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
template<typename ImageType , DisableVectorType< ImageType > * = nullptr>
ForwardProjectionPointerType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::InstantiateJosephForwardAttenuatedProjection ( )
inlineprotected

Definition at line 166 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
static Pointer rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::New ( )
static

Standard New method.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
void rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::operator= ( const Self )
private
template<class TOutputImage, class ProjectionStackType = TOutputImage>
virtual void rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::SetBackProjectionFilter ( BackProjectionType  bptype)
virtual
template<class TOutputImage, class ProjectionStackType = TOutputImage>
virtual void rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::SetForwardProjectionFilter ( ForwardProjectionType  fwtype)
virtual

Member Data Documentation

template<class TOutputImage, class ProjectionStackType = TOutputImage>
BackProjectionType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::m_CurrentBackProjectionConfiguration
protected

Definition at line 110 of file rtkIterativeConeBeamReconstructionFilter.h.

template<class TOutputImage, class ProjectionStackType = TOutputImage>
ForwardProjectionType rtk::IterativeConeBeamReconstructionFilter< TOutputImage, ProjectionStackType >::m_CurrentForwardProjectionConfiguration
protected

Internal variables storing the current forward and back projection methods

Definition at line 109 of file rtkIterativeConeBeamReconstructionFilter.h.


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