18 #ifndef itkTikhonovDeconvolutionImageFilter_h
19 #define itkTikhonovDeconvolutionImageFilter_h
49 template<
typename TInputImage,
typename TKernelImage = TInputImage,
typename TOutputImage = TInputImage,
typename TInternalPrecision=
double >
70 TInputImage::ImageDimension);
100 itkSetMacro(RegularizationConstant,
double);
101 itkGetConstMacro(RegularizationConstant,
double);
111 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
115 void operator=(const
Self &) ITK_DELETE_FUNCTION;
122 template<
typename TInput1,
typename TInput2,
typename TOutput >
135 return !(*
this != other);
137 inline TOutput
operator()(
const TInput1 & I,
const TInput2 & H)
const
139 typename TOutput::value_type normH = std::norm( H );
144 value =
static_cast< TOutput
>( I * ( std::conj( H ) / denominator ) );
154 m_RegularizationConstant = constant;
182 #ifndef ITK_MANUAL_INSTANTIATION
183 #include "itkTikhonovDeconvolutionImageFilter.hxx"
Superclass::InputIndexType InputIndexType
Superclass::KernelSizeType KernelSizeType
SmartPointer< const Self > ConstPointer
Superclass::KernelIndexType KernelIndexType
Superclass::OutputIndexType OutputIndexType
virtual void PrintSelf(std::ostream &os, Indent indent) const override
double GetKernelZeroMagnitudeThreshold() const
Superclass::InternalImagePointerType InternalImagePointerType
TikhonovDeconvolutionImageFilter()
An inverse deconvolution filter regularized in the Tikhonov sense.
Superclass::KernelIndexType KernelIndexType
Superclass::InputRegionType InputRegionType
Superclass::InputRegionType InputRegionType
Superclass::SizeValueType SizeValueType
double m_RegularizationConstant
Superclass::InternalComplexImagePointerType InternalComplexImagePointerType
Superclass::OutputIndexType OutputIndexType
Superclass::InternalComplexType InternalComplexType
Superclass::InternalComplexImageType InternalComplexImageType
Base class for all process objects that output image data.
Superclass::OutputPixelType OutputPixelType
Superclass::OutputRegionType OutputRegionType
Superclass::InternalImageType InternalImageType
Superclass::SizeValueType SizeValueType
static const unsigned int ImageDimension
TikhonovDeconvolutionFunctor()
Superclass::OutputRegionType OutputRegionType
Superclass::InputIndexType InputIndexType
TKernelImage KernelImageType
TOutputImage OutputImageType
void SetRegularizationConstant(double constant)
~TikhonovDeconvolutionImageFilter()
void GenerateData() override
bool operator!=(const TikhonovDeconvolutionFunctor &) const
Superclass::OutputPixelType OutputPixelType
TikhonovDeconvolutionImageFilter Self
double m_KernelZeroMagnitudeThreshold
void SetKernelZeroMagnitudeThreshold(double mu)
~TikhonovDeconvolutionFunctor()
double GetRegularizationConstant() const
Superclass::KernelPixelType KernelPixelType
InverseDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage, TInternalPrecision > Superclass
bool operator==(const TikhonovDeconvolutionFunctor &other) const
Superclass::InternalComplexImagePointerType InternalComplexImagePointerType
Superclass::InputPixelType InputPixelType
Superclass::InputSizeType InputSizeType
Superclass::OutputSizeType OutputSizeType
TInputImage InputImageType
Control indentation during Print() invocation.
Superclass::KernelSizeType KernelSizeType
Superclass::InternalImagePointerType InternalImagePointerType
double m_KernelZeroMagnitudeThreshold
Superclass::OutputSizeType OutputSizeType
Superclass::InternalImageType InternalImageType
Superclass::InputSizeType InputSizeType
TOutput operator()(const TInput1 &I, const TInput2 &H) const
Superclass::KernelRegionType KernelRegionType
Superclass::InputPixelType InputPixelType
double m_RegularizationConstant
The direct linear inverse deconvolution filter.
SmartPointer< Self > Pointer
Superclass::KernelPixelType KernelPixelType
Superclass::InternalComplexType InternalComplexType
Superclass::KernelRegionType KernelRegionType
Superclass::InternalComplexImageType InternalComplexImageType