19 #ifndef rtkADMMTotalVariationConeBeamReconstructionFilter_h 20 #define rtkADMMTotalVariationConeBeamReconstructionFilter_h 133 template <
typename TOutputImage,
134 typename TGradientOutputImage =
136 TOutputImage::ImageDimension>>
155 #ifdef itkOverrideGetNameOfClassMacro 168 typename TOutputImage::ValueType,
169 typename TOutputImage::ValueType,
170 TGradientOutputImage>;
187 SetBetaForCurrentIteration(
int iter);
191 SetGatingWeights(std::vector<float> weights);
194 itkGetMacro(Alpha,
float);
197 itkGetMacro(Beta,
float);
200 itkGetMacro(AL_iterations,
float);
203 itkGetMacro(CG_iterations,
float);
207 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
216 VerifyPreconditions()
const override;
220 GenerateData()
override;
252 GenerateInputRequestedRegion()
override;
254 GenerateOutputInformation()
override;
274 #ifndef ITK_MANUAL_INSTANTIATION 275 # include "rtkADMMTotalVariationConeBeamReconstructionFilter.hxx" SubtractGradientsFilterType::Pointer m_SubtractFilter2
void VerifyInputInformation() const override
ThreeDCircularProjectionGeometry::Pointer m_Geometry
rtk::SoftThresholdTVImageFilter< TGradientOutputImage > SoftThresholdTVFilterType
AddGradientsFilterType::Pointer m_AddGradientsFilter
ConjugateGradientFilterType::Pointer m_ConjugateGradientFilter
Weigting for displaced detectors.
unsigned int m_AL_iterations
Projection geometry for a source and a 2-D flat panel.
BackProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_BackProjectionFilter
#define itkSetMacro(name, type)
typename ForwardProjectionFilterType::Pointer ForwardProjectionFilterPointer
SubtractGradientsFilterType::Pointer m_SubtractFilter1
typename Superclass::ForwardProjectionType ForwardProjectionType
ForwardProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_ForwardProjectionFilter
Computes the gradient of an image using forward difference.
GatingWeightsFilterType::Pointer m_GatingWeightsFilter
std::vector< float > m_GatingWeights
itk::AddImageFilter< TGradientOutputImage > AddGradientsFilterType
MultiplyGradientFilterType::Pointer m_ZeroMultiplyGradientFilter
CGOperatorFilterType::Pointer m_CGOperator
MultiplyVolumeFilterType::Pointer m_MultiplyFilter
Implements the operator A used in the conjugate gradient step of ADMM reconstruction with total varia...
Multiplies each (n-1) dimension image by the corresponding element in a vector.
unsigned int m_CG_iterations
ImageGradientFilterType::Pointer m_GradientFilter2
bool m_DisableDisplacedDetectorFilter
SoftThresholdTVFilterType::Pointer m_SoftThresholdFilter
typename BackProjectionFilterType::Pointer BackProjectionFilterPointer
Mother class for cone beam reconstruction filters which need runtime selection of their forward and b...
Computes the Total Variation from a gradient input image (pixels are vectors), soft thresholds it...
SubtractVolumeFilterType::Pointer m_SubtractVolumeFilter
Computes the backward differences divergence (adjoint of the forward differences gradient) of the inp...
MultiplyVolumeFilterType::Pointer m_ZeroMultiplyVolumeFilter
Implements the ADMM reconstruction with total variation regularization.
ImageDivergenceFilterType::Pointer m_DivergenceFilter
ImageGradientFilterType::Pointer m_GradientFilter1
Solves AX = B by conjugate gradient.
BackProjectionImageFilter< TOutputImage, TOutputImage >::Pointer m_BackProjectionFilterForConjugateGradient
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
typename Superclass::BackProjectionType BackProjectionType