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.
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImageType = TInputImage |
|
using | KernelImageType = TKernelImage |
|
using | OutputImageType = TOutputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = TikhonovDeconvolutionImageFilter |
|
using | Superclass = InverseDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage, TInternalPrecision > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImageType = TInputImage |
|
using | KernelImageType = TInputImage |
|
using | OutputImageType = TInputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = InverseDeconvolutionImageFilter |
|
using | Superclass = FFTConvolutionImageFilter< TInputImage, TInputImage, TInputImage, double > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImageType = TInputImage |
|
using | InputIndexType = typename InputImageType::IndexType |
|
using | InputPixelType = typename InputImageType::PixelType |
|
using | InputRegionType = typename InputImageType::RegionType |
|
using | InputSizeType = typename InputImageType::SizeType |
|
using | InternalComplexImagePointerType = typename InternalComplexImageType::Pointer |
|
using | InternalComplexImageType = Image< InternalComplexType, TInputImage::ImageDimension > |
|
using | InternalComplexType = std::complex< double > |
|
using | InternalImagePointerType = typename InternalImageType::Pointer |
|
using | InternalImageType = Image< double, TInputImage::ImageDimension > |
|
using | InternalIndexType = typename InternalImageType::IndexType |
|
using | InternalRegionType = typename InternalImageType::RegionType |
|
using | InternalSizeType = typename InternalImageType::SizeType |
|
using | KernelImageType = TInputImage |
|
using | KernelIndexType = typename KernelImageType::IndexType |
|
using | KernelPixelType = typename KernelImageType::PixelType |
|
using | KernelRegionType = typename KernelImageType::RegionType |
|
using | KernelSizeType = typename KernelImageType::SizeType |
|
using | OutputImageType = TInputImage |
|
using | OutputIndexType = typename OutputImageType::IndexType |
|
using | OutputPixelType = typename OutputImageType::PixelType |
|
using | OutputRegionType = typename OutputImageType::RegionType |
|
using | OutputSizeType = typename OutputImageType::SizeType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = FFTConvolutionImageFilter |
|
using | SizeValueType = typename InputSizeType::SizeValueType |
|
using | Superclass = ConvolutionImageFilterBase< TInputImage, TInputImage, TInputImage > |
|
using | BoundaryConditionType = ImageBoundaryCondition< TInputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DefaultBoundaryConditionType = ZeroFluxNeumannBoundaryCondition< TInputImage > |
|
using | InputImageType = TInputImage |
|
using | InputIndexType = typename InputImageType::IndexType |
|
using | InputPixelType = typename InputImageType::PixelType |
|
using | InputRegionType = typename InputImageType::RegionType |
|
using | InputSizeType = typename InputImageType::SizeType |
|
using | KernelImageType = TInputImage |
|
using | KernelIndexType = typename KernelImageType::IndexType |
|
using | KernelPixelType = typename KernelImageType::PixelType |
|
using | KernelRegionType = typename KernelImageType::RegionType |
|
using | KernelSizeType = typename KernelImageType::SizeType |
|
using | OutputImageType = TInputImage |
|
using | OutputIndexType = typename OutputImageType::IndexType |
|
using | OutputPixelType = typename OutputImageType::PixelType |
|
using | OutputRegionModeEnum = ConvolutionImageFilterBaseEnums::ConvolutionImageFilterOutputRegion |
|
using | OutputRegionType = typename OutputImageType::RegionType |
|
using | OutputSizeType = typename OutputImageType::SizeType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ConvolutionImageFilterBase |
|
using | SizeValueType = typename InputSizeType::SizeValueType |
|
using | Superclass = ImageToImageFilter< TInputImage, TInputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImageConstPointer = typename InputImageType::ConstPointer |
|
using | InputImagePixelType = typename InputImageType::PixelType |
|
using | InputImagePointer = typename InputImageType::Pointer |
|
using | InputImageRegionType = typename InputImageType::RegionType |
|
using | InputImageType = TInputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ImageToImageFilter |
|
using | Superclass = ImageSource< TInputImage > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
|
using | DataObjectPointer = DataObject::Pointer |
|
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
|
using | OutputImagePixelType = typename OutputImageType::PixelType |
|
using | OutputImagePointer = typename OutputImageType::Pointer |
|
using | OutputImageRegionType = typename OutputImageType::RegionType |
|
using | OutputImageType = TInputImage |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ImageSource |
|
using | Superclass = ProcessObject |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
|
using | DataObjectPointer = DataObject::Pointer |
|
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
|
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
|
using | MultiThreaderType = MultiThreaderBase |
|
using | NameArray = std::vector< DataObjectIdentifierType > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = ProcessObject |
|
using | Superclass = Object |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = Object |
|
using | Superclass = LightObject |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = LightObject |
|
|
void | GenerateData () override |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| TikhonovDeconvolutionImageFilter () |
|
| ~TikhonovDeconvolutionImageFilter () override=default |
|
void | GenerateData () override |
|
| InverseDeconvolutionImageFilter () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~InverseDeconvolutionImageFilter () override=default |
|
void | CropOutput (InternalImageType *paddedOutput, ProgressAccumulator *progress, float progressWeight) |
|
| FFTConvolutionImageFilter () |
|
void | GenerateData () override |
|
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 | PrintSelf (std::ostream &os, Indent indent) const override |
|
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 | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | VerifyInputInformation () const override |
|
| ~ConvolutionImageFilterBase () override=default |
|
virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
|
virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
|
void | GenerateInputRequestedRegion () override |
|
| ImageToImageFilter () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | VerifyInputInformation () const override |
|
| ~ImageToImageFilter () override=default |
|
virtual void | PushBackInput (const DataObject *input) |
|
virtual void | PushFrontInput (const DataObject *input) |
|
virtual void | AfterThreadedGenerateData () |
|
virtual void | AllocateOutputs () |
|
virtual void | BeforeThreadedGenerateData () |
|
void | ClassicMultiThread (ThreadFunctionType callbackFunction) |
|
void | GenerateData () override |
|
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
|
| ImageSource () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
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 | 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 | GenerateData () |
|
virtual void | GenerateInputRequestedRegion () |
|
virtual void | GenerateOutputInformation () |
|
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 |
|
virtual void | PopBackInput () |
|
virtual void | PopFrontInput () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| 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 | VerifyInputInformation () const |
|
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 | SetThreaderUpdateProgress (bool arg) |
|
| Object () |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
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 | PrintSelf (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|