ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Private Attributes
itk::DerivativeOperator< TPixel, VDimension, TAllocator > Class Template Reference

#include <itkDerivativeOperator.h>

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

List of all members.

Public Types

typedef Superclass::PixelRealType PixelRealType
typedef Superclass::PixelType PixelType
typedef DerivativeOperator Self
typedef NeighborhoodOperator
< TPixel, VDimension,
TAllocator > 
Superclass
- Public Types inherited from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >
typedef Superclass::SizeType SizeType
typedef SliceIterator< TPixel,
Self
SliceIteratorType
- Public Types inherited from itk::Neighborhood< TPixel, VDimension, TAllocator >
typedef TAllocator AllocatorType
typedef
AllocatorType::const_iterator 
ConstIterator
typedef unsigned int DimensionValueType
typedef AllocatorType::iterator Iterator
typedef SizeValueType NeighborIndexType
typedef Offset< VDimension > OffsetType
typedef SizeType::SizeValueType SizeValueType

Public Member Functions

 DerivativeOperator ()
 DerivativeOperator (const Self &other)
unsigned int GetOrder () const
void SetOrder (const unsigned int &order)
Selfoperator= (const Self &other)
virtual void PrintSelf (std::ostream &os, Indent i) const
- Public Member Functions inherited from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >
virtual void CreateDirectional ()
virtual void CreateToRadius (const SizeType &)
virtual void CreateToRadius (const SizeValueType)
virtual void FlipAxes ()
unsigned long GetDirection () const
 NeighborhoodOperator ()
 NeighborhoodOperator (const Self &orig)
void ScaleCoefficients (PixelRealType)
void SetDirection (const unsigned long &direction)
Selfoperator= (const Self &orig)
- Public Member Functions inherited from itk::Neighborhood< TPixel, VDimension, TAllocator >
NeighborIndexType GetCenterNeighborhoodIndex () const
TPixel GetCenterValue () const
virtual NeighborIndexType GetNeighborhoodIndex (const OffsetType &) const
OffsetType GetOffset (NeighborIndexType i) const
const SizeType GetRadius () const
SizeValueType GetRadius (DimensionValueType n) const
SizeValueType GetSize (DimensionValueType n) const
SizeType GetSize () const
std::slice GetSlice (unsigned int) const
OffsetValueType GetStride (DimensionValueType axis) const
 Neighborhood (const Self &other)
bool operator!= (const Self &other) const
bool operator== (const Self &other) const
void Print (std::ostream &os) const
void SetRadius (const SizeType &)
void SetRadius (const SizeValueType *rad)
void SetRadius (const SizeValueType)
NeighborIndexType Size () const
virtual ~Neighborhood ()
 Neighborhood ()
Iterator End ()
Iterator Begin ()
ConstIterator End () const
ConstIterator Begin () const
TPixel & operator[] (NeighborIndexType i)
const TPixel & operator[] (NeighborIndexType i) const
TPixel & GetElement (NeighborIndexType i)
AllocatorTypeGetBufferReference ()
const AllocatorTypeGetBufferReference () const
TPixel & operator[] (const OffsetType &o)
const TPixel & operator[] (const OffsetType &o) const

Protected Types

typedef
Superclass::CoefficientVector 
CoefficientVector
- Protected Types inherited from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >

Protected Member Functions

void Fill (const CoefficientVector &coeff)
CoefficientVector GenerateCoefficients ()
- Protected Member Functions inherited from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >
virtual void FillCenteredDirectional (const CoefficientVector &)
void InitializeToZero ()
- Protected Member Functions inherited from itk::Neighborhood< TPixel, VDimension, TAllocator >
virtual void Allocate (NeighborIndexType i)
virtual void ComputeNeighborhoodOffsetTable ()
virtual void ComputeNeighborhoodStrideTable ()
void SetSize ()

Private Attributes

unsigned int m_Order

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.

An example operator to compute X derivatives of a 2D image can be created with:

typedef itk::DerivativeOperator<float, 2> DerivativeOperatorType;
DerivativeOperatorType derivativeOperator;
derivativeOperator.SetDirection(0); // X dimension
itk::Size<2> radius;
radius.Fill(1); // A radius of 1 in both dimensions is a 3x3 operator
derivativeOperator.CreateToRadius(radius);

and creates a kernel that looks like:

0 0 0
0.5 0 -0.5
0 0 0
See also:
NeighborhoodOperator
Neighborhood
ForwardDifferenceOperator
BackwardDifferenceOperator
Wiki Examples:

Definition at line 67 of file itkDerivativeOperator.h.


Member Typedef Documentation

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 118 of file itkDerivativeOperator.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 77 of file itkDerivativeOperator.h.

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 73 of file itkDerivativeOperator.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 81 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 84 of file itkDerivativeOperator.h.


Member Function Documentation

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

Arranges coefficients spatially in the memory buffer.

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

Definition at line 124 of file itkDerivativeOperator.h.

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

Calculates operator coefficients.

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

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 104 of file itkDerivativeOperator.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 89 of file itkDerivativeOperator.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
inlinevirtual

Prints some debugging information

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

Definition at line 107 of file itkDerivativeOperator.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 98 of file itkDerivativeOperator.h.


Member Data Documentation

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

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