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

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

A NeighborhoodOperator for taking an n-th order derivative at a pixel. More...

#include <itkDerivativeOperator.h>

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

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

Collaboration graph
[legend]

List of all members.

Public Types

typedef TAllocator AllocatorType
typedef
AllocatorType::const_iterator 
ConstIterator
typedef AllocatorType::iterator Iterator
typedef Offset< VDimension > OffsetType
typedef Superclass::PixelRealType PixelRealType
typedef Superclass::PixelType PixelType
typedef ::itk::Size< VDimension > RadiusType
typedef DerivativeOperator Self
typedef Superclass::SizeType SizeType
typedef SizeType::SizeValueType SizeValueType
typedef SliceIterator< TPixel,
Self
SliceIteratorType
typedef NeighborhoodOperator
< TPixel, VDimension,
TAllocator > 
Superclass

Public Member Functions

virtual void CreateDirectional ()
virtual void CreateToRadius (const unsigned long)
virtual void CreateToRadius (const SizeType &)
 DerivativeOperator (const Self &other)
 DerivativeOperator ()
virtual void FlipAxes ()
unsigned int GetCenterNeighborhoodIndex () const
TPixel GetCenterValue () const
unsigned long GetDirection () const
virtual unsigned int GetNeighborhoodIndex (const OffsetType &) const
OffsetType GetOffset (unsigned int i) const
unsigned int GetOrder () const
unsigned long GetRadius (const unsigned long n) const
const SizeType GetRadius () const
SizeType GetSize () const
unsigned long GetSize (const unsigned long n) const
std::slice GetSlice (unsigned int) const
unsigned GetStride (const unsigned axis) const
 itkStaticConstMacro (NeighborhoodDimension, unsigned int, VDimension)
bool operator!= (const Self &other) const
bool operator== (const Self &other) const
void Print (std::ostream &os) const
void ScaleCoefficients (PixelRealType)
void SetDirection (const unsigned long &direction)
void SetOrder (const unsigned int &order)
void SetRadius (const unsigned long)
void SetRadius (const SizeType &)
unsigned int Size () const
ConstIterator Begin () const
Iterator Begin ()
ConstIterator End () const
Iterator End ()
const AllocatorTypeGetBufferReference () const
AllocatorTypeGetBufferReference ()
TPixel & GetElement (unsigned int i)
const TPixel & operator[] (unsigned int i) const
TPixel & operator[] (unsigned int i)
Selfoperator= (const Self &other)
const TPixel & operator[] (const OffsetType &o) const
TPixel & operator[] (const OffsetType &o)
virtual void PrintSelf (std::ostream &os, Indent i) const
void SetRadius (const unsigned long *rad)

Protected Types

typedef
Superclass::CoefficientVector 
CoefficientVector

Protected Member Functions

virtual void Allocate (unsigned int i)
virtual void ComputeNeighborhoodOffsetTable ()
virtual void ComputeNeighborhoodStrideTable ()
virtual void Fill (const CoefficientVector &)=0
void Fill (const CoefficientVector &coeff)
virtual void FillCenteredDirectional (const CoefficientVector &)
CoefficientVector GenerateCoefficients ()
void InitializeToZero ()
void SetSize ()


Detailed Description

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

A NeighborhoodOperator for taking an n-th order derivative at a pixel.

DerivativeOperator's coefficients are a tightest-fitting convolution kernel for calculating the n-th order directional derivative at a pixel. DerivativeOperator is a directional NeighborhoodOperator that should be applied to a Neighborhood or NeighborhoodPointer using the inner product method.

See also:
NeighborhoodOperator

Neighborhood

ForwardDifferenceOperator

BackwardDifferenceOperator

Definition at line 45 of file itkDerivativeOperator.h.


Member Typedef Documentation

typedef TAllocator itk::Neighborhood< TPixel , VDimension, TAllocator >::AllocatorType [inherited]

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Superclass::CoefficientVector itk::DerivativeOperator< 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 96 of file itkDerivativeOperator.h.

