Orfeo Toolbox  3.16
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Private Member Functions | Private Attributes
itk::GaussianOperator< TPixel, VDimension, TAllocator > Class Template Reference

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

#include <itkGaussianOperator.h>

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

List of all members.

Public Types

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

Public Member Functions

 GaussianOperator ()
 GaussianOperator (const Self &other)
Iterator Begin ()
ConstIterator Begin () const
virtual void CreateDirectional ()
virtual void CreateToRadius (const SizeType &)
virtual void CreateToRadius (const unsigned long)
Iterator End ()
ConstIterator End () const
virtual void FlipAxes ()
AllocatorTypeGetBufferReference ()
const AllocatorTypeGetBufferReference () const
unsigned int GetCenterNeighborhoodIndex () const
TPixel GetCenterValue () const
unsigned long GetDirection () const
TPixel & GetElement (unsigned int i)
double GetMaximumError ()
unsigned int GetMaximumKernelWidth () const
virtual unsigned int GetNeighborhoodIndex (const OffsetType &) const
OffsetType GetOffset (unsigned int i) 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
Selfoperator= (const Self &other)
bool operator== (const Self &other) const
TPixel & operator[] (unsigned int i)
const TPixel & operator[] (unsigned int i) const
TPixel & operator[] (const OffsetType &o)
const TPixel & operator[] (const OffsetType &o) const
void Print (std::ostream &os) const
virtual void PrintSelf (std::ostream &os, Indent i) const
void ScaleCoefficients (PixelRealType)
void SetDirection (const unsigned long &direction)
void SetMaximumError (const double &max_error)
void SetMaximumKernelWidth (unsigned int n)
void SetRadius (const SizeType &)
void SetRadius (const unsigned long *rad)
void SetRadius (const unsigned long)
void SetVariance (const double &variance)
unsigned int Size () 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 ()
void InitializeToZero ()
double ModifiedBesselI (int, double)
double ModifiedBesselI0 (double)
double ModifiedBesselI1 (double)
void SetSize ()

Private Member Functions

const char * GetNameOfClass ()

Private Attributes

double m_MaximumError
unsigned int m_MaximumKernelWidth
double m_Variance

Detailed Description

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

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

GaussianOperator can be used to perform Gaussian blurring 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 effect separable, efficient, N-D Gaussian blurring of an image region.

GaussianOperator takes two parameters:

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

(2) 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.).

See also:
NeighborhoodOperator
NeighborhoodIterator
Neighborhood

Definition at line 61 of file itkGaussianOperator.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::GaussianOperator< 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 144 of file itkGaussianOperator.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 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 GaussianOperator itk::GaussianOperator< TPixel, VDimension, TAllocator >::Self

Standard class typedefs.

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

Definition at line 66 of file itkGaussianOperator.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::GaussianOperator< TPixel, VDimension, TAllocator >::Superclass

Constructor & Destructor Documentation

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

Constructor.

Definition at line 70 of file itkGaussianOperator.h.

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

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)
inlineprotectedvirtualinherited

Allocates the neighborhood's memory buffer.

Definition at line 236 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin ( void  )
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::Begin ( void  ) const
inlineinherited
template<class TPixel , unsigned int VDimension, class TContainer >
void itk::Neighborhood< TPixel, VDimension, TContainer >::ComputeNeighborhoodOffsetTable ( )
protectedvirtualinherited

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

Definition at line 49 of file itkNeighborhood.txx.

template<class TPixel , unsigned int VDimension, class TContainer >
void itk::Neighborhood< TPixel, VDimension, TContainer >::ComputeNeighborhoodStrideTable ( )
protectedvirtualinherited

Computes the entries for the stride table

Definition at line 28 of file itkNeighborhood.txx.

template<class TPixel , unsigned int VDimension, class TAllocator >
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::CreateDirectional ( )
virtualinherited

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) >.

Definition at line 59 of file itkNeighborhoodOperator.txx.

Referenced by itk::VectorAnisotropicDiffusionFunction< TImage >::CalculateAverageGradientMagnitudeSquared(), itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::GenerateCoefficients(), itk::DerivativeImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GradientMagnitudeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GenerateInputRequestedRegion(), itk::DerivativeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), main(), itk::GaussianBlurImageFunction< TInputImage, TOutput >::RecomputeGaussianKernel(), itk::GradientMagnitudeImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), and itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::ThreadedGenerateData().

