18 #ifndef itkLandweberDeconvolutionImageFilter_h
19 #define itkLandweberDeconvolutionImageFilter_h
34 template<
typename TInput1,
typename TInput2,
typename TInput3,
typename TOutput >
48 return !( *
this != other );
52 const TInput2 & kernelFT,
53 const TInput2 & inputFT)
const
55 return m_Alpha * std::conj( kernelFT ) * inputFT +
100 template<
typename TInputImage,
typename TKernelImage=TInputImage,
typename TOutputImage=TInputImage,
typename TInternalPrecision=
double >
134 itkSetMacro(Alpha,
double);
135 itkGetMacro(Alpha,
double);
143 float progressWeight,
144 float iterationProgressWeight) ITK_OVERRIDE;
147 float iterationProgressWeight) ITK_OVERRIDE;
154 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
180 #ifndef ITK_MANUAL_INSTANTIATION
181 #include "itkLandweberDeconvolutionImageFilter.hxx"
Superclass::FFTFilterType FFTFilterType
TOutputImage OutputImageType
Superclass::IFFTFilterType IFFTFilterType
Superclass::InternalImagePointerType InternalImagePointerType
void operator=(const Self &)
Implements pixel-wise generic operation of three images.
Base class for all process objects that output image data.
Superclass::InternalComplexType InternalComplexType
Superclass::FFTFilterType FFTFilterType
TInput1::value_type m_Alpha
virtual void Initialize(ProgressAccumulator *progress, float progressWeight, float iterationProgressWeight) override
TInputImage InputImageType
Superclass::InternalImageType InternalImageType
Base class for specialized complex-to-real inverse Fast Fourier Transform.
bool operator==(const LandweberMethod &other) const
LandweberDeconvolutionImageFilter Self
InternalComplexImagePointerType m_TransformedInput
IterativeDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage, TInternalPrecision > Superclass
TKernelImage KernelImageType
Superclass::InternalComplexImageType InternalComplexImageType
Superclass::InternalComplexImageType InternalComplexImageType
SmartPointer< Self > Pointer
Superclass::InternalImagePointerType InternalImagePointerType
Facilitates progress reporting for filters that wrap around multiple other filters.
Superclass::InternalComplexType InternalComplexType
Deconvolve an image using the Landweber deconvolution algorithm.
virtual void Iteration(ProgressAccumulator *progress, float iterationProgressWeight) override
bool operator!=(const LandweberMethod &) const
virtual ~LandweberDeconvolutionImageFilter()
Control indentation during Print() invocation.
Abstract base class for filters that implement iterative deconvolution algorithms.
Superclass::InternalImageType InternalImageType
virtual void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::InternalComplexImagePointerType InternalComplexImagePointerType
TOutput operator()(const TInput1 &estimateFT, const TInput2 &kernelFT, const TInput2 &inputFT) const
LandweberDeconvolutionImageFilter()
IFFTFilterType::Pointer m_IFFTFilter
Functor class for computing a Landweber iteration.
SmartPointer< const Self > ConstPointer
Functor::LandweberMethod< InternalComplexType, InternalComplexType, InternalComplexType, InternalComplexType > LandweberFunctor
std::complex< TInternalPrecision > InternalComplexType
LandweberFilterType::Pointer m_LandweberFilter
TernaryFunctorImageFilter< InternalComplexImageType, InternalComplexImageType, InternalComplexImageType, InternalComplexImageType, LandweberFunctor > LandweberFilterType
virtual void Finish(ProgressAccumulator *progress, float progressWeight) override