typedef AllocatorType::const_iterator itk::Neighborhood< TPixel , VDimension, TAllocator >::ConstIterator [inherited]

typedef AllocatorType::iterator itk::Neighborhood< TPixel , VDimension, TAllocator >::Iterator [inherited]

Iterator typedef support. Note the naming is intentional, i.e., iterator and const_iterator, because the allocator may be a vnl object or other type, which uses this form.

Reimplemented in itk::BinaryBallStructuringElement< TPixel, VDimension, TAllocator >, and itk::BinaryCrossStructuringElement< TPixel, VDimension, TAllocator >.

Definition at line 74 of file itkNeighborhood.h.

typedef Offset<VDimension> itk::Neighborhood< TPixel , VDimension, TAllocator >::OffsetType [inherited]

Offset type used to reference neighbor locations

Reimplemented in itk::AnnulusOperator< TPixel, TDimension, TAllocator >, and itk::BinaryCrossStructuringElement< TPixel, VDimension, TAllocator >.

Definition at line 85 of file itkNeighborhood.h.

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

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

External support for pixel type

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

Definition at line 55 of file itkDerivativeOperator.h.

typedef ::itk::Size<VDimension> itk::Neighborhood< TPixel , VDimension, TAllocator >::RadiusType [inherited]

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

Standard class typedefs.

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

Definition at line 51 of file itkDerivativeOperator.h.

typedef Superclass::SizeType itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::SizeType [inherited]

Size object typedef support

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

Reimplemented in itk::LaplacianOperator< TPixel, VDimension, TAllocator >.

Definition at line 73 of file itkNeighborhoodOperator.h.

typedef SizeType::SizeValueType itk::Neighborhood< TPixel , VDimension, TAllocator >::SizeValueType [inherited]

typedef SliceIterator<TPixel , Self> itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::SliceIteratorType [inherited]

Slice iterator typedef support

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

Definition at line 79 of file itkNeighborhoodOperator.h.

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


Constructor & Destructor Documentation

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

Constructor.

Definition at line 59 of file itkDerivativeOperator.h.

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

Copy constructor.

Definition at line 62 of file itkDerivativeOperator.h.


Member Function Documentation

virtual void itk::Neighborhood< TPixel , VDimension, TAllocator >::Allocate ( unsigned int  i  )  [inline, protected, virtual, inherited]

Allocates the neighborhood's memory buffer.

Definition at line 243 of file itkNeighborhood.h.

ConstIterator itk::Neighborhood< TPixel , VDimension, TAllocator >::Begin ( void   )  const [inline, inherited]

STL-style iterator support.

Definition at line 159 of file itkNeighborhood.h.

Iterator itk::Neighborhood< TPixel , VDimension, TAllocator >::Begin ( void   )  [inline, inherited]

STL-style iterator support.

Definition at line 155 of file itkNeighborhood.h.

virtual void itk::Neighborhood< TPixel , VDimension, TAllocator >::ComputeNeighborhoodOffsetTable (  )  [protected, virtual, inherited]

Fills entries into the offset lookup table. Called once on initialization.

virtual void itk::Neighborhood< TPixel , VDimension, TAllocator >::ComputeNeighborhoodStrideTable (  )  [protected, virtual, inherited]

Computes the entries for the stride table

virtual void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::CreateDirectional (  )  [virtual, inherited]

Creates the operator with length only in the specified direction. The radius of the operator will be 0 except along the axis on which the operator will work.

See also:
CreateToRadius

FillCenteredDirectional

SetDirection()

GetDirection()

virtual void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::CreateToRadius ( const unsigned  long  )  [virtual, inherited]

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

virtual void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::CreateToRadius ( const SizeType  )  [virtual, inherited]

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

ConstIterator itk::Neighborhood< TPixel , VDimension, TAllocator >::End ( void   )  const [inline, inherited]

STL-style iterator support.

Definition at line 157 of file itkNeighborhood.h.

Iterator itk::Neighborhood< TPixel , VDimension, TAllocator >::End ( void   )  [inline, inherited]

STL-style iterator support.

Definition at line 153 of file itkNeighborhood.h.

