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()
const override;
243 GenerateOutputInformation()
override;
247 GenerateInputRequestedRegion()
override;
251 GenerateData()
override;
255 InitializeConstantSources();
279 #ifndef ITK_MANUAL_INSTANTIATION 280 # include "rtkFourDReconstructionConjugateGradientOperator.hxx" DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
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.
ConstantVolumeSourceType::Pointer m_ConstantVolumeSource1
ForwardProjectionFilterType::Pointer m_ForwardProjectionFilter
bool m_DisableDisplacedDetectorFilter
Weigting for displaced detectors.
bool m_UseCudaInterpolation
Splats (linearly) a 3D volume into a 3D+t sequence of volumes.
ThreeDCircularProjectionGeometry::ConstPointer m_Geometry
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
Implements part of the 4D reconstruction by conjugate gradient.
ConstantVolumeSourceType::Pointer m_ConstantVolumeSource2
SplatFilterType::Pointer m_SplatFilter
BackProjectionFilterType::Pointer m_BackProjectionFilter
std::vector< double > m_Signal
Interpolates (linearly) in a 3D+t sequence of volumes to get a 3D volume.
InterpolationFilterType::Pointer m_InterpolationFilter
itk::Array2D< float > m_Weights
ConstantVolumeSeriesSourceType::Pointer m_ConstantVolumeSeriesSource
ProjectionStackType VolumeType
ConstantProjectionStackSourceType::Pointer m_ConstantProjectionStackSource