RTK  2.6.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType > Class Template Reference

#include <rtkWarpFourDToProjectionStackImageFilter.h>

+ Inheritance diagram for rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >:
+ Collaboration diagram for rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >:

Public Types

using CPUDVFInterpolatorType = CyclicDeformationImageFilter< DVFSequenceImageType, DVFImageType >
 
using CPUVolumeSeriesType = typename itk::Image< typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension >
 
using CudaCyclicDeformationImageFilterType = CPUDVFInterpolatorType
 
using DVFImageType = typename itk::Image< VectorForDVF, VolumeSeriesType::ImageDimension - 1 >
 
using DVFSequenceImageType = typename itk::Image< VectorForDVF, VolumeSeriesType::ImageDimension >
 
using Pointer = itk::SmartPointer< Self >
 
using Self = WarpFourDToProjectionStackImageFilter
 
using SignalVectorType = std::vector< double >
 
using Superclass = rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >
 
using VectorForDVF = itk::CovariantVector< typename VolumeSeriesType::ValueType, VolumeSeriesType::ImageDimension - 1 >
 
using VolumeType = ProjectionStackType
 
using WarpForwardProjectionImageFilterType = JosephForwardProjectionImageFilter< ProjectionStackType, ProjectionStackType >
 
- Public Types inherited from rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >
using ConstantProjectionStackSourceType = rtk::ConstantImageSource< ProjectionStackType >
 
using ConstantVolumeSourceType = rtk::ConstantImageSource< VolumeType >
 
using ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< ProjectionStackType, ProjectionStackType >
 
using GeometryType = rtk::ThreeDCircularProjectionGeometry
 
using InterpolatorFilterType = rtk::InterpolatorWithKnownWeightsImageFilter< VolumeType, VolumeSeriesType >
 
using PasteFilterType = itk::PasteImageFilter< ProjectionStackType, ProjectionStackType >
 
using Pointer = itk::SmartPointer< Self >
 
using Self = FourDToProjectionStackImageFilter
 
using Superclass = itk::ImageToImageFilter< ProjectionStackType, ProjectionStackType >
 
using VolumeType = ProjectionStackType
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
void SetForwardProjectionFilter (const typename Superclass::ForwardProjectionFilterType::Pointer)
 
void SetSignal (const std::vector< double > signal) override
 
virtual const char * GetNameOfClass () const
 
void SetDisplacementField (const DVFSequenceImageType *DisplacementField)
 
DVFSequenceImageType::ConstPointer GetDisplacementField ()
 
virtual void SetUseCudaCyclicDeformation (bool _arg)
 
virtual bool GetUseCudaCyclicDeformation ()
 
- Public Member Functions inherited from rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >
void InitializeConstantVolumeSource ()
 
void SetForwardProjectionFilter (const typename ForwardProjectionFilterType::Pointer _arg)
 
virtual void SetGeometry (GeometryType::Pointer _arg)
 
void SetInputProjectionStack (const ProjectionStackType *Projection)
 
void SetInputVolumeSeries (const VolumeSeriesType *VolumeSeries)
 
