RTK  2.5.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected 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

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

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::BackProjectionImageFilter< TInputImage, TOutputImage >
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

 FDKWarpBackProjectionImageFilter ()
 
void GenerateData () override
 
 ~FDKWarpBackProjectionImageFilter () override=default
 
- Protected Member Functions inherited from rtk::FDKBackProjectionImageFilter< TInputImage, TOutputImage >
void DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) override
 
 FDKBackProjectionImageFilter ()=default
 
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
 
 ~FDKBackProjectionImageFilter () override=default
 
- 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::ImageDimension > GetProjectionPhysicalPointToProjectionIndexMatrix (const unsigned int iProj)
 
ProjectionMatrixType GetVolumeIndexToProjectionPhysicalPointMatrix (const unsigned int iProj)
 
void VerifyInputInformation () const override
 
void VerifyPreconditions () ITKv5_CONST override
 
 ~BackProjectionImageFilter () override=default
 

Private Attributes

DeformationPointer m_Deformation
 

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 46 of file rtkFDKWarpBackProjectionImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 56 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ DeformationPointer

template<class TInputImage , class TOutputImage , class TDeformation >
using rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::DeformationPointer = typename DeformationType::Pointer

Definition at line 61 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ DeformationType

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

Definition at line 60 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ GeometryPointer

template<class TInputImage , class TOutputImage , class TDeformation >
using rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::GeometryPointer = typename GeometryType::Pointer

Definition at line 64 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ GeometryType

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

Definition at line 63 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ InputPixelType

template<class TInputImage , class TOutputImage , class TDeformation >
using rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::InputPixelType = typename TInputImage::PixelType

Definition at line 57 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage , class TDeformation >
using rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::OutputImageRegionType = typename TOutputImage::RegionType

Definition at line 58 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ Pointer

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

Definition at line 55 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ ProjectionImagePointer

template<class TInputImage , class TOutputImage , class TDeformation >
using rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::ProjectionImagePointer = typename ProjectionImageType::Pointer

Definition at line 67 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ ProjectionImageType

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

Definition at line 66 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ ProjectionMatrixType

template<class TInputImage , class TOutputImage , class TDeformation >
using rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::ProjectionMatrixType = typename GeometryType::MatrixType

Definition at line 65 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ Self

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

Standard class type alias.

Definition at line 53 of file rtkFDKWarpBackProjectionImageFilter.h.

◆ Superclass

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

Definition at line 54 of file rtkFDKWarpBackProjectionImageFilter.h.

Constructor & Destructor Documentation

◆ FDKWarpBackProjectionImageFilter()

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

◆ ~FDKWarpBackProjectionImageFilter()

template<class TInputImage , class TOutputImage , class TDeformation >
rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::~FDKWarpBackProjectionImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<class TInputImage , class TOutputImage , class TDeformation >
virtual::itk::LightObject::Pointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::CreateAnother ( ) const
virtual

◆ GenerateData()

template<class TInputImage , class TOutputImage , class TDeformation >
void rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::GenerateData ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ GetDeformation()

template<class TInputImage , class TOutputImage , class TDeformation >
virtual DeformationPointer rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::GetDeformation ( )
virtual

Set the deformation.

◆ GetNameOfClass()

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 >.

◆ New()

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

Method for creation through the object factory.

◆ SetDeformation()

template<class TInputImage , class TOutputImage , class TDeformation >
virtual void rtk::FDKWarpBackProjectionImageFilter< TInputImage, TOutputImage, TDeformation >::SetDeformation ( DeformationType _arg)
virtual

Set the deformation.

Member Data Documentation

◆ m_Deformation

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

Definition at line 93 of file rtkFDKWarpBackProjectionImageFilter.h.


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