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

itk::GaussianSpatialObject< TDimension > Class Template Reference

Represents a multivariate Gaussian function. More...

#include <itkGaussianSpatialObject.h>

Inheritance diagram for itk::GaussianSpatialObject< TDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::GaussianSpatialObject< TDimension >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef GaussianSpatialObject Self
typedef double ScalarType
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef SpatialObject< TDimension > Superclass
typedef SmartPointer< SuperclassSuperclassPointer
typedef Superclass::PointType PointType
typedef Superclass::TransformType TransformType
typedef Superclass::BoundingBoxType BoundingBoxType

Public Member Functions

 itkStaticConstMacro (NumberOfDimensions, unsigned int, TDimension)
virtual const char * GetNameOfClass () const
ScalarType SquaredZScore (const PointType &point) const
virtual bool ValueAt (const PointType &point, ScalarType &value, unsigned int depth=0, char *name=NULL) const
virtual bool IsEvaluableAt (const PointType &, unsigned int, char *) const
virtual bool IsInside (const PointType &point, unsigned int depth, char *name) const
virtual bool IsInside (const PointType &point) const
virtual bool ComputeLocalBoundingBox () const
EllipseSpatialObject< TDimension
>::Pointer 
GetEllipsoid () const
virtual void SetRadius (ScalarType _arg)
virtual const ScalarTypeGetRadius ()
virtual void SetMaximum (ScalarType _arg)
virtual const ScalarTypeGetMaximum ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 GaussianSpatialObject (void)
 ~GaussianSpatialObject (void)
virtual void PrintSelf (std::ostream &os, Indent indent) const

Protected Attributes

ScalarType m_Maximum
ScalarType m_Radius

Detailed Description

template<unsigned int TDimension = 3>
class itk::GaussianSpatialObject< TDimension >

Represents a multivariate Gaussian function.

The Gaussian function G(x) is given by

\[ G(\vec{x}) = m e^{-\|\Sigma^{-1} \vec{x}\|^2 / 2}, \]

where m is a scaling factor set by SetMaximum(), and $\Sigma$ is the (invertible) matrix associated to the IndexToObjectTransform of the object. If $\Sigma$ is symmetric and positive definite, and m is chosen so that the integral of G(x) is 1, then G will denote a normal distribution with mean 0 and covariance matrix $\Sigma$.

Definition at line 46 of file itkGaussianSpatialObject.h.


Member Typedef Documentation

template<unsigned int TDimension = 3>
typedef Superclass::BoundingBoxType itk::GaussianSpatialObject< TDimension >::BoundingBoxType
 

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 60 of file itkGaussianSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SmartPointer< const Self > itk::GaussianSpatialObject< TDimension >::ConstPointer
 

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 55 of file itkGaussianSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SmartPointer< Self > itk::GaussianSpatialObject< TDimension >::Pointer
 

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 54 of file itkGaussianSpatialObject.h.

Referenced by itk::GaussianSpatialObject< TDimension >::IsEvaluableAt().

template<unsigned int TDimension = 3>
typedef Superclass::PointType itk::GaussianSpatialObject< TDimension >::PointType
 

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 58 of file itkGaussianSpatialObject.h.

Referenced by itk::GaussianSpatialObject< TDimension >::IsEvaluableAt().

template<unsigned int TDimension = 3>
typedef double itk::GaussianSpatialObject< TDimension >::ScalarType
 

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 53 of file itkGaussianSpatialObject.h.

Referenced by itk::GaussianSpatialObject< TDimension >::IsEvaluableAt().

template<unsigned int TDimension = 3>
typedef GaussianSpatialObject itk::GaussianSpatialObject< TDimension >::Self
 

Standard class typedefs.

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 52 of file itkGaussianSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SpatialObject< TDimension > itk::GaussianSpatialObject< TDimension >::Superclass
 

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 56 of file itkGaussianSpatialObject.h.

template<unsigned int TDimension = 3>
typedef SmartPointer< Superclass > itk::GaussianSpatialObject< TDimension >::SuperclassPointer
 

Definition at line 57 of file itkGaussianSpatialObject.h.

template<unsigned int TDimension = 3>
typedef Superclass::TransformType itk::GaussianSpatialObject< TDimension >::TransformType
 

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 59 of file itkGaussianSpatialObject.h.


Constructor & Destructor Documentation

template<unsigned int TDimension = 3>
itk::GaussianSpatialObject< TDimension >::GaussianSpatialObject void   )  [protected]
 

template<unsigned int TDimension = 3>
itk::GaussianSpatialObject< TDimension >::~GaussianSpatialObject void   )  [protected]
 


Member Function Documentation

