19 #ifndef rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter_h 20 #define rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter_h 69 template <
typename VolumeSeriesType,
typename ProjectionStackType>
96 typename std::conditional_t<std::is_same_v<VolumeSeriesType, CPUVolumeSeriesType>,
98 itk::CudaImage<VectorForDVF, VolumeSeriesType::ImageDimension>>;
99 using DVFImageType =
typename std::conditional_t<std::is_same_v<VolumeSeriesType, CPUVolumeSeriesType>,
119 itkExceptionMacro(<<
"ForwardProjection cannot be changed");
124 itkExceptionMacro(<<
"BackProjection cannot be changed");
130 SetDisplacementField(
const DVFSequenceImageType * DisplacementField);
132 SetInverseDisplacementField(
const DVFSequenceImageType * InverseDisplacementField);
133 typename DVFSequenceImageType::ConstPointer
134 GetDisplacementField();
135 typename DVFSequenceImageType::ConstPointer
136 GetInverseDisplacementField();
141 SetSignal(
const std::vector<double> signal)
override;
150 itkGetMacro(UseCudaCyclicDeformation,
bool);
158 GenerateOutputInformation()
override;
160 GenerateInputRequestedRegion()
override;
168 #ifndef ITK_MANUAL_INSTANTIATION 169 # include "rtkMotionCompensatedFourDConjugateGradientConeBeamReconstructionFilter.hxx" ProjectionStackType VolumeType
bool m_UseCudaCyclicDeformation
void SetForwardProjectionFilter(ForwardProjectionType) override
void SetBackProjectionFilter(BackProjectionType) override
typename itk::Image< typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension > CPUVolumeSeriesType
VolumeSeriesType OutputImageType
Implements motion compensated 4D reconstruction by conjugate gradient.
#define itkSetMacro(name, type)
typename Superclass::BackProjectionType BackProjectionType
typename std::conditional_t< std::is_same_v< VolumeSeriesType, CPUVolumeSeriesType >, itk::Image< VectorForDVF, VolumeSeriesType::ImageDimension - 1 >, itk::CudaImage< VectorForDVF, VolumeSeriesType::ImageDimension - 1 > > DVFImageType
typename std::conditional_t< std::is_same_v< VolumeSeriesType, CPUVolumeSeriesType >, itk::Image< VectorForDVF, VolumeSeriesType::ImageDimension >, itk::CudaImage< VectorForDVF, VolumeSeriesType::ImageDimension > > DVFSequenceImageType
typename Superclass::ForwardProjectionType ForwardProjectionType
Like FourDReconstructionConjugateGradientOperator, but motion-compensated.
Back projection part for motion compensated iterative 4D reconstruction.
VolumeSeriesType InputImageType
Implements part of the 4D reconstruction by conjugate gradient.