Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions

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

A NeighborhoodOperator whose coefficients are a one dimensional, discrete derivative Gaussian kernel. More...

#include <itkGaussianDerivativeOperator.h>

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

List of all members.

Public Types

typedef TAllocator AllocatorType
typedef
AllocatorType::const_iterator 
ConstIterator
typedef DerivativeOperator
< TPixel, VDimension,
TAllocator > 
DerivativeOperatorType
typedef GaussianOperator
< TPixel, VDimension,
TAllocator > 
GaussianOperatorType
typedef AllocatorType::iterator Iterator
typedef Offset< VDimension > OffsetType
typedef NumericTraits< TPixel >
::RealType 
PixelRealType
typedef TPixel PixelType
typedef ::itk::Size< VDimension > RadiusType
typedef GaussianDerivativeOperator 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 SizeType &)
virtual void CreateToRadius (const unsigned long)
virtual void FlipAxes ()
 GaussianDerivativeOperator ()
unsigned int GetCenterNeighborhoodIndex () const
TPixel GetCenterValue () const
unsigned long GetDirection () const
double GetMaximumError ()
unsigned int GetMaximumKernelWidth () const
virtual unsigned int GetNeighborhoodIndex (const OffsetType &) const
OffsetType GetOffset (unsigned int i) const
unsigned int GetOrder () const
const SizeType GetRadius () const
unsigned long GetRadius (const unsigned long n) const
unsigned long GetSize (const unsigned long n) const
SizeType GetSize () const
std::slice GetSlice (unsigned int) const
unsigned GetStride (const unsigned axis) const
double GetVariance ()
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 SetMaximumKernelWidth (unsigned int n)
void SetOrder (const unsigned int order)
void SetRadius (const SizeType &)
void SetRadius (const unsigned long)
void SetSpacing (const double spacing)
void SetVariance (const double variance)
unsigned int Size () const

 GaussianDerivativeOperator (const Self &other)

Selfoperator= (const Self &other)

void SetUseDerivativeOperator (bool flag)
bool GetUseDerivativeOperator () const
virtual void UseDerivativeOperatorOn ()
virtual void UseDerivativeOperatorOff ()

void SetNormalizeAcrossScale (bool flag)
bool GetNormalizeAcrossScale () const
virtual void NormalizeAcrossScaleOn ()
virtual void NormalizeAcrossScaleOff ()

void SetMaximumError (const double maxerror)

virtual void PrintSelf (std::ostream &os, Indent i) const

Iterator End ()
ConstIterator End () const
Iterator Begin ()
ConstIterator Begin () const

TPixel & operator[] (unsigned int i)
const TPixel & operator[] (unsigned int i) const
TPixel & GetElement (unsigned int i)

TPixel & operator[] (const OffsetType &o)
const TPixel & operator[] (const OffsetType &o) const

void SetRadius (const unsigned long *rad)

AllocatorTypeGetBufferReference ()
const AllocatorTypeGetBufferReference () const

Static Public Attributes

static const unsigned int NeighborhoodDimension = VDimension

Protected Types

typedef
Superclass::CoefficientVector 
CoefficientVector

Protected Member Functions

virtual void Allocate (unsigned int i)
virtual void ComputeNeighborhoodOffsetTable ()
virtual void ComputeNeighborhoodStrideTable ()
void Fill (const CoefficientVector &coeff)
virtual void FillCenteredDirectional (const CoefficientVector &)
CoefficientVector GenerateCoefficients ()
double ModifiedBesselI (int, double)
double ModifiedBesselI0 (double)
double ModifiedBesselI1 (double)

void InitializeToZero ()

void SetSize ()

Detailed Description

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

A NeighborhoodOperator whose coefficients are a one dimensional, discrete derivative Gaussian kernel.

GaussianDerivativeOperator can be used to calculate Gaussian derivatives by taking its inner product with to a Neighborhood (NeighborhooIterator) that is swept across an image region. It is a directional operator. N successive applications oriented along each dimensional direction will calculate separable, efficient, N-D Gaussian derivatives of an image region.

GaussianDerivativeOperator takes three parameters:

(1) The floating-point variance of the desired Gaussian function.

(2) The order of the derivative to be calculated (zero order means it performs only smoothing as a standard itk::GaussianOperator)

(3) The "maximum error" allowed in the discrete Gaussian function. "Maximum errror" is defined as the difference between the area under the discrete Gaussian curve and the area under the continuous Gaussian. Maximum error affects the Gaussian operator size. Care should be taken not to make this value too small relative to the variance lest the operator size become unreasonably large.