template<class TPixel , unsigned int VDimension, class TAllocator >
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::CreateToRadius ( const SizeType sz)
virtualinherited

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

Definition at line 83 of file itkNeighborhoodOperator.txx.

Referenced by itk::ConvolutionImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData().

template<class TPixel , unsigned int VDimension, class TAllocator >
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::CreateToRadius ( const unsigned long  sz)
virtualinherited

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

Definition at line 94 of file itkNeighborhoodOperator.txx.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
Iterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End ( void  )
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
ConstIterator itk::Neighborhood< TPixel, VDimension, TAllocator >::End ( void  ) const
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianOperator< TPixel, VDimension, TAllocator >::Fill ( const CoefficientVector coeff)
inlineprotectedvirtual

Arranges coefficients spatially in the memory buffer.

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

Definition at line 161 of file itkGaussianOperator.h.

template<class TPixel , unsigned int VDimension, class TAllocator >
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::FillCenteredDirectional ( const CoefficientVector coeff)
protectedvirtualinherited

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.

Definition at line 107 of file itkNeighborhoodOperator.txx.

References itk::SliceIterator< TPixel, TContainer >::Begin(), and itk::SliceIterator< TPixel, TContainer >::End().

template<class TPixel , unsigned int VDimension, class TAllocator >
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::FlipAxes ( )
virtualinherited

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

Definition at line 38 of file itkNeighborhoodOperator.txx.

Referenced by itk::DerivativeImageFilter< TInputImage, TOutputImage >::GenerateData(), and itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::ThreadedGenerateData().

template<class TPixel , unsigned int VDimension, class TAllocator >
GaussianOperator< TPixel, VDimension, TAllocator >::CoefficientVector itk::GaussianOperator< TPixel, VDimension, TAllocator >::GenerateCoefficients ( )
protectedvirtual

Calculates operator coefficients.

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

Definition at line 29 of file itkGaussianOperator.txx.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
AllocatorType& itk::Neighborhood< TPixel, VDimension, TAllocator >::GetBufferReference ( )
inlineinherited

Returns a reference to the data buffer structure.

Definition at line 200 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const AllocatorType& itk::Neighborhood< TPixel, VDimension, TAllocator >::GetBufferReference ( ) const
inlineinherited

Definition at line 202 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::GetCenterNeighborhoodIndex ( ) const
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
TPixel itk::Neighborhood< TPixel, VDimension, TAllocator >::GetCenterValue ( ) const
inlineinherited

Returns the element at the center of the neighborhood.

Definition at line 174 of file itkNeighborhood.h.

Referenced by itk::MRFImageFilter< TInputImage, TClassifiedImage >::DoNeighborhoodOperation().

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

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

Definition at line 103 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)
inlineinherited

Definition at line 170 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
double itk::GaussianOperator< 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 119 of file itkGaussianOperator.h.

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

Returns the maximum allowed kernel width.

Definition at line 130 of file itkGaussianOperator.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const char* itk::GaussianOperator< TPixel, VDimension, TAllocator >::GetNameOfClass ( )
inlineprivate

For compatibility with itkWarningMacro

Definition at line 178 of file itkGaussianOperator.h.

template<class TPixel , unsigned int VDimension, class TContainer >
unsigned int itk::Neighborhood< TPixel, VDimension, TContainer >::GetNeighborhoodIndex ( const OffsetType o) const
virtualinherited

Definition at line 147 of file itkNeighborhood.txx.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
OffsetType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetOffset ( unsigned int  i) const
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const SizeType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius ( void  ) const
inlineinherited

Returns the radius of the neighborhood.

Definition at line 128 of file itkNeighborhood.h.

Referenced by itk::FlatStructuringElement< VDimension >::Annulus(), otb::ImageToSURFKeyPointSetFilter< TInputImage, TOutputPointSet >::AssignOrientation(), itk::FlatStructuringElement< VDimension >::Ball(), itk::VectorAnisotropicDiffusionFunction< TImage >::CalculateAverageGradientMagnitudeSquared(), otb::ImageToSURFKeyPointSetFilter< TInputImage, TOutputPointSet >::ComputeDescriptor(), itk::NCCRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >::ComputeUpdate(), otb::NCCRegistrationFunction< TFixedImage, TMovingImage, TDeformationField >::ComputeUpdate(), itk::GradientMagnitudeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::LaplacianSharpeningImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GenerateInputRequestedRegion(), itk::SobelEdgeDetectionImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::LaplacianImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::DerivativeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::DiscreteGaussianDerivativeImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), main(), itk::PeriodicBoundaryCondition< TImage >::operator()(), itk::GradientMagnitudeImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), and itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::ThreadedGenerateData().

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned long itk::Neighborhood< TPixel, VDimension, TAllocator >::GetRadius ( const unsigned long  n) const
inlineinherited

