18 #ifndef itkParametricBlindLeastSquaresDeconvolutionImageFilter_h
19 #define itkParametricBlindLeastSquaresDeconvolutionImageFilter_h
57 template<
typename TInputImage,
typename TKernelSource,
typename TOutputImage=TInputImage >
67 typename TKernelSource::OutputImageType,
101 itkSetMacro(Alpha,
double);
102 itkGetMacro(Alpha,
double);
107 itkSetMacro(Beta,
double);
108 itkGetMacro(Beta,
double);
116 float progressWeight,
117 float iterationProgressWeight)
override;
120 float iterationProgressWeight)
override;
124 void PrintSelf(std::ostream & os,
Indent indent)
const override;
127 template<
typename TPixel >
141 return !( *
this != other );
145 const TPixel & kernelEstimateFT,
146 const TPixel & inputFT)
148 return estimateFT * kernelEstimateFT - inputFT;
152 template<
typename TPixel >
166 return !( *
this != other );
170 const TPixel & differenceFT,
171 const TPixel & kernelFT)
175 return estimateFT - m_Alpha * ( differenceFT * std::conj( kernelFT ) );
188 double m_Alpha{0.01};
225 #ifndef ITK_MANUAL_INSTANTIATION
226 #include "itkParametricBlindLeastSquaresDeconvolutionImageFilter.hxx"
typename Superclass::InternalComplexImageType InternalComplexImageType
InternalComplexImagePointerType m_TransformedCurrentEstimate
bool operator!=(const ParametricBlindLeastSquaresDeconvolutionImageUpdate &) const
typename Superclass::InternalComplexImagePointerType InternalComplexImagePointerType
ImageUpdateFilterType::Pointer m_ImageUpdateFilter
typename Superclass::InternalComplexImagePointerType InternalComplexImagePointerType
bool operator==(const ParametricBlindLeastSquaresDeconvolutionDifference &other) const
void SetAlpha(double alpha)
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Implements pixel-wise generic operation of three images.
Base class for all process objects that output image data.
Least-squares blind deconvolution filter that also estimates the parameters of a user-supplied parame...
bool operator==(const ParametricBlindLeastSquaresDeconvolutionImageUpdate &other) const
InternalComplexImagePointerType m_TransformedInput
TInputImage InputImageType
TPixel operator()(const TPixel &estimateFT, const TPixel &differenceFT, const TPixel &kernelFT)
TOutputImage OutputImageType
bool operator!=(const ParametricBlindLeastSquaresDeconvolutionDifference &) const
typename Superclass::InternalComplexType InternalComplexType
typename Superclass::InternalImageType InternalImageType
DifferenceFilterType::Pointer m_DifferenceFilter
typename KernelSourceType::Pointer KernelSourcePointer
Facilitates progress reporting for filters that wrap around multiple other filters.
typename Superclass::InternalImagePointerType InternalImagePointerType
Control indentation during Print() invocation.
Abstract base class for filters that implement iterative deconvolution algorithms.
KernelSourcePointer m_KernelSource
TKernelSource KernelSourceType
TPixel operator()(const TPixel &estimateFT, const TPixel &kernelEstimateFT, const TPixel &inputFT)
ParametricBlindLeastSquaresDeconvolutionImageUpdate()