ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkParametricBlindLeastSquaresDeconvolutionImageFilter.h>
Least-squares blind deconvolution filter that also estimates the parameters of a user-supplied parametric point-spread function.
This filter takes a parametric kernel image source instead of a static kernel image. During the deconvolution iterations, a new estimate of the restored image is produced, along with a new estimate of the kernel parameters. The parameters are available through the kernel image sources GetParameters() method after the filter has executed.
Both the image estimate and the kernel parameter estimate are produced through gradient descent on a sum-of-squared differences objective function, making this method suitable for zero-mean Gaussian white noise.
This filter produces output in two forms: a deconvolved image and the parameters of the input kernel image source.
Definition at line 59 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
Classes | |
class | ParametricBlindLeastSquaresDeconvolutionDifference |
class | ParametricBlindLeastSquaresDeconvolutionImageUpdate |
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef Superclass::InternalComplexImagePointerType | InternalComplexImagePointerType |
typedef Superclass::InternalComplexImageType | InternalComplexImageType |
typedef Superclass::InternalComplexType | InternalComplexType |
typedef Superclass::InternalImagePointerType | InternalImagePointerType |
typedef Superclass::InternalImageType | InternalImageType |
typedef KernelSourceType::Pointer | KernelSourcePointer |
typedef TKernelSource | KernelSourceType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ParametricBlindLeastSquaresDeconvolutionImageFilter | Self |
typedef IterativeDeconvolutionImageFilter < TInputImage, typename TKernelSource::OutputImageType, TOutputImage > | Superclass |
Public Types inherited from itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef Superclass::InternalComplexImagePointerType | InternalComplexImagePointerType |
typedef Superclass::InternalComplexImageType | InternalComplexImageType |
typedef Superclass::InternalComplexType | InternalComplexType |
typedef Superclass::InternalImagePointerType | InternalImagePointerType |
typedef Superclass::InternalImageType | InternalImageType |
typedef TKernelSource::OutputImageType | KernelImageType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef IterativeDeconvolutionImageFilter | Self |
typedef FFTConvolutionImageFilter < TInputImage, TKernelSource::OutputImageType, TOutputImage, double > | Superclass |
Public Types inherited from itk::FFTConvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage, double > | |
typedef Superclass::BoundaryConditionPointerType | BoundaryConditionPointerType |
typedef Superclass::BoundaryConditionType | BoundaryConditionType |
typedef SmartPointer< const Self > | ConstPointer |
typedef TInputImage | InputImageType |
typedef InputImageType::IndexType | InputIndexType |
typedef InputImageType::PixelType | InputPixelType |
typedef InputImageType::RegionType | InputRegionType |
typedef InputImageType::SizeType | InputSizeType |
typedef InternalComplexImageType::Pointer | InternalComplexImagePointerType |
typedef Image < InternalComplexType, TInputImage::ImageDimension > | InternalComplexImageType |
typedef std::complex< double > | InternalComplexType |
typedef InternalImageType::Pointer | InternalImagePointerType |
typedef Image< double, TInputImage::ImageDimension > | InternalImageType |
typedef TKernelSource::OutputImageType | KernelImageType |
typedef KernelImageType::IndexType | KernelIndexType |
typedef KernelImageType::PixelType | KernelPixelType |
typedef KernelImageType::RegionType | KernelRegionType |
typedef KernelImageType::SizeType | KernelSizeType |
typedef TOutputImage | OutputImageType |
typedef OutputImageType::IndexType | OutputIndexType |
typedef OutputImageType::PixelType | OutputPixelType |
typedef OutputImageType::RegionType | OutputRegionType |
typedef OutputImageType::SizeType | OutputSizeType |
typedef SmartPointer< Self > | Pointer |
typedef FFTConvolutionImageFilter | Self |
typedef InputSizeType::SizeValueType | SizeValueType |
typedef ConvolutionImageFilterBase < TInputImage, TKernelSource::OutputImageType, TOutputImage > | Superclass |
Public Types inherited from itk::ConvolutionImageFilterBase< TInputImage, TKernelSource::OutputImageType, TOutputImage > | |
typedef BoundaryConditionType * | BoundaryConditionPointerType |
typedef ImageBoundaryCondition < TInputImage > | BoundaryConditionType |
typedef SmartPointer< const Self > | ConstPointer |
typedef ZeroFluxNeumannBoundaryCondition < TInputImage > | DefaultBoundaryConditionType |
typedef TInputImage | InputImageType |
typedef InputImageType::IndexType | InputIndexType |
typedef InputImageType::PixelType | InputPixelType |
typedef InputImageType::RegionType | InputRegionType |
typedef InputImageType::SizeType | InputSizeType |
typedef TKernelSource::OutputImageType | KernelImageType |
typedef KernelImageType::IndexType | KernelIndexType |
typedef KernelImageType::PixelType | KernelPixelType |
typedef KernelImageType::RegionType | KernelRegionType |
typedef KernelImageType::SizeType | KernelSizeType |
typedef TOutputImage | OutputImageType |
typedef OutputImageType::IndexType | OutputIndexType |
typedef OutputImageType::PixelType | OutputPixelType |
enum | OutputRegionModeType |
typedef OutputImageType::RegionType | OutputRegionType |
typedef OutputImageType::SizeType | OutputSizeType |
typedef SmartPointer< Self > | Pointer |
typedef ConvolutionImageFilterBase | Self |
typedef InputSizeType::SizeValueType | SizeValueType |
typedef ImageToImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource< TOutputImage > | Superclass |
Public Types inherited from itk::ImageSource< TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ImageSource | Self |
typedef ProcessObject | Superclass |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
Private Member Functions | |
void | operator= (const Self &) |
ParametricBlindLeastSquaresDeconvolutionImageFilter (const Self &) | |
Additional Inherited Members | |
Static Public Attributes inherited from itk::FFTConvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage, double > | |
static const unsigned int | ImageDimension |
Protected Types inherited from itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage > | |
typedef Superclass::FFTFilterType | FFTFilterType |
typedef Superclass::IFFTFilterType | IFFTFilterType |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage > | |
InternalImagePointerType | m_CurrentEstimate |
InternalComplexImagePointerType | m_TransferFunction |
typedef SmartPointer< const Self > itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::ConstPointer |
Definition at line 69 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 214 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
These are the internal filters that perform the updating of the image estimate.
Definition at line 208 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 224 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 218 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef TInputImage itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::InputImageType |
Other useful typedefs.
Definition at line 72 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef Superclass::InternalComplexImagePointerType itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::InternalComplexImagePointerType |
Definition at line 80 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef Superclass::InternalComplexImageType itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::InternalComplexImageType |
Definition at line 79 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef Superclass::InternalComplexType itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::InternalComplexType |
Definition at line 78 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef Superclass::InternalImagePointerType itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::InternalImagePointerType |
Definition at line 77 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef Superclass::InternalImageType itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::InternalImageType |
Internal types used by the FFT filters.
Definition at line 76 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef KernelSourceType::Pointer itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::KernelSourcePointer |
Definition at line 84 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef TKernelSource itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::KernelSourceType |
Type for the parametric kernel source.
Definition at line 83 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef TOutputImage itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::OutputImageType |
Definition at line 73 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef SmartPointer< Self > itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::Pointer |
Definition at line 68 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef ParametricBlindLeastSquaresDeconvolutionImageFilter itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::Self |
Standard typedefs.
Definition at line 64 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
typedef IterativeDeconvolutionImageFilter< TInputImage, typename TKernelSource::OutputImageType, TOutputImage > itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::Superclass |
Definition at line 67 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
protected |
|
protectedvirtual |
|
private |
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
protectedvirtual |
Runs after iterating.
Reimplemented from itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage >.
|
virtual |
Set/get the scale factor (also known as learning rate) for the image intensity gradient descent.
|
virtual |
Set/get the scale factor (also known as learning rate) for the parameter gradient descent.
|
virtual |
Set/get the parametric kernel source.
|
virtual |
Set/get the parametric kernel source.
|
virtual |
Runtime information support.
Reimplemented from itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage >.
|
protectedvirtual |
Runs before iterating .
Reimplemented from itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage >.
|
protectedvirtual |
Performs an iteration.
Implements itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage >.
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::IterativeDeconvolutionImageFilter< TInputImage, TKernelSource::OutputImageType, TOutputImage >.
|
virtual |
Set/get the scale factor (also known as learning rate) for the image intensity gradient descent.
|
virtual |
Set/get the scale factor (also known as learning rate) for the parameter gradient descent.
void itk::ParametricBlindLeastSquaresDeconvolutionImageFilter< TInputImage, TKernelSource, TOutputImage >::SetKernelSource | ( | KernelSourceType * | kernelSource | ) |
Set/get the parametric kernel source.
|
private |
Step sizes for the gradient descent of the image and the kernel parameters. These are very different spaces, so they deserve different step size parameters.
Definition at line 198 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 199 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 215 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 225 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 193 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Definition at line 203 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.
|
private |
Temporary images.
Definition at line 202 of file itkParametricBlindLeastSquaresDeconvolutionImageFilter.h.