18#ifndef itkLandweberDeconvolutionImageFilter_h
19#define itkLandweberDeconvolutionImageFilter_h
35template <
typename TInput1,
typename TInput2,
typename TInput3,
typename TOutput>
48 operator()(
const TInput1 & estimateFT,
const TInput2 & kernelFT,
const TInput2 & inputFT)
const
50 return m_Alpha * std::conj(kernelFT) * inputFT +
95template <
typename TInputImage,
96 typename TKernelImage = TInputImage,
97 typename TOutputImage = TInputImage,
98 typename TInternalPrecision =
double>
117 using typename Superclass::InternalImageType;
118 using typename Superclass::InternalImagePointerType;
119 using typename Superclass::InternalComplexType;
120 using typename Superclass::InternalComplexImageType;
121 using typename Superclass::InternalComplexImagePointerType;
130 itkSetMacro(Alpha,
double);
131 itkGetMacro(Alpha,
double);
147 using typename Superclass::FFTFilterType;
148 using typename Superclass::IFFTFilterType;
171#ifndef ITK_MANUAL_INSTANTIATION
172# include "itkLandweberDeconvolutionImageFilter.hxx"
typename InternalComplexImageType::Pointer InternalComplexImagePointerType
Functor class for computing a Landweber iteration.
bool operator==(const LandweberMethod &) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(LandweberMethod)
TInput1::value_type m_Alpha
TOutput operator()(const TInput1 &estimateFT, const TInput2 &kernelFT, const TInput2 &inputFT) const
Templated n-dimensional image class.
Control indentation during Print() invocation.
Abstract base class for filters that implement iterative deconvolution algorithms.
Deconvolve an image using the Landweber deconvolution algorithm.
LandweberDeconvolutionImageFilter()
void Finish(ProgressAccumulator *progress, float progressWeight) override
void Initialize(ProgressAccumulator *progress, float progressWeight, float iterationProgressWeight) override
TOutputImage OutputImageType
void Iteration(ProgressAccumulator *progress, float iterationProgressWeight) override
TKernelImage KernelImageType
TInputImage InputImageType
void PrintSelf(std::ostream &os, Indent indent) const override
~LandweberDeconvolutionImageFilter() override
Light weight base class for most itk classes.
Facilitates progress reporting for filters that wrap around multiple other filters.
Implements pixel-wise generic operation of three images or images with constants.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....