Returns the radius of the neighborhood along a specified dimension.

Definition at line 133 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
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
SizeType itk::Neighborhood< TPixel, VDimension, TAllocator >::GetSize ( void  ) const
inlineinherited

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

Definition at line 142 of file itkNeighborhood.h.

template<class TPixel , unsigned int VDimension, class TContainer >
std::slice itk::Neighborhood< TPixel, VDimension, TContainer >::GetSlice ( unsigned int  d) const
inherited

Definition at line 134 of file itkNeighborhood.txx.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned itk::Neighborhood< TPixel, VDimension, TAllocator >::GetStride ( const unsigned  axis) const
inlineinherited

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 148 of file itkNeighborhood.h.

Referenced by itk::CannyEdgeDetectionImageFilter< TInputImage, TOutputImage >::CannyEdgeDetectionImageFilter(), itk::SparseFieldFourthOrderLevelSetImageFilter< TInputImage, TOutputImage >::ComputeCurvatureFromSparseImageNeighborhood(), itk::MinMaxCurvatureFlowFunction< TImage >::ComputeThreshold(), itk::CurvatureFlowFunction< TImage >::ComputeUpdate(), itk::CurvatureNDAnisotropicDiffusionFunction< TImage >::CurvatureNDAnisotropicDiffusionFunction(), itk::GradientNDAnisotropicDiffusionFunction< TImage >::GradientNDAnisotropicDiffusionFunction(), itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize(), itk::LevelSetFunction< TImageType >::Initialize(), itk::ImplicitManifoldNormalVectorFilter< TInputImage, TSparseOutputImage >::InitializeNormalBandNode(), itk::PeriodicBoundaryCondition< TImage >::operator()(), itk::ZeroFluxNeumannBoundaryCondition< TImage >::operator()(), itk::NormalVectorDiffusionFunction< TSparseImageType >::PrecomputeSparseUpdate(), itk::ZeroCrossingImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::IsoContourDistanceImageFilter< TInputImage, TOutputImage >::ThreadedGenerateDataBand(), itk::VectorCurvatureNDAnisotropicDiffusionFunction< TImage >::VectorCurvatureNDAnisotropicDiffusionFunction(), and itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::VectorGradientNDAnisotropicDiffusionFunction().

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

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

Definition at line 112 of file itkGaussianOperator.h.

template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::InitializeToZero ( )
inlineprotectedinherited

Initializes all the coefficients in the neighborhood to zero values

Definition at line 162 of file itkNeighborhoodOperator.h.

template<class TPixel , unsigned int VDimension, class TAllocator >
double itk::GaussianOperator< TPixel, VDimension, TAllocator >::ModifiedBesselI ( int  n,
double  y 
)
protected

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

Definition at line 145 of file itkGaussianOperator.txx.

template<class TPixel , unsigned int VDimension, class TAllocator >
double itk::GaussianOperator< TPixel, VDimension, TAllocator >::ModifiedBesselI0 ( double  y)
protected

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

Definition at line 81 of file itkGaussianOperator.txx.

template<class TPixel , unsigned int VDimension, class TAllocator >
double itk::GaussianOperator< TPixel, VDimension, TAllocator >::ModifiedBesselI1 ( double  y)
protected

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

Definition at line 108 of file itkGaussianOperator.txx.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
bool itk::Neighborhood< TPixel, VDimension, TAllocator >::operator!= ( const Self other) const
inlineinherited

Not Equal operator.

Definition at line 120 of file itkNeighborhood.h.

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

Comparison operator.

Definition at line 112 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)
inlineinherited

Pass-through data access methods to the buffer.

Definition at line 166 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const TPixel& itk::Neighborhood< TPixel, VDimension, TAllocator >::operator[] ( unsigned int  i) const
inlineinherited

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)
inlineinherited

Get pixel value by offset

Definition at line 206 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
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::Print ( std::ostream &  os) const
inlineinherited

Standard itk object method.

Definition at line 196 of file itkNeighborhood.h.

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

References itk::Indent::GetNextIndent().

