18 #ifndef rtkWarpProjectionStackToFourDImageFilter_h 19 #define rtkWarpProjectionStackToFourDImageFilter_h 84 template <
typename VolumeSeriesType,
typename ProjectionStackType>
104 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
106 itk::CudaImage<VectorForDVF, VolumeSeriesType::ImageDimension>>::type
109 typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
112 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
116 typedef typename std::conditional<std::is_same<VolumeSeriesType, CPUVolumeSeriesType>::value,
139 itkExceptionMacro(<<
"BackProjection cannot be changed");
144 SetDisplacementField(
const DVFSequenceImageType * DisplacementField);
145 typename DVFSequenceImageType::ConstPointer
146 GetDisplacementField();
150 SetSignal(
const std::vector<double> signal)
override;
154 itkGetMacro(UseCudaCyclicDeformation,
bool);
163 GenerateData()
override;
166 GenerateOutputInformation()
override;
182 #ifndef ITK_MANUAL_INSTANTIATION 183 # include "rtkWarpProjectionStackToFourDImageFilter.hxx"
std::vector< double > m_Signal
void SetBackProjectionFilter(typename Superclass::BackProjectionFilterType *)
CPUDVFInterpolatorType::Pointer m_DVFInterpolatorFilter
#define itkSetMacro(name, type)
Implements part of the 4D reconstruction by conjugate gradient.
std::vector< double > SignalVectorType
bool m_UseCudaCyclicDeformation
void VerifyInputInformation() const override
Back projection part for motion compensated iterative 4D reconstruction.
typename itk::Image< typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension > CPUVolumeSeriesType
ProjectionStackType VolumeType