19 #ifndef rtkSARTConeBeamReconstructionFilter_h 20 #define rtkSARTConeBeamReconstructionFilter_h 30 #include <itkExtractImageFilter.h> 31 #include <itkMultiplyImageFilter.h> 32 #include <itkSubtractImageFilter.h> 33 #include <itkAddImageAdaptor.h> 34 #include <itkAddImageFilter.h> 35 #include <itkDivideOrZeroOutImageFilter.h> 36 #include <itkThresholdImageFilter.h> 140 template <
class TVolumeImage,
class TProjectionImage = TVolumeImage>
190 itkGetMacro(NumberOfIterations,
unsigned int);
195 itkGetMacro(NumberOfProjectionsPerSubset,
unsigned int);
196 itkSetMacro(NumberOfProjectionsPerSubset,
unsigned int);
200 itkGetMacro(Lambda,
double);
205 itkGetMacro(EnforcePositivity,
bool);
211 SetGatingWeights(std::vector<float> weights);
215 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
230 itkGetMacro(ResetNesterovEvery,
int);
239 VerifyPreconditions()
const override;
242 GenerateInputRequestedRegion()
override;
245 GenerateOutputInformation()
override;
248 GenerateData()
override;
280 bool m_DisableDisplacedDetectorFilter{};
285 unsigned int m_NumberOfProjectionsPerSubset{ 1 };
303 int m_ResetNesterovEvery{ 1 };
308 #ifndef ITK_MANUAL_INSTANTIATION 309 # include "rtkSARTConeBeamReconstructionFilter.hxx"
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
RayBoxIntersectionFilterType::Pointer m_RayBoxFilter
void VerifyInputInformation() const override
Base class for forward projection, i.e. accumulation along x-ray lines.
itk::SmartPointer< Self > Pointer
itk::SmartPointer< Self > Pointer
BackProjectionFilterType::Pointer m_BackProjectionNormalizationFilter
ThreeDCircularProjectionGeometry::Pointer m_Geometry
itk::AddImageFilter< VolumeType, VolumeType > AddFilterType
ForwardProjectionFilterType::Pointer m_ForwardProjectionFilter
Applies Nesterov's momentum technique.
itk::ExtractImageFilter< ProjectionType, ProjectionType > ExtractFilterType
Generate an n-dimensional image with constant pixel values.
typename Superclass::BackProjectionType BackProjectionType
Weigting for displaced detectors.
MultiplyFilterType::Pointer m_ZeroMultiplyFilter
NesterovFilterType::Pointer m_NesterovFilter
ConstantProjectionSourceType::Pointer m_ConstantProjectionStackSource
DivideVolumeFilterType::Pointer m_DivideVolumeFilter
GatingWeightsFilterType::Pointer m_GatingWeightsFilter
Analytical projection of a BoxShape.
itk::DivideOrZeroOutImageFilter< VolumeType, VolumeType, VolumeType > DivideVolumeFilterType
itk::SmartPointer< Self > Pointer
unsigned int m_NumberOfIterations
ConstantProjectionSourceType::Pointer m_OneConstantProjectionStackSource
Projection geometry for a source and a 2-D flat panel.
itk::DivideOrZeroOutImageFilter< ProjectionType, ProjectionType, ProjectionType > DivideProjectionFilterType
AddFilterType::Pointer m_AddFilter
#define itkSetMacro(name, type)
ExtractFilterType::Pointer m_ExtractFilterRayBox
BackProjectionFilterType::Pointer m_BackProjectionFilter
typename ProjectionType::PixelType ProjectionPixelType
itk::SubtractImageFilter< ProjectionType, ProjectionType > SubtractFilterType
MultiplyFilterType::Pointer m_MultiplyFilter
itk::MultiplyImageFilter< ProjectionType, ProjectionType, ProjectionType > MultiplyFilterType
itk::MultiplyImageFilter< ProjectionType, ProjectionType, ProjectionType > GatingWeightsFilterType
Implements the Simultaneous Algebraic Reconstruction Technique [Andersen, 1984].
std::vector< float > m_GatingWeights
typename Superclass::ForwardProjectionType ForwardProjectionType
itk::SmartPointer< Self > Pointer
DivideProjectionFilterType::Pointer m_DivideProjectionFilter
TProjectionImage ProjectionType
Mother class for cone beam reconstruction filters which need runtime selection of their forward and b...
itk::SmartPointer< Self > Pointer
ExtractFilterType::Pointer m_ExtractFilter
ConstantVolumeSourceType::Pointer m_ConstantVolumeSource
ThresholdFilterType::Pointer m_ThresholdFilter
itk::ThresholdImageFilter< VolumeType > ThresholdFilterType
itk::SmartPointer< Self > Pointer
SubtractFilterType::Pointer m_SubtractFilter
itk::SmartPointer< const Self > ConstPointer
itk::SmartPointer< Self > Pointer
itk::SmartPointer< Self > Pointer
ProjectionPixelType m_DivisionThreshold