References: The Gaussian kernel contained in this operator was described by Tony Lindeberg (Discrete Scale-Space Theory and the Scale-Space Primal Sketch. Dissertation. Royal Institute of Technology, Stockholm, Sweden. May 1991.).

Author:
Ivan Macia, VICOMTech, Spain, http://www.vicomtech.es

This implementation was taken from the Insight Journal paper: http://hdl.handle.net/1926/1290

See also:
GaussianOperator
NeighborhoodOperator
NeighborhoodIterator
Neighborhood

Definition at line 74 of file itkGaussianDerivativeOperator.h.


Member Typedef Documentation

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

Typedef support for coefficient vector type. Necessary to fix bug in the microsoft VC++ compiler.

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

Definition at line 226 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef AllocatorType::const_iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::ConstIterator [inherited]
template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef DerivativeOperator<TPixel, VDimension, TAllocator> itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::DerivativeOperatorType

Definition at line 85 of file itkGaussianDerivativeOperator.h.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef GaussianOperator<TPixel, VDimension, TAllocator> itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::GaussianOperatorType

Neighborhood operator types.

Definition at line 84 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef AllocatorType::iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Iterator [inherited]
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Offset<VDimension> itk::Neighborhood< TPixel, VDimension, TAllocator >::OffsetType [inherited]
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef NumericTraits< TPixel >::RealType itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::PixelRealType [inherited]
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef TPixel itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::PixelType [inherited]
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef ::itk::Size<VDimension> itk::Neighborhood< TPixel, VDimension, TAllocator >::RadiusType [inherited]
template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef GaussianDerivativeOperator itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::Self

Standard class typedefs.

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

Definition at line 80 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef Superclass::SizeType itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::SizeType [inherited]
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
typedef SizeType::SizeValueType itk::Neighborhood< TPixel, VDimension, TAllocator >::SizeValueType [inherited]
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
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::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::Superclass

Constructor & Destructor Documentation

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

Constructor.

Definition at line 88 of file itkGaussianDerivativeOperator.h.

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

Copy constructor

Definition at line 100 of file itkGaussianDerivativeOperator.h.


Member Function Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin ( void   )  const [inline, inherited]
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin ( void   )  [inline, inherited]

STL-style iterator support.

Reimplemented in itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, and itk::ShapedNeighborhoodIterator< ImageType >.

Definition at line 155 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::ComputeNeighborhoodOffsetTable (  )  [protected, virtual, inherited]

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

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::Neighborhood< TPixel, VDimension, TAllocator >::ComputeNeighborhoodStrideTable (  )  [protected, virtual, inherited]

Computes the entries for the stride table

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
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()

Reimplemented in itk::SobelOperator< TPixel, VDimension, TAllocator >, itk::SobelOperator< FixedGradientPixelType, itkGetStaticConstMacro(FixedImageDimension) >, and itk::SobelOperator< MovedGradientPixelType, itkGetStaticConstMacro(MovedImageDimension) >.

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
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
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
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
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End ( void   )  const [inline, inherited]
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End ( void   )  [inline, inherited]

STL-style iterator support.

Reimplemented in itk::ShapedNeighborhoodIterator< TImage, TBoundaryCondition >, and itk::ShapedNeighborhoodIterator< ImageType >.

Definition at line 153 of file itkNeighborhood.h.

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

Arranges coefficients spatially in the memory buffer.

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

Definition at line 243 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
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::GaussianDerivativeOperator< 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>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

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

Definition at line 224 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned long itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::GetDirection ( void   )  const [inline, inherited]

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

Definition at line 104 of file itkNeighborhoodOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

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

Returns the maximum error of the gaussian approximation. Maximum error is the difference between the area under the discrete Gaussian curve and the area under the continuous Gaussian. Maximum error affects the Gaussian operator size.

Definition at line 185 of file itkGaussianDerivativeOperator.h.

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

Returns the maximum allowed kernel width.

Definition at line 197 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::GetNeighborhoodIndex ( const OffsetType  )  const [virtual, inherited]
template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
bool itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::GetNormalizeAcrossScale (  )  const [inline]

Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.

Definition at line 153 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::GetOrder (  )  const [inline]

Returns the order of the derivative.

Definition at line 206 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
std::slice itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSlice ( unsigned  int  )  const [inherited]
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

Referenced by itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize().

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

