18 #ifndef rtkMotionCompensatedFourDReconstructionConjugateGradientOperator_h 19 #define rtkMotionCompensatedFourDReconstructionConjugateGradientOperator_h 99 template <
typename VolumeSeriesType,
typename ProjectionStackType>
119 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
121 itk::CudaImage<VectorForDVF, VolumeSeriesType::ImageDimension>>::type
124 typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
127 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
130 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
142 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
153 #ifdef itkOverrideGetNameOfClassMacro 165 itkExceptionMacro(<<
"ForwardProjection cannot be changed");
170 itkExceptionMacro(<<
"BackProjection cannot be changed");
176 SetDisplacementField(
const DVFSequenceImageType * DisplacementField);
178 SetInverseDisplacementField(
const DVFSequenceImageType * InverseDisplacementField);
179 typename DVFSequenceImageType::ConstPointer
180 GetInverseDisplacementField();
181 typename DVFSequenceImageType::ConstPointer
182 GetDisplacementField();
187 SetSignal(
const std::vector<double> signal)
override;
191 itkGetMacro(UseCudaCyclicDeformation,
bool);
200 GenerateOutputInformation()
override;
209 GenerateData()
override;
220 #ifndef ITK_MANUAL_INSTANTIATION 221 # include "rtkMotionCompensatedFourDReconstructionConjugateGradientOperator.hxx" void VerifyInputInformation() const override
void SetBackProjectionFilter(const typename Superclass::BackProjectionFilterType::Pointer)
typename itk::Image< typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension > CPUVolumeSeriesType
CPUDVFInterpolatorType::Pointer m_InverseDVFInterpolatorFilter
void SetForwardProjectionFilter(const typename Superclass::ForwardProjectionFilterType::Pointer)
#define itkSetMacro(name, type)
Implements part of the 4D reconstruction by conjugate gradient.
std::vector< double > m_Signal
Like FourDReconstructionConjugateGradientOperator, but motion-compensated.
Joseph forward projection.
ProjectionStackType VolumeType
CPUDVFInterpolatorType::Pointer m_DVFInterpolatorFilter
bool m_UseCudaCyclicDeformation