18 #ifndef rtkRegularizedConjugateGradientConeBeamReconstructionFilter_h 19 #define rtkRegularizedConjugateGradientConeBeamReconstructionFilter_h 106 template <
typename TImage>
120 using GradientImageType = itk::CudaImage<CovariantVectorForSpatialGradient, TImage::ImageDimension>;
132 #ifdef itkOverrideGetNameOfClassMacro 141 SetInputVolume(
const TImage * Volume);
142 typename TImage::ConstPointer
148 SetInputProjectionStack(
const TImage * Projection);
149 typename TImage::Pointer
150 GetInputProjectionStack();
155 SetInputWeights(
const TImage * Weights);
156 typename TImage::Pointer
162 SetSupportMask(
const TImage * SupportMask);
163 typename TImage::ConstPointer
175 itkGetMacro(PerformPositivity,
bool);
177 itkGetMacro(PerformTVSpatialDenoising,
bool);
178 itkSetMacro(PerformWaveletsSpatialDenoising,
bool);
179 itkGetMacro(PerformWaveletsSpatialDenoising,
bool);
181 itkGetMacro(PerformSoftThresholdOnImage,
bool);
185 itkGetMacro(GammaTV,
float);
187 itkGetMacro(SoftThresholdWavelets,
float);
189 itkGetMacro(SoftThresholdOnImage,
float);
192 itkGetMacro(NumberOfLevels,
unsigned int);
197 itkGetMacro(Order,
unsigned int);
203 itkGetMacro(MainLoop_iterations,
int);
205 itkGetMacro(CG_iterations,
int);
207 itkGetMacro(TV_iterations,
int);
215 itkGetMacro(Preconditioned,
bool);
220 itkGetMacro(Tikhonov,
float);
222 itkGetMacro(Gamma,
float);
227 itkGetMacro(CudaConjugateGradient,
bool);
232 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
241 VerifyPreconditions()
const override;
245 GenerateData()
override;
248 GenerateOutputInformation()
override;
251 GenerateInputRequestedRegion()
override;
280 bool m_DimensionsProcessedForTV[TImage::ImageDimension];
302 #ifndef ITK_MANUAL_INSTANTIATION 303 # include "rtkRegularizedConjugateGradientConeBeamReconstructionFilter.hxx"
bool m_CudaConjugateGradient
Performs 3D regularized reconstruction.
Implements ConjugateGradient.
typename Superclass::BackProjectionType BackProjectionType
float m_SoftThresholdOnImage
Applies a total variation denoising, only alm_SingularValueThresholdFilterong the dimensions specifie...
WaveletsDenoisingFilterType::Pointer m_WaveletsDenoising
ThresholdFilterType::Pointer m_PositivityFilter
SoftThresholdFilterType::Pointer m_SoftThresholdFilter
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
rtk::ThreeDCircularProjectionGeometry::Pointer m_Geometry
unsigned int m_NumberOfLevels
float m_SoftThresholdWavelets
bool m_PerformTVSpatialDenoising
CGFilterType::Pointer m_CGFilter
void VerifyInputInformation() const override
int m_MainLoop_iterations
Soft thresholds an image.
Mother class for cone beam reconstruction filters which need runtime selection of their forward and b...
TVDenoisingFilterType::Pointer m_TVDenoising
Deconstructs an image, soft thresholds its wavelets coefficients, then reconstructs.
bool m_PerformSoftThresholdOnImage
typename Superclass::ForwardProjectionType ForwardProjectionType
bool m_PerformWaveletsSpatialDenoising
bool m_DisableDisplacedDetectorFilter