template<class TPixel , unsigned int VDimension, class TAllocator >
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::ScaleCoefficients ( PixelRealType  s)
inherited
template<class TPixel, unsigned int VDimension, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >::SetDirection ( const unsigned long &  direction)
inlineinherited
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianOperator< TPixel, VDimension, TAllocator >::SetMaximumError ( const double &  max_error)
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 must be between 0.0 and 1.0.

Definition at line 101 of file itkGaussianOperator.h.

Referenced by itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::GenerateCoefficients(), itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), itk::RecursiveMultiResolutionPyramidImageFilter< TInputImage, TOutputImage >::GenerateOutputRequestedRegion(), and itk::GaussianBlurImageFunction< TInputImage, TOutput >::RecomputeGaussianKernel().

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianOperator< 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 126 of file itkGaussianOperator.h.

Referenced by itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::GenerateCoefficients(), itk::DiscreteGaussianImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion(), and itk::GaussianBlurImageFunction< TInputImage, TOutput >::RecomputeGaussianKernel().

template<class TPixel , unsigned int VDimension, class TContainer >
void itk::Neighborhood< TPixel, VDimension, TContainer >::SetRadius ( const SizeType r)
inherited

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

Definition at line 91 of file itkNeighborhood.txx.

References itk::Size< VDimension >::m_Size.

Referenced by itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >::AnalyzeKernel(), itk::FlatStructuringElement< VDimension >::Annulus(), itk::FlatStructuringElement< VDimension >::Ball(), itk::FlatStructuringElement< VDimension >::Box(), itk::CannyEdgeDetectionImageFilter< TInputImage, TOutputImage >::CannyEdgeDetectionImageFilter(), itk::FlatStructuringElement< VDimension >::Cross(), itk::CurvatureNDAnisotropicDiffusionFunction< TImage >::CurvatureNDAnisotropicDiffusionFunction(), itk::ConstNeighborhoodIterator< TImage, TBoundaryCondition >::GetNeighborhood(), itk::GradientNDAnisotropicDiffusionFunction< TImage >::GradientNDAnisotropicDiffusionFunction(), itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize(), itk::LevelSetFunction< TImageType >::Initialize(), itk::FlatStructuringElement< VDimension >::Poly(), itk::GaussianDerivativeImageFunction< TInputImage, TOutput >::RecomputeContinuousGaussianKernel(), itk::GaussianBlurImageFunction< TInputImage, TOutput >::RecomputeContinuousGaussianKernel(), itk::GaussianDerivativeImageFunction< TInputImage, TOutput >::RecomputeGaussianKernel(), itk::Statistics::ScalarImageToGreyLevelRunLengthMatrixGenerator< TImageType, THistogramFrequencyContainer >::ScalarImageToGreyLevelRunLengthMatrixGenerator(), itk::NormalizedCorrelationImageFilter< TInputImage, TMaskImage, TOutputImage, TOperatorValueType >::ThreadedGenerateData(), itk::VectorCurvatureNDAnisotropicDiffusionFunction< TImage >::VectorCurvatureNDAnisotropicDiffusionFunction(), and itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::VectorGradientNDAnisotropicDiffusionFunction().

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetRadius ( const unsigned long *  rad)
inlineinherited

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

Definition at line 183 of file itkNeighborhood.h.

template<class TPixel , unsigned int VDimension, class TContainer >
void itk::Neighborhood< TPixel, VDimension, TContainer >::SetRadius ( const unsigned long  s)
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).

Definition at line 78 of file itkNeighborhood.txx.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::Neighborhood< TPixel, VDimension, TAllocator >::SetSize ( )
inlineprotectedinherited

Sets the length along each dimension.

Definition at line 227 of file itkNeighborhood.h.

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
void itk::GaussianOperator< TPixel, VDimension, TAllocator >::SetVariance ( const double &  variance)
inline
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::Size ( void  ) const
inlineinherited

More STL-style support.

Definition at line 162 of file itkNeighborhood.h.