virtual void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::Fill ( const CoefficientVector &   )  [protected, pure virtual, inherited]

A subclass-specific algorithm that positions the coefficients spatially in the operator.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::DerivativeOperator< TPixel, VDimension, TAllocator >::Fill ( const CoefficientVector coeff  )  [inline, protected]

Arranges coefficients spatially in the memory buffer.

Definition at line 102 of file itkDerivativeOperator.h.

virtual void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::FillCenteredDirectional ( const CoefficientVector &   )  [protected, virtual, inherited]

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.

virtual void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::FlipAxes (  )  [virtual, inherited]

Reverses the direction of all axes of the operator by reversing the order of the coefficients.

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

Calculates operator coefficients.

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

const AllocatorType& itk::Neighborhood< TPixel , VDimension, TAllocator >::GetBufferReference (  )  const [inline, inherited]

Returns a reference to the data buffer structure.

Definition at line 206 of file itkNeighborhood.h.

AllocatorType& itk::Neighborhood< TPixel , VDimension, TAllocator >::GetBufferReference (  )  [inline, inherited]

Returns a reference to the data buffer structure.

Definition at line 204 of file itkNeighborhood.h.

unsigned int itk::Neighborhood< TPixel , VDimension, TAllocator >::GetCenterNeighborhoodIndex (  )  const [inline, inherited]

Definition at line 224 of file itkNeighborhood.h.

TPixel itk::Neighborhood< TPixel , VDimension, TAllocator >::GetCenterValue (  )  const [inline, inherited]

Returns the element at the center of the neighborhood.

Definition at line 177 of file itkNeighborhood.h.

unsigned long itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::GetDirection (  )  const [inline, inherited]

Returns the direction (dimension number) of a directional operator.

Definition at line 104 of file itkNeighborhoodOperator.h.

TPixel & itk::Neighborhood< TPixel , VDimension, TAllocator >::GetElement ( unsigned int  i  )  [inline, inherited]

Pass-through data access methods to the buffer.

Definition at line 172 of file itkNeighborhood.h.

virtual unsigned int itk::Neighborhood< TPixel , VDimension, TAllocator >::GetNeighborhoodIndex ( const OffsetType  )  const [virtual, inherited]

OffsetType itk::Neighborhood< TPixel , VDimension, TAllocator >::GetOffset ( unsigned int  i  )  const [inline, inherited]

Returns the itk::Offset from the center of the Neighborhood to the requested neighbor index.

Definition at line 219 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned int itk::DerivativeOperator< TPixel, VDimension, TAllocator >::GetOrder (  )  const [inline]

Returns the order of the derivative.

Definition at line 82 of file itkDerivativeOperator.h.

unsigned long itk::Neighborhood< TPixel , VDimension, TAllocator >::GetRadius ( const unsigned long  n  )  const [inline, inherited]

Returns the radius of the neighborhood along a specified dimension.

Definition at line 134 of file itkNeighborhood.h.

const SizeType itk::Neighborhood< TPixel , VDimension, TAllocator >::GetRadius ( void   )  const [inline, inherited]

Returns the radius of the neighborhood.

Definition at line 129 of file itkNeighborhood.h.

SizeType itk::Neighborhood< TPixel , VDimension, TAllocator >::GetSize ( void   )  const [inline, inherited]

Returns the size (total length of sides) of the neighborhood.

Definition at line 143 of file itkNeighborhood.h.

unsigned long itk::Neighborhood< TPixel , VDimension, TAllocator >::GetSize ( const unsigned long  n  )  const [inline, inherited]

Returns the size (total length) of the neighborhood along a specified dimension.

Definition at line 139 of file itkNeighborhood.h.

std::slice itk::Neighborhood< TPixel , VDimension, TAllocator >::GetSlice ( unsigned  int  )  const [inherited]

unsigned itk::Neighborhood< TPixel , VDimension, TAllocator >::GetStride ( const unsigned  axis  )  const [inline, inherited]

Returns the stride length for the specified dimension. Stride length is the number of pixels between adjacent pixels along the given dimension.

