template<typename TInputImage, typename TKernelImage = TInputImage, typename TOutputImage = TInputImage, typename TInternalPrecision = double>
class itk::TikhonovDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage, TInternalPrecision >
An inverse deconvolution filter regularized in the Tikhonov sense.
The Tikhonov deconvolution filter is the inverse deconvolution filter with a regularization term added to the denominator. The filter minimizes the equation
\[ ||\hat{f} \otimes h - g||_{L_2}^2 + \mu||\hat{f}||^2
\]
where \(\hat{f}\) is the estimate of the unblurred image, \(h\) is the blurring kernel, \(g\) is the blurred image, and \(\mu\) is a non-negative real regularization function.
The filter applies a kernel described in the Fourier domain as \(H^*(\omega) / (|H(\omega)|^2 + \mu)\) where \(H(\omega)\) is the Fourier transform of \(h\). The term \(\mu\) is called RegularizationConstant in this filter. If \(\mu\) is set to zero, this filter is equivalent to the InverseDeconvolutionImageFilter.
- Author
- Gaetan Lehmann, Biologie du Developpement et de la Reproduction, INRA de Jouy-en-Josas, France
-
Cory Quammen, The University of North Carolina at Chapel Hill
Definition at line 54 of file itkTikhonovDeconvolutionImageFilter.h.
|
| void | GenerateData () override |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | TikhonovDeconvolutionImageFilter () |
| |
| | ~TikhonovDeconvolutionImageFilter () override=default |
| |
| | InverseDeconvolutionImageFilter () |
| |
| | ~InverseDeconvolutionImageFilter () override=default |
| |
| void | CropOutput (InternalImageType *paddedOutput, ProgressAccumulator *progress, float progressWeight) |
| |
| | FFTConvolutionImageFilter () |
| |
| void | GenerateInputRequestedRegion () override |
| |
| InternalSizeType | GetFFTPadSize () const |
| |
| KernelSizeType | GetKernelRadius () const |
| |
| bool | GetXDimensionIsOdd () const |
| |
| void | PadInput (const InputImageType *input, InternalImagePointerType &paddedInput, ProgressAccumulator *progress, float progressWeight) |
| |
| void | PrepareInput (const InputImageType *input, InternalComplexImagePointerType &preparedInput, ProgressAccumulator *progress, float progressWeight) |
| |
| void | PrepareInputs (const InputImageType *input, const KernelImageType *kernel, InternalComplexImagePointerType &preparedInput, InternalComplexImagePointerType &preparedKernel, ProgressAccumulator *progress, float progressWeight) |
| |
| void | PrepareKernel (const KernelImageType *kernel, InternalComplexImagePointerType &preparedKernel, ProgressAccumulator *progress, float progressWeight) |
| |
| void | ProduceOutput (InternalComplexImageType *paddedOutput, ProgressAccumulator *progress, float progressWeight) |
| |
| void | TransformPaddedInput (const InternalImageType *paddedInput, InternalComplexImagePointerType &transformedInput, ProgressAccumulator *progress, float progressWeight) |
| |
| | ~FFTConvolutionImageFilter () override=default |
| |
| | ConvolutionImageFilterBase () |
| |
| void | GenerateOutputInformation () override |
| |
| OutputRegionType | GetValidRegion () const |
| |
| void | VerifyInputInformation () const override |
| |
| | ~ConvolutionImageFilterBase () override=default |
| |
| virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
| |
| virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
| |
| virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
| |
| virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
| |
| void | GenerateInputRequestedRegion () override |
| |
| void | GenerateInputRequestedRegion () override |
| |
| | ImageToImageFilter () |
| |
| | ImageToImageFilter () |
| |
| void | VerifyInputInformation () const override |
| |
| void | VerifyInputInformation () const override |
| |
| | ~ImageToImageFilter () override=default |
| |
| | ~ImageToImageFilter () override=default |
| |
| virtual void | AfterThreadedGenerateData () |
| |
| virtual void | AllocateOutputs () |
| |
| virtual void | BeforeThreadedGenerateData () |
| |
| void | ClassicMultiThread (ThreadFunctionType callbackFunction) |
| |
| virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
| |
| | ImageSource () |
| |
| virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
| |
| | ~ImageSource () override=default |
| |
| virtual void | ThreadedGenerateData (const OutputImageRegionType ®ion, ThreadIdType threadId) |
| |
| virtual void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) |
| |
| virtual bool | GetDynamicMultiThreading () const |
| |
| virtual void | SetDynamicMultiThreading (bool _arg) |
| |
| virtual void | DynamicMultiThreadingOn () |
| |
| virtual void | DynamicMultiThreadingOff () |
| |
| virtual void | AddInput (DataObject *input) |
| |
| void | AddOptionalInputName (const DataObjectIdentifierType &) |
| |
| void | AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
| |
| virtual void | AddOutput (DataObject *output) |
| |
| bool | AddRequiredInputName (const DataObjectIdentifierType &) |
| |
| bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
| |
| virtual void | CacheInputReleaseDataFlags () |
| |
| virtual void | GenerateOutputRequestedRegion (DataObject *output) |
| |
| DataObject * | GetInput (const DataObjectIdentifierType &key) |
| |
| const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
| |
| virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
| |
| virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
| |
| bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
| |
| bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
| |
| bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
| |
| DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
| |
| DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
| |
| DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
| |
| DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
| |
| | ProcessObject () |
| |
| virtual void | PropagateResetPipeline () |
| |
| virtual void | PushBackInput (const DataObject *input) |
| |
| virtual void | PushFrontInput (const DataObject *input) |
| |
| virtual void | ReleaseInputs () |
| |
| virtual void | RemoveInput (const DataObjectIdentifierType &key) |
| |
| virtual void | RemoveInput (DataObjectPointerArraySizeType) |
| |
| virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
| |
| virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
| |
| bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
| |
| virtual void | RestoreInputReleaseDataFlags () |
| |
| virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
| |
| virtual void | SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input) |
| |
| virtual void | SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output) |
| |
| void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
| |
| void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
| |
| virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
| |
| virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
| |
| virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
| |
| virtual void | SetPrimaryInput (DataObject *object) |
| |
| virtual void | SetPrimaryOutput (DataObject *object) |
| |
| void | SetRequiredInputNames (const NameArray &) |
| |
| virtual void | VerifyPreconditions () const |
| |
| | ~ProcessObject () override |
| |
| DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
| |
| const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
| |
| DataObject * | GetPrimaryInput () |
| |
| const DataObject * | GetPrimaryInput () const |
| |
| virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
| |
| virtual const char * | GetPrimaryInputName () const |
| |
| DataObject * | GetOutput (const DataObjectIdentifierType &key) |
| |
| const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
| |
| virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
| |
| virtual const char * | GetPrimaryOutputName () const |
| |
| DataObject * | GetOutput (DataObjectPointerArraySizeType i) |
| |
| const DataObject * | GetOutput (DataObjectPointerArraySizeType i) const |
| |
| DataObject * | GetPrimaryOutput () |
| |
| const DataObject * | GetPrimaryOutput () const |
| |
| virtual bool | GetThreaderUpdateProgress () const |
| |
| virtual void | ThreaderUpdateProgressOn () |
| |
| virtual void | ThreaderUpdateProgressOff () |
| |
| virtual void | SetThreaderUpdateProgress (bool arg) |
| |
| | Object () |
| |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| |
| virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
| |
| | ~Object () override |
| |
| virtual LightObject::Pointer | InternalClone () const |
| |
| | LightObject () |
| |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| |
| virtual | ~LightObject () |
| |