19 #ifndef rtkIterativeFDKConeBeamReconstructionFilter_h 20 #define rtkIterativeFDKConeBeamReconstructionFilter_h 22 #include <itkMultiplyImageFilter.h> 23 #include <itkSubtractImageFilter.h> 24 #include <itkThresholdImageFilter.h> 25 #include <itkDivideOrZeroOutImageFilter.h> 106 template <
class TInputImage,
class TOutputImage = TInputImage,
class TFFTPrecision =
double>
130 using MultiplyFilterType = itk::MultiplyImageFilter<OutputImageType, OutputImageType, OutputImageType>;
149 itkGetMacro(NumberOfIterations,
unsigned int);
154 itkGetMacro(Lambda,
double);
159 itkGetMacro(EnforcePositivity,
bool);
167 itkExceptionMacro(<<
"Backprojection cannot be changed");
171 itkGetMacro(TruncationCorrection,
double);
176 itkGetMacro(HannCutFrequency,
double);
181 itkGetMacro(HannCutFrequencyY,
double);
186 itkGetMacro(ProjectionSubsetSize,
unsigned int);
192 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
201 VerifyPreconditions()
const override;
204 GenerateInputRequestedRegion()
override;
207 GenerateOutputInformation()
override;
210 GenerateData()
override;
250 #ifndef ITK_MANUAL_INSTANTIATION 251 # include "rtkIterativeFDKConeBeamReconstructionFilter.hxx"
itk::DivideOrZeroOutImageFilter< OutputImageType > DivideFilterType
itk::SmartPointer< Self > Pointer
itk::SmartPointer< Self > Pointer
FDKFilterType::Pointer m_FDKFilter
bool m_DisableDisplacedDetectorFilter
Superclass::ForwardProjectionPointerType m_ForwardProjectionFilter
Generate an n-dimensional image with constant pixel values.
ConstantImageSourceType::Pointer m_ConstantProjectionStackSource
itk::ThresholdImageFilter< OutputImageType > ThresholdFilterType
Weigting for displaced detectors.
double m_HannCutFrequencyY
DivideFilterType::Pointer m_DivideFilter
Analytical projection of a BoxShape.
double m_TruncationCorrection
TOutputImage OutputImageType
itk::SmartPointer< Self > Pointer
ThresholdFilterType::Pointer m_ThresholdFilter
SubtractFilterType::Pointer m_SubtractFilter
ParkerFilterType::Pointer m_ParkerFilter
Projection geometry for a source and a 2-D flat panel.
typename Superclass::BackProjectionType BackProjectionType
itk::SubtractImageFilter< OutputImageType, OutputImageType > SubtractFilterType
#define itkSetMacro(name, type)
itk::SmartPointer< Self > Pointer
RayBoxIntersectionFilterType::Pointer m_RayBoxFilter
void VerifyInputInformation() const override
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
MultiplyFilterType::Pointer m_MultiplyFilter
Implements Feldkamp, David and Kress cone-beam reconstruction.
Implements the Iterative FDK.
ThreeDCircularProjectionGeometry::Pointer m_Geometry
itk::SmartPointer< Self > Pointer
itk::MultiplyImageFilter< OutputImageType, OutputImageType, OutputImageType > MultiplyFilterType
Mother class for cone beam reconstruction filters which need runtime selection of their forward and b...
itk::SmartPointer< Self > Pointer
TInputImage InputImageType
double m_HannCutFrequency
void SetBackProjectionFilter(BackProjectionType) override
typename Superclass::ForwardProjectionType ForwardProjectionType
itk::SmartPointer< Self > Pointer
unsigned int m_NumberOfIterations
double m_ProjectionSubsetSize
itk::SmartPointer< const Self > ConstPointer