18 #ifndef rtkWarpFourDToProjectionStackImageFilter_h 19 #define rtkWarpFourDToProjectionStackImageFilter_h 87 template <
typename VolumeSeriesType,
typename ProjectionStackType>
105 typename VolumeSeriesType::template RebindImageType<VectorForDVF, VolumeSeriesType::ImageDimension>;
107 typename VolumeSeriesType::template RebindImageType<
VectorForDVF, VolumeSeriesType::ImageDimension - 1>;
112 typename std::conditional_t<std::is_same_v<VolumeSeriesType, CPUVolumeSeriesType>,
116 typename std::conditional_t<std::is_same_v<VolumeSeriesType, CPUVolumeSeriesType>,
137 itkExceptionMacro(<<
"ForwardProjection cannot be changed");
142 SetDisplacementField(
const DVFSequenceImageType * DisplacementField);
143 typename DVFSequenceImageType::ConstPointer
144 GetDisplacementField();
148 SetSignal(
const std::vector<double> signal)
override;
152 itkGetMacro(UseCudaCyclicDeformation,
bool);
161 GenerateData()
override;
164 GenerateOutputInformation()
override;
167 GenerateInputRequestedRegion()
override;
178 bool m_UseCudaCyclicDeformation{
false };
183 #ifndef ITK_MANUAL_INSTANTIATION 184 # include "rtkWarpFourDToProjectionStackImageFilter.hxx"
typename itk::Image< typename VolumeSeriesType::PixelType, VolumeSeriesType::ImageDimension > CPUVolumeSeriesType
typename std::conditional_t< std::is_same_v< VolumeSeriesType, CPUVolumeSeriesType >, JosephForwardProjectionImageFilter< ProjectionStackType, ProjectionStackType >, CudaWarpForwardProjectionImageFilter > WarpForwardProjectionImageFilterType
std::vector< double > SignalVectorType
void SetForwardProjectionFilter(typename Superclass::ForwardProjectionFilterType *)
typename std::conditional_t< std::is_same_v< VolumeSeriesType, CPUVolumeSeriesType >, CPUDVFInterpolatorType, CudaCyclicDeformationImageFilter > CudaCyclicDeformationImageFilterType
ProjectionStackType VolumeType
#define itkSetMacro(name, type)
CPUDVFInterpolatorType::Pointer m_DVFInterpolatorFilter
void VerifyInputInformation() const override
typename VolumeSeriesType::template RebindImageType< VectorForDVF, VolumeSeriesType::ImageDimension - 1 > DVFImageType
std::vector< double > m_Signal
Joseph forward projection.
Forward projection part for motion compensated iterative 4D reconstruction.
Implements part of the 4D reconstruction by conjugate gradient.
typename VolumeSeriesType::template RebindImageType< VectorForDVF, VolumeSeriesType::ImageDimension > DVFSequenceImageType