Skip to content

shapeworks::ParticleSurfaceNeighborhood

More...

#include <ParticleSurfaceNeighborhood.h>

Inherits from shapeworks::ParticleRegionNeighborhood, shapeworks::ParticleNeighborhood, itk::DataObject

Public Types

Name
typedef itk::Image< float, 3 > TImage
typedef TImage ImageType
typedef ParticleSurfaceNeighborhood Self
typedef ParticleRegionNeighborhood Superclass
typedef itk::SmartPointer< Self > Pointer
typedef itk::SmartPointer< const Self > ConstPointer
typedef itk::WeakPointer< const Self > ConstWeakPointer
typedef ImageType::PixelType NumericType
typedef Superclass::PointTreeType PointTreeType
typedef vnl_vector_fixed< NumericType, TImage::ImageDimension > GradientVectorType
typedef Superclass::PointType PointType
typedef Superclass::PointContainerType PointContainerType
typedef shapeworks::ImplicitSurfaceDomain< typename TImage::PixelType > DomainType
typedef Superclass::PointVectorType PointVectorType

Public Functions

Name
itkStaticConstMacro(Dimension , unsigned int , 3 )
itkNewMacro(Self )
itkTypeMacro(ParticleSurfaceNeighborhood , ParticleRegionNeighborhood )
virtual PointVectorType FindNeighborhoodPoints(const PointType & , int idx, std::vector< double > & , std::vector< double > & , double ) const override
virtual PointVectorType FindNeighborhoodPoints(const PointType & , int idx, std::vector< double > & , double ) const override
void SetWeightingEnabled(bool is_enabled)
bool IsWeightingEnabled() const
void SetForceEuclidean(bool is_enabled)
bool IsForceEuclidean() const
void PrintSelf(std::ostream & os, itk::Indent indent) const

Protected Functions

Name
ParticleSurfaceNeighborhood()
virtual ~ParticleSurfaceNeighborhood()

Additional inherited members

Protected Classes inherited from shapeworks::ParticleRegionNeighborhood

Name
struct IteratorNodePair

Protected Types inherited from shapeworks::ParticleRegionNeighborhood

Name
typedef GenericContainer< IteratorNodePair > IteratorMapType

Public Functions inherited from shapeworks::ParticleRegionNeighborhood

Name
virtual void SetDomain(DomainType::Pointer p) override
itkSetMacro(TreeLevels , unsigned int )
itkGetMacro(TreeLevels , unsigned int )
virtual void AddPosition(const PointType & p, unsigned int idx, int threadId =0)
virtual void SetPosition(const PointType & p, unsigned int idx, int threadId =0)
virtual void RemovePosition(unsigned int idx, int threadId =0)

Protected Functions inherited from shapeworks::ParticleRegionNeighborhood

Name
ParticleRegionNeighborhood()
virtual ~ParticleRegionNeighborhood()

Public Attributes inherited from shapeworks::ParticleRegionNeighborhood

Name
constexpr static unsigned int VDimension

Protected Attributes inherited from shapeworks::ParticleRegionNeighborhood

Name
PointTreeType::Pointer m_Tree
IteratorMapType::Pointer m_IteratorMap
unsigned int m_TreeLevels

Public Functions inherited from shapeworks::ParticleNeighborhood

Name
itkSetObjectMacro(PointContainer , PointContainerType )
itkGetConstObjectMacro(PointContainer , PointContainerType )
virtual void SetDomain(DomainType::Pointer domain)
DomainType::Pointer GetDomain() const
virtual void AddPosition(const PointType & p, unsigned int idx, int threadId =0)
virtual void SetPosition(const PointType & p, unsigned int idx, int threadId =0)
virtual void RemovePosition(unsigned int idx, int threadId =0)

Protected Functions inherited from shapeworks::ParticleNeighborhood

Name
ParticleNeighborhood()
virtual ~ParticleNeighborhood()

Public Attributes inherited from shapeworks::ParticleNeighborhood

Name
constexpr static unsigned int VDimension

Detailed Description

class shapeworks::ParticleSurfaceNeighborhood;

