18 #ifndef rtkFourDReconstructionConjugateGradientOperator_h 19 #define rtkFourDReconstructionConjugateGradientOperator_h 129 template <
typename VolumeSeriesType,
typename ProjectionStackType>
148 #ifdef itkOverrideGetNameOfClassMacro 157 SetInputVolumeSeries(
const VolumeSeriesType * VolumeSeries);
158 typename VolumeSeriesType::ConstPointer
159 GetInputVolumeSeries();
164 SetInputProjectionStack(
const ProjectionStackType * Projections);
165 typename ProjectionStackType::ConstPointer
166 GetInputProjectionStack();
181 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
184 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
187 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
190 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
193 typedef typename std::conditional<std::is_same<ProjectionStackType, CPUProjectionStackType>::value,
217 itkGetMacro(UseCudaInterpolation,
bool);
219 itkGetMacro(UseCudaSplat,
bool);
221 itkGetMacro(UseCudaSources,
bool);
231 SetSignal(
const std::vector<double> signal);
235 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
244 VerifyPreconditions() ITKv5_CONST override;
248 GenerateOutputInformation() override;
252 GenerateInputRequestedRegion() override;
256 GenerateData() override;
260 InitializeConstantSources();
274 bool m_UseCudaInterpolation;
276 bool m_UseCudaSources;
278 std::vector<
double> m_Signal;
279 bool m_DisableDisplacedDetectorFilter;
284 #ifndef ITK_MANUAL_INSTANTIATION 285 # 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