void SetWeights (const itk::Array2D< float > _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >
static Pointer New ()
 

Protected Member Functions

void GenerateData () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void VerifyInputInformation () const override
 
 WarpFourDToProjectionStackImageFilter ()
 
 ~WarpFourDToProjectionStackImageFilter () override=default
 
- Protected Member Functions inherited from rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >
 FourDToProjectionStackImageFilter ()
 
ProjectionStackType::Pointer GetInputProjectionStack ()
 
VolumeSeriesType::ConstPointer GetInputVolumeSeries ()
 
 ~FourDToProjectionStackImageFilter () override=default
 

Protected Attributes

CPUDVFInterpolatorType::Pointer m_DVFInterpolatorFilter
 
std::vector< double > m_Signal
 
bool m_UseCudaCyclicDeformation { false }
 
- Protected Attributes inherited from rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >
ConstantProjectionStackSourceType::Pointer m_ConstantProjectionStackSource
 
ConstantVolumeSourceType::Pointer m_ConstantVolumeSource
 
ForwardProjectionFilterType::Pointer m_ForwardProjectionFilter
 
GeometryType::Pointer m_Geometry
 
InterpolatorFilterType::Pointer m_InterpolationFilter
 
PasteFilterType::Pointer m_PasteFilter
 
ConstantProjectionStackSourceType::OutputImageRegionType m_PasteRegion
 
std::vector< double > m_Signal
 
itk::Array2D< float > m_Weights
 

Detailed Description

template<typename VolumeSeriesType, typename ProjectionStackType>
class rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >

Forward projection part for motion compensated iterative 4D reconstruction.

This filter is similar to FourDToProjectionStackImageFilter, except that it uses a motion-compensated forward projection. A 4D displacement vector field is therefore required, and its forward projection filter cannot be changed.

Test:
rtkwarpfourdtoprojectionstacktest.cxx
Author
Cyril Mory

Definition at line 88 of file rtkWarpFourDToProjectionStackImageFilter.h.

Member Typedef Documentation

◆ CPUDVFInterpolatorType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::CPUDVFInterpolatorType = CyclicDeformationImageFilter<DVFSequenceImageType, DVFImageType>

Definition at line 119 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ CPUVolumeSeriesType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::CPUVolumeSeriesType = typename itk::Image<typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension>

Definition at line 104 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ CudaCyclicDeformationImageFilterType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::CudaCyclicDeformationImageFilterType = CPUDVFInterpolatorType

Definition at line 130 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ DVFImageType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::DVFImageType = typename itk::Image<VectorForDVF, VolumeSeriesType::ImageDimension - 1>

Definition at line 117 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ DVFSequenceImageType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::DVFSequenceImageType = typename itk::Image<VectorForDVF, VolumeSeriesType::ImageDimension>

Definition at line 116 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ Pointer

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::Pointer = itk::SmartPointer<Self>

Definition at line 97 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ Self

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::Self = WarpFourDToProjectionStackImageFilter

Standard class type alias.

Definition at line 95 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ SignalVectorType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::SignalVectorType = std::vector<double>

Definition at line 144 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ Superclass

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::Superclass = rtk::FourDToProjectionStackImageFilter<ProjectionStackType, VolumeSeriesType>

Definition at line 96 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ VectorForDVF

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::VectorForDVF = itk::CovariantVector<typename VolumeSeriesType::ValueType, VolumeSeriesType::ImageDimension - 1>

Definition at line 101 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ VolumeType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::VolumeType = ProjectionStackType

Convenient type alias

Definition at line 100 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ WarpForwardProjectionImageFilterType

template<typename VolumeSeriesType , typename ProjectionStackType >
using rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::WarpForwardProjectionImageFilterType = JosephForwardProjectionImageFilter<ProjectionStackType, ProjectionStackType>

Definition at line 129 of file rtkWarpFourDToProjectionStackImageFilter.h.

Constructor & Destructor Documentation

◆ WarpFourDToProjectionStackImageFilter()

template<typename VolumeSeriesType , typename ProjectionStackType >
rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::WarpFourDToProjectionStackImageFilter ( )
protected

◆ ~WarpFourDToProjectionStackImageFilter()

template<typename VolumeSeriesType , typename ProjectionStackType >
rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::~WarpFourDToProjectionStackImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual::itk::LightObject::Pointer rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::CreateAnother ( ) const
virtual

◆ GenerateData()

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::GenerateData ( )
overrideprotectedvirtual

◆ GenerateInputRequestedRegion()

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

◆ GenerateOutputInformation()

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::GenerateOutputInformation ( )
overrideprotectedvirtual

◆ GetDisplacementField()

template<typename VolumeSeriesType , typename ProjectionStackType >
DVFSequenceImageType::ConstPointer rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::GetDisplacementField ( )

The ND + time motion vector field

◆ GetNameOfClass()

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual const char* rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >.

◆ GetUseCudaCyclicDeformation()

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual bool rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::GetUseCudaCyclicDeformation ( )
virtual

Set and Get for the UseCudaCyclicDeformation variable

◆ New()

template<typename VolumeSeriesType , typename ProjectionStackType >
static Pointer rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::New ( )
static

Method for creation through the object factory.

◆ SetDisplacementField()

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::SetDisplacementField ( const DVFSequenceImageType DisplacementField)

The ND + time motion vector field

◆ SetForwardProjectionFilter()

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::SetForwardProjectionFilter ( const typename Superclass::ForwardProjectionFilterType::Pointer  )
inline

The forward projection filter cannot be set by the user

Definition at line 148 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ SetSignal()

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::SetSignal ( const std::vector< double >  signal)
overridevirtual

Store the phase signal in a member variable

Reimplemented from rtk::FourDToProjectionStackImageFilter< ProjectionStackType, VolumeSeriesType >.

◆ SetUseCudaCyclicDeformation()

template<typename VolumeSeriesType , typename ProjectionStackType >
virtual void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::SetUseCudaCyclicDeformation ( bool  _arg)
virtual

Set and Get for the UseCudaCyclicDeformation variable

◆ VerifyInputInformation()

template<typename VolumeSeriesType , typename ProjectionStackType >
void rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::VerifyInputInformation ( ) const
inlineoverrideprotectedvirtual

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

Reimplemented from itk::ProcessObject.

Definition at line 185 of file rtkWarpFourDToProjectionStackImageFilter.h.

Member Data Documentation

◆ m_DVFInterpolatorFilter

template<typename VolumeSeriesType , typename ProjectionStackType >
CPUDVFInterpolatorType::Pointer rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::m_DVFInterpolatorFilter
protected

Member pointers to the filters used internally (for convenience)

Definition at line 189 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ m_Signal

template<typename VolumeSeriesType , typename ProjectionStackType >
std::vector<double> rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::m_Signal
protected

Definition at line 190 of file rtkWarpFourDToProjectionStackImageFilter.h.

◆ m_UseCudaCyclicDeformation

template<typename VolumeSeriesType , typename ProjectionStackType >
bool rtk::WarpFourDToProjectionStackImageFilter< VolumeSeriesType, ProjectionStackType >::m_UseCudaCyclicDeformation { false }
protected

Definition at line 191 of file rtkWarpFourDToProjectionStackImageFilter.h.


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