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

#include <rtkFDKWarpBackProjectionImageFilter.h>

+ Inheritance diagram for rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >:
+ Collaboration diagram for rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef DeformationType::Pointer DeformationPointer
 
typedef TDeformation DeformationType
 
typedef GeometryType::Pointer GeometryPointer
 
typedef rtk::ProjectionGeometry< TOutputImage::ImageDimensionGeometryType
 
typedef TInputImage::PixelType InputPixelType
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ProjectionImageType::Pointer ProjectionImagePointer
 
typedef itk::Image< InputPixelType, TInputImage::ImageDimension-1 > ProjectionImageType
 
typedef GeometryType::MatrixType ProjectionMatrixType
 
typedef FDKWarpBackProjectionImageFilter Self
 
typedef FDKBackProjectionImageFilter< TInputImage, TOutputImage > Superclass
 
- Public Types inherited from rtk::FDKBackProjectionImageFilter< TInputImage, TOutputImage >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ProjectionImageType::Pointer ProjectionImagePointer
 
typedef Superclass::ProjectionImageType ProjectionImageType
 
typedef Superclass::ProjectionMatrixType ProjectionMatrixType
 
typedef FDKBackProjectionImageFilter Self
 
typedef BackProjectionImageFilter< TInputImage, TOutputImage > Superclass
 
- Public Types inherited from rtk::BackProjectionImageFilter< TInputImage, TOutputImage >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef GeometryType::ConstPointer GeometryConstPointer
 
typedef rtk::ThreeDCircularProjectionGeometry GeometryType
 
typedef TInputImage::PixelType InputPixelType
 
typedef TInputImage::InternalPixelType InternalInputPixelType
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ProjectionImageType::Pointer ProjectionImagePointer
 
typedef itk::Image< InputPixelType, TInputImage::ImageDimension-1 > ProjectionImageType
 
typedef GeometryType::MatrixType ProjectionMatrixType
 
typedef BackProjectionImageFilter Self
 
typedef itk::ImageToImageFilter< TInputImage, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual DeformationPointer GetDeformation ()
 
virtual void SetDeformation (DeformationType *_arg)
 
- Public Member Functions inherited from rtk::FDKBackProjectionImageFilter< TInputImage, TOutputImage >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
- Public Member Functions inherited from rtk::BackProjectionImageFilter< TInputImage, TOutputImage >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const GeometryTypeGetGeometry () const
 
virtual void SetGeometry (const GeometryType *_arg)
 
virtual bool GetTranspose ()
 