Referenced by itk::BinaryMorphologyImageFilter< TInputImage, TOutputImage, TKernel >::AnalyzeKernel(), otb::ImageToSURFKeyPointSetFilter< TInputImage, TOutputPointSet >::AssignOrientation(), itk::CannyEdgeDetectionImageFilter< TInputImage, TOutputImage >::CannyEdgeDetectionImageFilter(), itk::VectorFuzzyConnectednessImageFilter< TInputImage, TOutputImage >::Compute_Scale(), itk::SparseFieldFourthOrderLevelSetImageFilter< TInputImage, TOutputImage >::ComputeCurvatureFromSparseImageNeighborhood(), otb::ImageToSURFKeyPointSetFilter< TInputImage, TOutputPointSet >::ComputeDescriptor(), itk::MinMaxCurvatureFlowFunction< TImage >::ComputeThreshold(), itk::CurvatureFlowFunction< TImage >::ComputeUpdate(), itk::CurvatureNDAnisotropicDiffusionFunction< TImage >::CurvatureNDAnisotropicDiffusionFunction(), otb::GenericInterpolateImageFunction< TInputImage, TFunction, TBoundaryCondition, TCoordRep >::FillWeightOffsetTable(), itk::GaussianDerivativeOperator< TPixel, VDimension, TAllocator >::GenerateCoefficients(), itk::StochasticFractalDimensionImageFilter< TInputImage, TMaskImage, TOutputImage >::GenerateData(), otb::MRFEnergy< TInput1, TInput2 >::GetValue(), otb::MRFEnergy< TInput2, TInput2 >::GetValue(), itk::GradientNDAnisotropicDiffusionFunction< TImage >::GradientNDAnisotropicDiffusionFunction(), itk::RegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >::Initialize(), itk::LevelSetFunction< TImageType >::Initialize(), itk::SparseFieldLevelSetImageFilter< TInputImage, TOutputImage >::InitializeActiveLayerValues(), itk::ParallelSparseFieldLevelSetImageFilter< TInputImage, TOutputImage >::InitializeActiveLayerValues(), itk::ImplicitManifoldNormalVectorFilter< TInputImage, TSparseOutputImage >::InitializeNormalBandNode(), otb::ImageToSURFKeyPointSetFilter< TInputImage, TOutputPointSet >::IsLocalExtremum(), otb::ImageToSURFKeyPointSetFilter< TInputImage, TOutputPointSet >::IsLocalExtremumAround(), otb::Functor::SSDBlockMatching< TInputImage, TOutputMetricImage >::operator()(), itk::NeighborhoodInnerProduct< ImageType >::operator()(), itk::VectorNeighborhoodInnerProduct< ImageType >::operator()(), otb::Functor::NCCBlockMatching< TInputImage, TOutputMetricImage >::operator()(), otb::Functor::LPBlockMatching< TInputImage, TOutputMetricImage >::operator()(), itk::NormalVectorDiffusionFunction< TSparseImageType >::PrecomputeSparseUpdate(), itk::WindowedSincInterpolateImageFunction< TInputImage, VRadius, TWindowFunction, TBoundaryCondition, TCoordRep >::SetInputImage(), itk::GradientMagnitudeImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::ZeroCrossingImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::ThreadedGenerateData(), itk::VectorCurvatureNDAnisotropicDiffusionFunction< TImage >::VectorCurvatureNDAnisotropicDiffusionFunction(), and itk::VectorGradientNDAnisotropicDiffusionFunction< TImage >::VectorGradientNDAnisotropicDiffusionFunction().


Member Data Documentation

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
double itk::GaussianOperator< TPixel, VDimension, TAllocator >::m_MaximumError
private

Difference between the areas under the curves of the continuous and discrete Gaussian functions.

Definition at line 170 of file itkGaussianOperator.h.

Referenced by itk::GaussianOperator< TPixel, VDimension, TAllocator >::GaussianOperator(), and itk::GaussianOperator< TPixel, VDimension, TAllocator >::operator=().

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

Maximum kernel size allowed. This value is used to truncate a kernel that has grown too large. A warning is given when the specified maximum error causes the kernel to exceed this size.

Definition at line 175 of file itkGaussianOperator.h.

Referenced by itk::GaussianOperator< TPixel, VDimension, TAllocator >::GaussianOperator(), and itk::GaussianOperator< TPixel, VDimension, TAllocator >::operator=().

template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
double itk::GaussianOperator< TPixel, VDimension, TAllocator >::m_Variance
private
template<class TPixel, unsigned int VDimension = 2, class TAllocator = NeighborhoodAllocator<TPixel>>
const unsigned int itk::Neighborhood< TPixel, VDimension, TAllocator >::NeighborhoodDimension = VDimension
staticinherited

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

Generated at Sun Feb 3 2013 01:43:34 for Orfeo Toolbox with doxygen 1.8.1.1