template<unsigned int TDimension = 3>
virtual bool itk::GaussianSpatialObject< TDimension >::ComputeLocalBoundingBox  )  const [virtual]
 

This function needs to be called every time one of the object's components is changed.

Reimplemented from itk::SpatialObject< TDimension >.

template<unsigned int TDimension = 3>
EllipseSpatialObject< TDimension >::Pointer itk::GaussianSpatialObject< TDimension >::GetEllipsoid  )  const
 

Returns the sigma=m_Radius level set of the Gaussian function, as an EllipseSpatialObject.

template<unsigned int TDimension = 3>
virtual const ScalarType& itk::GaussianSpatialObject< TDimension >::GetMaximum  )  [virtual]
 

The maximum value of the Gaussian (its value at the origin of the spatial object coordinate system).

template<unsigned int TDimension = 3>
virtual const char* itk::GaussianSpatialObject< TDimension >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::SpatialObject< TDimension >.

template<unsigned int TDimension = 3>
virtual const ScalarType& itk::GaussianSpatialObject< TDimension >::GetRadius  )  [virtual]
 

The Radius determines the bounding box, and which points are considered to be inside the SpatialObject. All points with z-score less than the radius are in the object.

template<unsigned int TDimension = 3>
virtual bool itk::GaussianSpatialObject< TDimension >::IsEvaluableAt const PointType ,
unsigned  int,
char * 
const [inline, virtual]
 

Always returns true since a Gaussian can be evaluated anywhere.

Reimplemented from itk::SpatialObject< TDimension >.

Definition at line 92 of file itkGaussianSpatialObject.h.

References itk::GaussianSpatialObject< TDimension >::m_Maximum, itk::GaussianSpatialObject< TDimension >::m_Radius, itk::GaussianSpatialObject< TDimension >::Pointer, itk::GaussianSpatialObject< TDimension >::PointType, and itk::GaussianSpatialObject< TDimension >::ScalarType.

template<unsigned int TDimension = 3>
virtual bool itk::GaussianSpatialObject< TDimension >::IsInside const PointType point  )  const [virtual]
 

Test whether a point is inside or outside the object For computational speed purposes, it is faster if the method does not check the name of the class and the current depth

template<unsigned int TDimension = 3>
virtual bool itk::GaussianSpatialObject< TDimension >::IsInside const PointType point,
unsigned int  depth,
char *  name
const [virtual]
 

Test whether a point is inside or outside the object

Reimplemented from itk::SpatialObject< TDimension >.

template<unsigned int TDimension = 3>
itk::GaussianSpatialObject< TDimension >::itkStaticConstMacro NumberOfDimensions  ,
unsigned  int,
TDimension 
 

template<unsigned int TDimension = 3>
Pointer itk::GaussianSpatialObject< TDimension >::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::SpatialObject< TDimension >.

template<unsigned int TDimension = 3>
virtual void itk::GaussianSpatialObject< TDimension >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Print the object information in a stream.

Reimplemented from itk::SpatialObject< TDimension >.

template<unsigned int TDimension = 3>
virtual void itk::GaussianSpatialObject< TDimension >::SetMaximum ScalarType  _arg  )  [virtual]
 

The maximum value of the Gaussian (its value at the origin of the spatial object coordinate system).

template<unsigned int TDimension = 3>
virtual void itk::GaussianSpatialObject< TDimension >::SetRadius ScalarType  _arg  )  [virtual]
 

The Radius determines the bounding box, and which points are considered to be inside the SpatialObject. All points with z-score less than the radius are in the object.

template<unsigned int TDimension = 3>
ScalarType itk::GaussianSpatialObject< TDimension >::SquaredZScore const PointType point  )  const
 

If the matrix S is returned by this->GetIndexToObjectTransform()->GetMatrix(), then SquaredZScore(x) returns |Sx| squared.

template<unsigned int TDimension = 3>
virtual bool itk::GaussianSpatialObject< TDimension >::ValueAt const PointType point,
ScalarType value,
unsigned int  depth = 0,
char *  name = NULL
const [virtual]
 

Returns the value of the Gaussian at the given point.


Member Data Documentation

template<unsigned int TDimension = 3>
ScalarType itk::GaussianSpatialObject< TDimension >::m_Maximum [protected]
 

Definition at line 118 of file itkGaussianSpatialObject.h.

Referenced by itk::GaussianSpatialObject< TDimension >::IsEvaluableAt().

template<unsigned int TDimension = 3>
ScalarType itk::GaussianSpatialObject< TDimension >::m_Radius [protected]
 

Definition at line 119 of file itkGaussianSpatialObject.h.

Referenced by itk::GaussianSpatialObject< TDimension >::IsEvaluableAt().


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:00:31 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000