Set/Get the flag for choosing the implementation. If we choose to use itk::DerivativeOperator, then the derivative Gaussian kernel is calculated as a convolution with the itk::DerivativeOperator of the desired order. Otherwise a polynomial is computed analitically for the derivative of the Gaussian.

Definition at line 140 of file itkGaussianDerivativeOperator.h.

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

Returns the variance of the Gaussian (scale) for the operator.

Definition at line 179 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
double itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::ModifiedBesselI ( int  ,
double   
) [protected]

Returns the value of the modified Bessel function Ik(x) at a point x>=0, where k>=2.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
double itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::ModifiedBesselI0 ( double   )  [protected]

Returns the value of the modified Bessel function I0(x) at a point x >= 0.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
double itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::ModifiedBesselI1 ( double   )  [protected]

Returns the value of the modified Bessel function I1(x) at a point x, x real.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::NormalizeAcrossScaleOff (  )  [virtual]

Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::NormalizeAcrossScaleOn (  )  [virtual]

Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::operator= ( const Self other  )  [inline]

Assignment operator

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

Definition at line 114 of file itkGaussianDerivativeOperator.h.

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

Comparison operator.

Definition at line 113 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

Referenced by itk::Neighborhood< PixelType, itkGetStaticConstMacro(ImageDimension)>::operator[]().

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

Referenced by itk::Neighborhood< PixelType, itkGetStaticConstMacro(ImageDimension)>::operator[]().

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::PrintSelf ( std::ostream &  os,
Indent  i 
) const [inline, virtual]
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::ScaleCoefficients ( PixelRealType   )  [inherited]

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, 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::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::SetMaximumError ( const double  maxerror  )  [inline]

Sets the desired maximum error of the gaussian approximation. Maximum error is the difference between the area under the discrete Gaussian curve and the area under the continuous Gaussian. Maximum error affects the Gaussian operator size. The value is clamped between 0.00001 and 0.99999.

Definition at line 170 of file itkGaussianDerivativeOperator.h.

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

Sets a limit for growth of the kernel. Small maximum error values with large variances will yield very large kernel sizes. This value can be used to truncate a kernel in such instances. A warning will be given on truncation of the kernel.

Definition at line 191 of file itkGaussianDerivativeOperator.h.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::SetNormalizeAcrossScale ( bool  flag  )  [inline]

Set/Get the flag for calculating scale-space normalized derivatives. Normalized derivatives are obtained multiplying by the scale parameter t.

Definition at line 146 of file itkGaussianDerivativeOperator.h.

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

Sets the order of the derivative.

Definition at line 200 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius ( const SizeType  )  [inherited]

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

Referenced by itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize().

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
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).

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetSize (  )  [inline, protected, inherited]

Sets the length along each dimension.

Definition at line 233 of file itkNeighborhood.h.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::SetSpacing ( const double  spacing  )  [inline]

Sets the spacing for the direction of this kernel.

Definition at line 161 of file itkGaussianDerivativeOperator.h.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::SetUseDerivativeOperator ( bool  flag  )  [inline]

Set/Get the flag for choosing the implementation. If we choose to use itk::DerivativeOperator, then the derivative Gaussian kernel is calculated as a convolution with the itk::DerivativeOperator of the desired order. Otherwise a polynomial is computed analitically for the derivative of the Gaussian.

Definition at line 133 of file itkGaussianDerivativeOperator.h.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::SetVariance ( const double  variance  )  [inline]

Sets the desired variance of the Gaussian kernel.

Definition at line 158 of file itkGaussianDerivativeOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::Size ( void   )  const [inline, inherited]
template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::UseDerivativeOperatorOff (  )  [virtual]

Set/Get the flag for choosing the implementation. If we choose to use itk::DerivativeOperator, then the derivative Gaussian kernel is calculated as a convolution with the itk::DerivativeOperator of the desired order. Otherwise a polynomial is computed analitically for the derivative of the Gaussian.

template<class TPixel , unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
virtual void itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::UseDerivativeOperatorOn (  )  [virtual]

Set/Get the flag for choosing the implementation. If we choose to use itk::DerivativeOperator, then the derivative Gaussian kernel is calculated as a convolution with the itk::DerivativeOperator of the desired order. Otherwise a polynomial is computed analitically for the derivative of the Gaussian.


Member Data Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::NeighborhoodDimension = VDimension [static, inherited]

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

Generated at Mon Jul 12 2010 22:37:16 for ITK by doxygen 1.7.1 written by Dimitri van Heesch, © 1997-2000