Definition at line 149 of file itkNeighborhood.h.

void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::InitializeToZero (  )  [inline, protected, inherited]

Initializes all the coefficients in the neighborhood to zero values

Definition at line 164 of file itkNeighborhoodOperator.h.

itk::Neighborhood< TPixel , VDimension, TAllocator >::itkStaticConstMacro ( NeighborhoodDimension  ,
unsigned  int,
VDimension   
) [inherited]

bool itk::Neighborhood< TPixel , VDimension, TAllocator >::operator!= ( const Self other  )  const [inline, inherited]

Not Equal operator.

Definition at line 121 of file itkNeighborhood.h.

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

Assignment operator

Definition at line 67 of file itkDerivativeOperator.h.

bool itk::Neighborhood< TPixel , VDimension, TAllocator >::operator== ( const Self other  )  const [inline, inherited]

Comparison operator.

Definition at line 113 of file itkNeighborhood.h.

const TPixel & itk::Neighborhood< TPixel , VDimension, TAllocator >::operator[] ( const OffsetType o  )  const [inline, inherited]

Get pixel value by offset

Definition at line 213 of file itkNeighborhood.h.

TPixel & itk::Neighborhood< TPixel , VDimension, TAllocator >::operator[] ( const OffsetType o  )  [inline, inherited]

Get pixel value by offset

Definition at line 211 of file itkNeighborhood.h.

const TPixel & itk::Neighborhood< TPixel , VDimension, TAllocator >::operator[] ( unsigned int  i  )  const [inline, inherited]

Pass-through data access methods to the buffer.

Definition at line 170 of file itkNeighborhood.h.

TPixel & itk::Neighborhood< TPixel , VDimension, TAllocator >::operator[] ( unsigned int  i  )  [inline, inherited]

Pass-through data access methods to the buffer.

Definition at line 168 of file itkNeighborhood.h.

void itk::Neighborhood< TPixel , VDimension, TAllocator >::Print ( std::ostream &  os  )  const [inline, inherited]

Standard itk object method.

Definition at line 200 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::DerivativeOperator< 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 85 of file itkDerivativeOperator.h.

void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::ScaleCoefficients ( PixelRealType   )  [inherited]

Multiplies all of the coefficients of the kernel by a single scalar value.

void itk::NeighborhoodOperator< TPixel , VDimension, TAllocator >::SetDirection ( const unsigned long &  direction  )  [inline, inherited]

Sets the dimensional direction of a directional operator.

Definition at line 100 of file itkNeighborhoodOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::DerivativeOperator< TPixel, VDimension, TAllocator >::SetOrder ( const unsigned int &  order  )  [inline]

Sets the order of the derivative.

Definition at line 76 of file itkDerivativeOperator.h.

void itk::Neighborhood< TPixel , VDimension, TAllocator >::SetRadius ( const unsigned  long  )  [inherited]

Overloads SetRadius to allow a single long integer argument that is used as the radius of all the dimensions of the Neighborhood (resulting in a "square" neighborhood).

void itk::Neighborhood< TPixel , VDimension, TAllocator >::SetRadius ( const unsigned long *  rad  )  [inline, inherited]

Sets the radius for the neighborhood. Overloaded to support an unsigned long array.

Definition at line 186 of file itkNeighborhood.h.

void itk::Neighborhood< TPixel , VDimension, TAllocator >::SetRadius ( const SizeType  )  [inherited]

Sets the radius for the neighborhood, calculates size from the radius, and allocates storage.

void itk::Neighborhood< TPixel , VDimension, TAllocator >::SetSize (  )  [inline, protected, inherited]

Sets the length along each dimension.

Definition at line 233 of file itkNeighborhood.h.

unsigned int itk::Neighborhood< TPixel , VDimension, TAllocator >::Size ( void   )  const [inline, inherited]

More STL-style support.

Definition at line 164 of file itkNeighborhood.h.


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

Generated at Tue Sep 15 07:48:16 2009 for ITK by doxygen 1.5.8 written by Dimitri van Heesch, © 1997-2000