18 #ifndef itkInverseDeconvolutionImageFilter_h
19 #define itkInverseDeconvolutionImageFilter_h
53 template<
typename TInputImage,
typename TKernelImage = TInputImage,
typename TOutputImage = TInputImage,
typename TInternalPrecision=
double >
73 itkStaticConstMacro(ImageDimension,
unsigned int,
74 TInputImage::ImageDimension);
103 itkSetMacro(KernelZeroMagnitudeThreshold,
double);
104 itkGetConstMacro(KernelZeroMagnitudeThreshold,
double);
112 virtual void GenerateData() ITK_OVERRIDE;
114 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
119 double m_KernelZeroMagnitudeThreshold;
124 template<
typename TInput1,
typename TInput2,
typename TOutput >
137 return !(*
this != other);
139 inline TOutput
operator()(
const TInput1 & I,
const TInput2 & H)
const
143 if ( absH >= m_KernelZeroMagnitudeThreshold )
145 value =
static_cast< TOutput
>( I / H );
154 m_KernelZeroMagnitudeThreshold = mu;
158 return m_KernelZeroMagnitudeThreshold;
169 #ifndef ITK_MANUAL_INSTANTIATION
170 #include "itkInverseDeconvolutionImageFilter.hxx"
TInputImage InputImageType
Superclass::KernelIndexType KernelIndexType
TOutput operator()(const TInput1 &I, const TInput2 &H) const
Superclass::InputRegionType InputRegionType
Superclass::SizeValueType SizeValueType
InverseDeconvolutionFunctor()
TOutputImage OutputImageType
Superclass::OutputIndexType OutputIndexType
SmartPointer< Self > Pointer
Base class for all process objects that output image data.
Superclass::OutputPixelType OutputPixelType
unsigned long SizeValueType
Superclass::OutputRegionType OutputRegionType
Superclass::InternalImageType InternalImageType
~InverseDeconvolutionFunctor()
~InverseDeconvolutionImageFilter() override
Convolve a given image with an arbitrary image kernel using multiplication in the Fourier domain...
bool operator!=(const InverseDeconvolutionFunctor &) const
Superclass::InputIndexType InputIndexType
SmartPointer< const Self > ConstPointer
void SetKernelZeroMagnitudeThreshold(double mu)
FFTConvolutionImageFilter< TInputImage, TKernelImage, TOutputImage, TInternalPrecision > Superclass
double m_KernelZeroMagnitudeThreshold
Superclass::InternalComplexImagePointerType InternalComplexImagePointerType
Superclass::InputPixelType InputPixelType
bool operator==(const InverseDeconvolutionFunctor &other) const
Superclass::OutputSizeType OutputSizeType
double GetKernelZeroMagnitudeThreshold() const
Control indentation during Print() invocation.
Superclass::KernelSizeType KernelSizeType
Superclass::InternalImagePointerType InternalImagePointerType
Superclass::InputSizeType InputSizeType
The direct linear inverse deconvolution filter.
Superclass::KernelPixelType KernelPixelType
InverseDeconvolutionImageFilter Self
Superclass::InternalComplexType InternalComplexType
Superclass::KernelRegionType KernelRegionType
TKernelImage KernelImageType
Superclass::InternalComplexImageType InternalComplexImageType