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()
const override;
248 GenerateOutputInformation()
override;
252 GenerateInputRequestedRegion()
override;
256 GenerateData()
override;
260 InitializeConstantSources();
284 #ifndef ITK_MANUAL_INSTANTIATION 285 # 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