virtual void SetTranspose (bool _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::FDKBackProjectionImageFilter< TInputImage, TOutputImage >
static Pointer New ()
 
- Static Public Member Functions inherited from rtk::BackProjectionImageFilter< TInputImage, TOutputImage >
static Pointer New ()
 

Protected Member Functions

void BeforeThreadedGenerateData () override
 
 FDKWarpBackProjectionImageFilter ()
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
virtual ~FDKWarpBackProjectionImageFilter () override
 
- Protected Member Functions inherited from rtk::FDKBackProjectionImageFilter< TInputImage, TOutputImage >
 FDKBackProjectionImageFilter ()
 
void GenerateOutputInformation () override
 
void OptimizedBackprojectionX (const OutputImageRegionType &region, const ProjectionMatrixType &matrix, const ProjectionImagePointer projection) override
 
void OptimizedBackprojectionY (const OutputImageRegionType &region, const ProjectionMatrixType &matrix, const ProjectionImagePointer projection) override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
virtual ~FDKBackProjectionImageFilter () override
 
- Protected Member Functions inherited from rtk::BackProjectionImageFilter< TInputImage, TOutputImage >
 BackProjectionImageFilter ()
 
void BeforeThreadedGenerateData () override
 
virtual void CylindricalDetectorCenteredOnSourceBackprojection (const OutputImageRegionType &region, const ProjectionMatrixType &volIndexToProjPP, const itk::Matrix< double, TInputImage::ImageDimension, TInputImage::ImageDimension > &projPPToProjIndex, const ProjectionImagePointer projection)
 
void GenerateInputRequestedRegion () override
 
ProjectionMatrixType GetIndexToIndexProjectionMatrix (const unsigned int iProj)
 
template<class TProjectionImage >
TProjectionImage::Pointer GetProjection (const unsigned int iProj)
 
itk::Matrix< double, TInputImage::ImageDimension, TInputImage::ImageDimensionGetProjectionPhysicalPointToProjectionIndexMatrix ()
 
ProjectionMatrixType GetVolumeIndexToProjectionPhysicalPointMatrix (const unsigned int iProj)
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
void VerifyInputInformation () override
 
virtual ~BackProjectionImageFilter () override
 

Private Member Functions

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

Private Attributes

itk::Barrier::Pointer m_Barrier
 
DeformationPointer m_Deformation
 
bool m_DeformationUpdateError
 

Additional Inherited Members

- Protected Attributes inherited from rtk::BackProjectionImageFilter< TInputImage, TOutputImage >
GeometryConstPointer m_Geometry
 

Detailed Description

template<class TInputImage, class TOutputImage, class TDeformation>
class rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >

CPU version of the warp backprojection of motion-compensated FDK.

The deformation is described by the TDeformation template parameter. This type must implement the function SetFrame and returns a 3D deformation vector field. FDKWarpBackProjectionImageFilter loops over the projections, sets the frame number, updates the deformation and compose the resulting deformation with the projection matrix. One thus obtain a warped backprojection that is used in motion-compensated cone-beam CT reconstruction. This has been described in [Rit et al, TMI, 2009] and [Rit et al, Med Phys, 2009].

Test:
rtkmotioncompensatedfdktest.cxx
Author
Simon Rit

Definition at line 48 of file rtkFDKWarpBackProjectionImageFilter.h.

Member Typedef Documentation

template<class TInputImage , class TOutputImage , class TDeformation >
typedef itk::SmartPointer<const Self> rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::ConstPointer

Definition at line 56 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef DeformationType::Pointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::DeformationPointer

Definition at line 61 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef TDeformation rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::DeformationType

Definition at line 60 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef GeometryType::Pointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::GeometryPointer

Definition at line 64 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef rtk::ProjectionGeometry<TOutputImage::ImageDimension> rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::GeometryType

Definition at line 63 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef TInputImage::PixelType rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::InputPixelType

Definition at line 57 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef TOutputImage::RegionType rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::OutputImageRegionType

Definition at line 58 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef itk::SmartPointer<Self> rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::Pointer

Definition at line 55 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef ProjectionImageType::Pointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::ProjectionImagePointer

Definition at line 67 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef itk::Image<InputPixelType, TInputImage::ImageDimension-1> rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::ProjectionImageType

Definition at line 66 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef GeometryType::MatrixType rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::ProjectionMatrixType

Definition at line 65 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef FDKWarpBackProjectionImageFilter rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::Self

Standard class typedefs.

Definition at line 53 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
typedef FDKBackProjectionImageFilter<TInputImage,TOutputImage> rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::Superclass

Definition at line 54 of file rtkFDKWarpBackProjectionImageFilter.h.

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage , class TDeformation >
rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::FDKWarpBackProjectionImageFilter ( )
protected
template<class TInputImage , class TOutputImage , class TDeformation >
virtual rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::~FDKWarpBackProjectionImageFilter ( )
inlineoverrideprotectedvirtual

Definition at line 82 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::FDKWarpBackProjectionImageFilter ( const Self )
private

Member Function Documentation

template<class TInputImage , class TOutputImage , class TDeformation >
void rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::BeforeThreadedGenerateData ( )
overrideprotected
template<class TInputImage , class TOutputImage , class TDeformation >
virtual::itk::LightObject::Pointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::CreateAnother ( ) const
template<class TInputImage , class TOutputImage , class TDeformation >
virtual DeformationPointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::GetDeformation ( )
virtual

Set the deformation.

template<class TInputImage , class TOutputImage , class TDeformation >
virtual const char* rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::FDKBackProjectionImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage , class TDeformation >
static Pointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::New ( )
static

Method for creation through the object factory.

template<class TInputImage , class TOutputImage , class TDeformation >
void rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::operator= ( const Self )
private
template<class TInputImage , class TOutputImage , class TDeformation >
virtual void rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::SetDeformation ( DeformationType _arg)
virtual

Set the deformation.

template<class TInputImage , class TOutputImage , class TDeformation >
void rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
overrideprotected

Member Data Documentation

template<class TInputImage , class TOutputImage , class TDeformation >
itk::Barrier::Pointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::m_Barrier
private

Definition at line 93 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
DeformationPointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::m_Deformation
private

Definition at line 92 of file rtkFDKWarpBackProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TDeformation >
bool rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::m_DeformationUpdateError
private

Definition at line 94 of file rtkFDKWarpBackProjectionImageFilter.h.


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