ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions
itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage > Class Template Reference

#include <itkProjectedLandweberDeconvolutionImageFilter.h>

+ Inheritance diagram for itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >:
+ Collaboration diagram for itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef TInputImage InputImageType
typedef TKernelImage KernelImageType
typedef TOutputImage OutputImageType
typedef SmartPointer< SelfPointer
typedef
ProjectedLandweberDeconvolutionImageFilter 
Self
typedef
ProjectedIterativeDeconvolutionImageFilter
< LandweberDeconvolutionImageFilter
< TInputImage, TKernelImage,
TOutputImage > > 
Superclass

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual const char * GetNameOfClass () const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 ProjectedLandweberDeconvolutionImageFilter ()
virtual ~ProjectedLandweberDeconvolutionImageFilter ()

Private Member Functions

void operator= (const Self &)
 ProjectedLandweberDeconvolutionImageFilter (const Self &)

Detailed Description

template<class TInputImage, class TKernelImage = TInputImage, class TOutputImage = TInputImage>
class itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >

Deconvolve an image using the projected Landweber deconvolution algorithm.

This filter performs the same calculation per iteration as the LandweberDeconvolutionImageFilter. However, at each iteration, negative pixels in the intermediate result are projected (set) to zero. This is useful if the solution is assumed to always be non-negative, which is the case when dealing with images formed by counting photons, for example.

This code was adapted from the Insight Journal contribution:

"Deconvolution: infrastructure and reference algorithms" by Gaetan Lehmann http://hdl.handle.net/10380/3207

Author:
Gaeten Lehmann, Biologie du Developpement et de la Reproduction, INRA de Jouy-en-Josas, France
Cory Quammen, The University of North Carolina at Chapel Hill
See also:
IterativeDeconvolutionImageFilter
RichardsonLucyDeconvolutionImageFilter
LandweberDeconvolutionImageFilter

Definition at line 52 of file itkProjectedLandweberDeconvolutionImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
typedef SmartPointer< const Self > itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ConstPointer
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
typedef TInputImage itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::InputImageType
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
typedef TKernelImage itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::KernelImageType
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
typedef TOutputImage itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::OutputImageType
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
typedef SmartPointer< Self > itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::Pointer
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
typedef ProjectedLandweberDeconvolutionImageFilter itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::Self
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
typedef ProjectedIterativeDeconvolutionImageFilter< LandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage > > itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ProjectedLandweberDeconvolutionImageFilter ( ) [protected]
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
virtual itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::~ProjectedLandweberDeconvolutionImageFilter ( ) [protected, virtual]
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::ProjectedLandweberDeconvolutionImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
virtual::itk::LightObject::Pointer itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::CreateAnother ( void  ) const [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::ProjectedIterativeDeconvolutionImageFilter< LandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage > >.

template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
virtual const char* itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::GetNameOfClass ( ) const [virtual]
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
static Pointer itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::New ( ) [static]
template<class TInputImage , class TKernelImage = TInputImage, class TOutputImage = TInputImage>
void itk::ProjectedLandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::ProjectedIterativeDeconvolutionImageFilter< LandweberDeconvolutionImageFilter< TInputImage, TKernelImage, TOutputImage > >.


The documentation for this class was generated from the following file: