Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Public Types | Public Member Functions | Protected Member Functions
itk::PSMNeighborhood< VDimension > Class Template Reference

#include <itkPSMNeighborhood.h>

+ Inheritance diagram for itk::PSMNeighborhood< VDimension >:
+ Collaboration diagram for itk::PSMNeighborhood< VDimension >:

Public Types

typedef PSMNeighborhood Self
 
typedef DataObject Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef WeakPointer< const SelfConstWeakPointer
 
typedef Point< double, VDimension > PointType
 
typedef PSMDomain< VDimension > DomainType
 
typedef PSMContainer< PointTypePointContainerType
 
typedef std::vector< PSMPointIndexPair< VDimension > > PointVectorType
 

Public Member Functions

 itkNewMacro (Self)
 
 itkTypeMacro (PSMNeighborhood, DataObject)
 
 itkStaticConstMacro (Dimension, unsigned int, VDimension)
 
 itkSetObjectMacro (PointContainer, PointContainerType)
 
 itkGetConstObjectMacro (PointContainer, PointContainerType)
 
virtual PointVectorType FindNeighborhoodPoints (const PointType &, double) const
 
virtual PointVectorType FindNeighborhoodPointsWithWeights (const PointType &, std::vector< double > &, double) const
 
 itkSetObjectMacro (Domain, DomainType)
 
 itkGetConstObjectMacro (Domain, DomainType)
 
virtual void AddPosition (const PointType &, unsigned int, int)
 
virtual void SetPosition (const PointType &, unsigned int, int)
 
virtual void RemovePosition (unsigned int, int)
 

Protected Member Functions

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

Detailed Description

template<unsigned int VDimension>
class itk::PSMNeighborhood< VDimension >

A PSMNeighborhood is responsible for computing neighborhoods of particles. Given a point position in a domain, and a neighborhood radius, the PSMNeighborhood returns a list of points that are neighbors of that point. The base class, PSMNeighborhood, must be subclassed to provide functionality; the base class will throw an exception when FindNeighborhoodPoints is called.

Definition at line 44 of file itkPSMNeighborhood.h.

Member Typedef Documentation

template<unsigned int VDimension>
typedef PSMDomain<VDimension> itk::PSMNeighborhood< VDimension >::DomainType

Domain type. The Domain object provides bounds and distance information.

Definition at line 68 of file itkPSMNeighborhood.h.

template<unsigned int VDimension>
typedef PSMContainer<PointType> itk::PSMNeighborhood< VDimension >::PointContainerType

Container type for points. This matches the itkPSMParticleSystem container type.

Definition at line 72 of file itkPSMNeighborhood.h.

template<unsigned int VDimension>
typedef Point<double, VDimension> itk::PSMNeighborhood< VDimension >::PointType

Point type used to store particle locations.

Definition at line 64 of file itkPSMNeighborhood.h.

template<unsigned int VDimension>
typedef std::vector<PSMPointIndexPair<VDimension> > itk::PSMNeighborhood< VDimension >::PointVectorType

Point list (vector) type. This is the type of list returned by FindNeighborhoodPoints.

Definition at line 76 of file itkPSMNeighborhood.h.

template<unsigned int VDimension>
typedef PSMNeighborhood itk::PSMNeighborhood< VDimension >::Self

Standard class typedefs

Definition at line 48 of file itkPSMNeighborhood.h.

Member Function Documentation

template<unsigned int VDimension>
virtual void itk::PSMNeighborhood< VDimension >::AddPosition ( const PointType ,
unsigned int  ,
int   
)
inlinevirtual

For efficiency, itkNeighborhoods are not necessarily observers of itkPSMParticleSystem, but have specific methods invoked for various events. AddPosition is called by itkPSMParticleSystem when a particle location is added. SetPosition is called when a particle location is set. RemovePosition is called when a particle location is removed.

Reimplemented in itk::PSMRegionNeighborhood< VDimension >, and itk::PSMRegionNeighborhood< TImage::ImageDimension >.

Definition at line 116 of file itkPSMNeighborhood.h.

116 {}
template<unsigned int VDimension>
virtual PointVectorType itk::PSMNeighborhood< VDimension >::FindNeighborhoodPoints ( const PointType ,
double   
) const
inlinevirtual

Compile a list of points that are within a specified radius of a given point. The default implementation will throw an exception.

Reimplemented in itk::PSMRegionNeighborhood< VDimension >, and itk::PSMRegionNeighborhood< TImage::ImageDimension >.

Definition at line 86 of file itkPSMNeighborhood.h.

87  {
88  itkExceptionMacro("No algorithm for finding neighbors has been specified.");
89  }
template<unsigned int VDimension>
virtual PointVectorType itk::PSMNeighborhood< VDimension >::FindNeighborhoodPointsWithWeights ( const PointType ,
std::vector< double > &  ,
double   
) const
inlinevirtual

This method finds neighborhood points as in the previous method, but also computes a vector of weights associated with each of those points.

Reimplemented in itk::PSMSurfaceNeighborhood< TImage >.

Definition at line 93 of file itkPSMNeighborhood.h.

95  {
96  itkExceptionMacro("No algorithm for finding neighbors has been specified.");
97  }
template<unsigned int VDimension>
itk::PSMNeighborhood< VDimension >::itkNewMacro ( Self  )

Method for creation through the object factory.

template<unsigned int VDimension>
itk::PSMNeighborhood< VDimension >::itkSetObjectMacro ( PointContainer  ,
PointContainerType   
)

Set/Get the point container. These are the points parsed by the Neighborhood class when FindNeighborhoodPoints is called.

template<unsigned int VDimension>
itk::PSMNeighborhood< VDimension >::itkSetObjectMacro ( Domain  ,
DomainType   
)

Set the Domain that this neighborhood will use. The Domain object is important because it defines bounds and distance measures.

template<unsigned int VDimension>
itk::PSMNeighborhood< VDimension >::itkStaticConstMacro ( Dimension  ,
unsigned  int,
VDimension   
)

Dimensionality of the domain of the particle system.

template<unsigned int VDimension>
itk::PSMNeighborhood< VDimension >::itkTypeMacro ( PSMNeighborhood< VDimension >  ,
DataObject   
)

Run-time type information (and related methods).


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