19 #ifndef rtkFourDSARTConeBeamReconstructionFilter_h 20 #define rtkFourDSARTConeBeamReconstructionFilter_h 121 template <
class VolumeSeriesType,
class ProjectionStackType>
149 using AddFilterType = itk::AddImageFilter<VolumeSeriesType, VolumeSeriesType>;
165 #ifdef itkOverrideGetNameOfClassMacro 174 SetInputVolumeSeries(
const VolumeSeriesType * VolumeSeries);
175 typename VolumeSeriesType::ConstPointer
176 GetInputVolumeSeries();
181 SetInputProjectionStack(
const ProjectionStackType * Projection);
182 typename ProjectionStackType::Pointer
183 GetInputProjectionStack();
192 itkGetMacro(NumberOfIterations,
unsigned int);
197 itkGetMacro(NumberOfProjectionsPerSubset,
unsigned int);
198 itkSetMacro(NumberOfProjectionsPerSubset,
unsigned int);
202 itkGetMacro(Lambda,
double);
207 itkGetMacro(EnforcePositivity,
bool);
217 SetSignal(
const std::vector<double> signal);
221 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
230 VerifyPreconditions()
const override;
233 GenerateInputRequestedRegion()
override;
236 GenerateOutputInformation()
override;
239 GenerateData()
override;
291 #ifndef ITK_MANUAL_INSTANTIATION 292 # include "rtkFourDSARTConeBeamReconstructionFilter.hxx" bool m_DisableDisplacedDetectorFilter
VolumeSeriesType InputImageType
DivideFilterType::Pointer m_DivideFilter
Base class for forward projection, i.e. accumulation along x-ray lines.
ThreeDCircularProjectionGeometry::Pointer m_Geometry
FourDToProjectionStackFilterType::Pointer m_FourDToProjectionStackFilter
ProjectionStackToFourDFilterType::Pointer m_ProjectionStackToFourDFilter
MultiplyFilterType::Pointer m_ZeroMultiplyFilter
Generate an n-dimensional image with constant pixel values.
typename Superclass::BackProjectionType BackProjectionType
SubtractFilterType::Pointer m_SubtractFilter
ExtractFilterType::Pointer m_ExtractFilterRayBox
Weigting for displaced detectors.
unsigned int m_NumberOfIterations
Analytical projection of a BoxShape.
AddFilterType::Pointer m_AddFilter2
std::vector< double > m_Signal
bool m_ProjectionsOrderInitialized
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
MultiplyFilterType::Pointer m_MultiplyFilter
ForwardProjectionFilterType::Pointer m_ForwardProjectionFilter
ProjectionStackType VolumeType
AddFilterType::Pointer m_AddFilter
TOutputImage OutputImageType
Implements the 4D Simultaneous Algebraic Reconstruction Technique.
ConstantVolumeSeriesSourceType::Pointer m_ConstantVolumeSeriesSource
RayBoxIntersectionFilterType::Pointer m_RayBoxFilter
itk::AddImageFilter< VolumeSeriesType, VolumeSeriesType > AddFilterType
std::vector< unsigned int > m_ProjectionsOrder
ConstantProjectionStackSourceType::Pointer m_ConstantProjectionStackSource
void VerifyInputInformation() const override
Mother class for cone beam reconstruction filters which need runtime selection of their forward and b...
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
typename Superclass::ForwardProjectionType ForwardProjectionType
ThresholdFilterType::Pointer m_ThresholdFilter
ExtractFilterType::Pointer m_ExtractFilter
BackProjectionFilterType::Pointer m_BackProjectionFilter
unsigned int m_NumberOfProjectionsPerSubset
Implements part of the 4D reconstruction by conjugate gradient.