Main Page
Groups
Namespace List
Class Hierarchy
Alphabetical List
Compound List
File
List
Namespace Members
Compound Members
File Members
Concepts
itk::NeighborhoodOperator< TPixel, VDimension, TAllocator > Class Template Reference
[Operators]
Virtual class that defines a common interface to all neighborhood operator subtypes.
More...
#include <itkNeighborhoodOperator.h>
Inheritance diagram for itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >:
[legend]Collaboration diagram for itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >:
[legend]List of all members.
Detailed Description
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
class itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >
Virtual class that defines a common interface to all neighborhood operator subtypes.
A NeighborhoodOperator is a set of pixel values that can be applied to a Neighborhood to perform a user-defined operation (i.e. convolution kernel, morphological structuring element). A NeighborhoodOperator is itself a specialized Neighborhood, with functionality to generate its coefficients according to user-defined parameters. Because the operator is a subclass of Neighborhood, it is a valid operand in any of the operations defined on the Neighborhood object (convolution, inner product, etc.).
NeighborhoodOperator is a pure virtual object that must be subclassed to be used. A user's subclass must implement two methods:
(1) GenerateScalarCoefficients -- the algorithm that computes the scalar coefficients of the operator.
(2) ScalarFill -- the algorithm that places the scalar coefficients into the memory buffer of the operator (arranges them spatially in the neighborhood).
NeighborhoodOperator supports the concept of a "directional operator." A directional operator is defined in this context to be an operator that is applied along a single dimension. Examples of this type of operator are directional derivatives and the individual, directional components of separable processes such as Gaussian smoothing.
How a NeighborhoodOperator is applied to data is up to the user who defines it. One possible use of an operator would be to take its inner product with a neighborhood of values to produce a scalar result. This process effects convolution when applied to successive neighborhoods across a region of interest in an image.
Definition at line 64 of file itkNeighborhoodOperator.h.
Member Typedef Documentation
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
typedef std::vector<double> itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::CoefficientVector [protected] |
|
|
|
Typedef support for coefficient vector type. Necessary to fix bug in the microsoft VC++ compiler.
Reimplemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>.
Definition at line 146 of file itkNeighborhoodOperator.h. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| typedef NumericTraits< TPixel >::RealType itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::PixelRealType |
|
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| typedef TPixel itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::PixelType |
|
|
|
External support for pixel type
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Reimplemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>.
Definition at line 76 of file itkNeighborhoodOperator.h. |
|
|
Standard class typedefs.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Reimplemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>.
Definition at line 69 of file itkNeighborhoodOperator.h. |
|
|
Reimplemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>.
Definition at line 70 of file itkNeighborhoodOperator.h. |
Constructor & Destructor Documentation
Member Function Documentation
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::CreateDirectional |
( |
|
) |
[virtual] |
|
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::CreateToRadius |
( |
const unsigned |
long |
) |
[virtual] |
|
|
|
Creates the operator with a specified radius ("square", same length on each side). The spatial location of the coefficients within the operator is defined by the subclass implementation of the Fill method. - See also:
- CreateDirectional
Fill
|
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::CreateToRadius |
( |
const SizeType & |
|
) |
[virtual] |
|
|
|
Creates the operator with a specified radius. The spatial location of the coefficients within the operator is defined by the subclass implementation of the Fill method. - See also:
- CreateDirectional
Fill
|
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::Fill |
( |
const CoefficientVector & |
|
) |
[protected, pure virtual] |
|
|
|
A subclass-specific algorithm that positions the coefficients spatially in the operator.
Implemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::FillCenteredDirectional |
( |
const CoefficientVector & |
|
) |
[protected, virtual] |
|
|
|
A pre-defined Fill function that can be called by a subclass Fill function to center coefficients along the axis specified by the SetDirection method. Useful for creating directional operators, or centering coefficients in an N-dimensional neighborhood. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::FlipAxes |
( |
|
) |
[virtual] |
|
|
|
Reverses the direction of all axes of the operator by reversing the order of the coefficients. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual CoefficientVector itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::GenerateCoefficients |
( |
|
) |
[protected, pure virtual] |
|
|
|
A subclass-specific algorithm that computes the coefficients of the operator.
Implemented in itk::BackwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| unsigned long itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::GetDirection |
( |
|
) |
const [inline] |
|
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::InitializeToZero |
( |
|
) |
[inline, protected] |
|
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| Self& itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::operator= |
( |
const Self & |
orig |
) |
[inline] |
|
|
|
Assignment operator.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Reimplemented in itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::ForwardDifferenceOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>.
Definition at line 91 of file itkNeighborhoodOperator.h. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| virtual void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::PrintSelf |
( |
std::ostream & |
os, |
|
|
Indent |
i |
|
) |
const [inline, virtual] |
|
|
|
Prints some debugging information.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Reimplemented in itk::DerivativeOperator< TPixel, VDimension, TAllocator >, itk::GaussianOperator< TPixel, VDimension, TAllocator >, itk::LaplacianOperator< TPixel, VDimension, TAllocator >, itk::DerivativeOperator< ScalarValueType, itkGetStaticConstMacro(ImageDimension)>, itk::DerivativeOperator< OutputImagePixelType, itkGetStaticConstMacro(ImageDimension)>, and itk::DerivativeOperator< PixelType, itkGetStaticConstMacro(ImageDimension)>.
Definition at line 130 of file itkNeighborhoodOperator.h. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::ScaleCoefficients |
( |
PixelRealType |
|
) |
|
|
|
|
Multiplies all of the coefficients of the kernel by a single scalar value. |
|
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>> |
| void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::SetDirection |
( |
const unsigned long & |
direction |
) |
[inline] |
|
The documentation for this class was generated from the following file:
Generated at Tue Aug 30 17:05:06 2005 for ITK by
1.4.1 written by Dimitri van Heesch,
© 1997-2000