ParticleSurfaceNeighborhood is a general purpose neighborhood object that computes neighborhoods based on distance from a point. It requires a domain that provides bounds information and a distance metric. This class uses a PowerOfTwoPointTree to cache point and index values so that FindNeighborhoodPoints is somewhat optimized.

Public Types Documentation

typedef TImage

typedef itk::Image<float, 3> shapeworks::ParticleSurfaceNeighborhood::TImage;

Standard class typedefs

typedef ImageType

typedef TImage shapeworks::ParticleSurfaceNeighborhood::ImageType;

typedef Self

typedef ParticleSurfaceNeighborhood shapeworks::ParticleSurfaceNeighborhood::Self;

typedef Superclass

typedef ParticleRegionNeighborhood shapeworks::ParticleSurfaceNeighborhood::Superclass;

typedef Pointer

typedef itk::SmartPointer<Self> shapeworks::ParticleSurfaceNeighborhood::Pointer;

typedef ConstPointer

typedef itk::SmartPointer<const Self> shapeworks::ParticleSurfaceNeighborhood::ConstPointer;

typedef ConstWeakPointer

typedef itk::WeakPointer<const Self> shapeworks::ParticleSurfaceNeighborhood::ConstWeakPointer;

typedef NumericType

typedef ImageType::PixelType shapeworks::ParticleSurfaceNeighborhood::NumericType;

typedef PointTreeType

typedef Superclass::PointTreeType shapeworks::ParticleSurfaceNeighborhood::PointTreeType;

typedef GradientVectorType

typedef vnl_vector_fixed<NumericType, TImage::ImageDimension> shapeworks::ParticleSurfaceNeighborhood::GradientVectorType;

typedef PointType

typedef Superclass::PointType shapeworks::ParticleSurfaceNeighborhood::PointType;

Inherited typedefs from parent class.

typedef PointContainerType

typedef Superclass::PointContainerType shapeworks::ParticleSurfaceNeighborhood::PointContainerType;

typedef DomainType

typedef shapeworks::ImplicitSurfaceDomain<typename TImage::PixelType> shapeworks::ParticleSurfaceNeighborhood::DomainType;

typedef PointVectorType

typedef Superclass::PointVectorType shapeworks::ParticleSurfaceNeighborhood::PointVectorType;

Public Functions Documentation

function itkStaticConstMacro

itkStaticConstMacro(
    Dimension ,
    unsigned int ,
    3 
)

Expose the image dimension.

function itkNewMacro

itkNewMacro(
    Self 
)

Method for creation through the object factory.

function itkTypeMacro

itkTypeMacro(
    ParticleSurfaceNeighborhood ,
    ParticleRegionNeighborhood 
)

Run-time type information (and related methods).

function FindNeighborhoodPoints

virtual PointVectorType FindNeighborhoodPoints(
    const PointType & ,
    int idx,
    std::vector< double > & ,
    std::vector< double > & ,
    double 
) const override

Reimplements: shapeworks::ParticleNeighborhood::FindNeighborhoodPoints

Compile a list of points that are within a specified radius of a given point. This implementation uses a PowerOfTwoTree to sort points according to location.

function FindNeighborhoodPoints

virtual PointVectorType FindNeighborhoodPoints(
    const PointType & ,
    int idx,
    std::vector< double > & ,
    double 
) const override

Reimplements: shapeworks::ParticleNeighborhood::FindNeighborhoodPoints

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

function SetWeightingEnabled

inline void SetWeightingEnabled(
    bool is_enabled
)

function IsWeightingEnabled

inline bool IsWeightingEnabled() const

function SetForceEuclidean

inline void SetForceEuclidean(
    bool is_enabled
)

function IsForceEuclidean

inline bool IsForceEuclidean() const

function PrintSelf

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

Protected Functions Documentation

function ParticleSurfaceNeighborhood

inline ParticleSurfaceNeighborhood()

function ~ParticleSurfaceNeighborhood

inline virtual ~ParticleSurfaceNeighborhood()

Updated on 2024-03-17 at 12:58:44 -0600