Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::LaplacianOperator< TPixel, VDimension, TAllocator > Class Template Reference
[Operators]

#include <itkLaplacianOperator.h>

Inheritance diagram for itk::LaplacianOperator< TPixel, VDimension, TAllocator >:

Inheritance graph
[legend]
Collaboration diagram for itk::LaplacianOperator< TPixel, VDimension, TAllocator >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LaplacianOperator Self
typedef NeighborhoodOperator<
TPixel, VDimension, TAllocator > 
Superclass
typedef Superclass::PixelType PixelType
typedef Superclass::SizeType SizeType

Public Member Functions

void CreateOperator ()
void SetDerivativeScalings (const double *s)
 LaplacianOperator ()
 LaplacianOperator (const Self &other)
Selfoperator= (const Self &other)
virtual void PrintSelf (std::ostream &os, Indent i) const

Protected Types

typedef Superclass::CoefficientVector CoefficientVector

Protected Member Functions

CoefficientVector GenerateCoefficients ()
void Fill (const CoefficientVector &)

Detailed Description

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
class itk::LaplacianOperator< TPixel, VDimension, TAllocator >

A NeighborhoodOperator for use in calculating the Laplacian at a pixel. The LaplacianOperator's coefficients are a tightest-fitting convolution kernel.

For example, the simplest Laplacian Operator for 2D has the form:

              0   1   0  
              1  -4   1
              0   1   0

The LaplacianOperator is a non-directional NeighborhoodOperator that should be applied to a Neighborhood or NeighborhoodIterator using an inner product method (itkNeighborhoodInnerProduct). To initialize the operator, you need call CreateOperator() before using it.
By default the operator will be created for an isotropic image, but you can modify the operator to handle different pixel spacings by calling SetDerivativeScalings. The argument to SetDerivativeScalings is an array of doubles that is of length VDimension (the dimensionality of the image). Make sure to use 1/pixel_spacing to properly scale derivatives.
See also:
NeighborhoodOperator

Neighborhood

Definition at line 57 of file itkLaplacianOperator.h.


Member Typedef Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Superclass::CoefficientVector itk::LaplacianOperator< TPixel, VDimension, TAllocator >::CoefficientVector [protected]
 

Typedef support for coefficient vector type. Necessary to work around compiler bug on VC++.

Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 121 of file itkLaplacianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Superclass::PixelType itk::LaplacianOperator< TPixel, VDimension, TAllocator >::PixelType
 

External support for pixel type

Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 68 of file itkLaplacianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef LaplacianOperator itk::LaplacianOperator< TPixel, VDimension, TAllocator >::Self
 

Standard "Self" typedef support.

Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 63 of file itkLaplacianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Superclass::SizeType itk::LaplacianOperator< TPixel, VDimension, TAllocator >::SizeType
 

Size object typedef support

Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 69 of file itkLaplacianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef NeighborhoodOperator<TPixel, VDimension, TAllocator> itk::LaplacianOperator< TPixel, VDimension, TAllocator >::Superclass
 

Standard "Superclass" typedef.

Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 66 of file itkLaplacianOperator.h.


Constructor & Destructor Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
itk::LaplacianOperator< TPixel, VDimension, TAllocator >::LaplacianOperator  )  [inline]
 

Default constructor

Definition at line 72 of file itkLaplacianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
itk::LaplacianOperator< TPixel, VDimension, TAllocator >::LaplacianOperator const Self other  )  [inline]
 

Copy constructor

Definition at line 82 of file itkLaplacianOperator.h.


Member Function Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::LaplacianOperator< TPixel, VDimension, TAllocator >::CreateOperator  ) 
 

This function is called to create the operator

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::LaplacianOperator< TPixel, VDimension, TAllocator >::Fill const CoefficientVector  )  [protected, virtual]
 

Arranges coefficients spatially in the memory buffer, default function was NOT used.

Implements itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
CoefficientVector itk::LaplacianOperator< TPixel, VDimension, TAllocator >::GenerateCoefficients  )  [protected, virtual]
 

Calculates operator coefficients.

Implements itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Self& itk::LaplacianOperator< TPixel, VDimension, TAllocator >::operator= const Self other  )  [inline]
 

Assignment operator

Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 97 of file itkLaplacianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::LaplacianOperator< TPixel, VDimension, TAllocator >::PrintSelf std::ostream &  os,
Indent  i
const [inline, virtual]
 

Prints some debugging information

Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.

Definition at line 105 of file itkLaplacianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::LaplacianOperator< TPixel, VDimension, TAllocator >::SetDerivativeScalings const double *  s  ) 
 

Sets the weights that are applied to the derivative in each axial direction when the kernel is computed. These weights are all 1.0 by default. This method must be called BEFORE CreateOperator


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:34:19 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000