18 #ifndef rtkFourDReconstructionConjugateGradientOperator_h 19 #define rtkFourDReconstructionConjugateGradientOperator_h 129 template <
typename VolumeSeriesType,
typename ProjectionStackType>
152 SetInputVolumeSeries(
const VolumeSeriesType * VolumeSeries);
153 typename VolumeSeriesType::ConstPointer
154 GetInputVolumeSeries();
159 SetInputProjectionStack(
const ProjectionStackType * Projections);
160 typename ProjectionStackType::ConstPointer
161 GetInputProjectionStack();
176 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
179 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
182 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
185 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
188 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
212 itkGetMacro(UseCudaInterpolation,
bool);
214 itkGetMacro(UseCudaSplat,
bool);
216 itkGetMacro(UseCudaSources,
bool);
226 SetSignal(
const std::vector<double> signal);
230 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
239 VerifyPreconditions() ITKv5_CONST override;
243 GenerateOutputInformation() override;
247 GenerateInputRequestedRegion() override;
251 GenerateData() override;
255 InitializeConstantSources();
269 bool m_UseCudaInterpolation;
271 bool m_UseCudaSources;
273 std::vector<
double> m_Signal;
274 bool m_DisableDisplacedDetectorFilter;
279 #ifndef ITK_MANUAL_INSTANTIATION 280 # include "rtkFourDReconstructionConjugateGradientOperator.hxx"
Base class for forward projection, i.e. accumulation along x-ray lines.
typename itk::Image< typename ProjectionStackType::PixelType, ProjectionStackType::ImageDimension > CPUProjectionStackType
Generate an n-dimensional image with constant pixel values.
Weigting for displaced detectors.
Splats (linearly) a 3D volume into a 3D+t sequence of volumes.
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
Implements part of the 4D reconstruction by conjugate gradient.
Interpolates (linearly) in a 3D+t sequence of volumes to get a 3D volume.
ProjectionStackType VolumeType