ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::PointSet< TPixelType, VDimension, TMeshTraits > Class Template Reference

#include <itkPointSet.h>

Detailed Description

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
class itk::PointSet< TPixelType, VDimension, TMeshTraits >

A superclass of the N-dimensional mesh structure; supports point (geometric coordinate and attribute) definition.

PointSet is a superclass of the N-dimensional mesh structure (itk::Mesh). It provides the portion of the mesh definition for geometric coordinates (and associated attribute or pixel information). The defined API provides operations on points but does not tie down the underlying implementation and storage. A "MeshTraits" structure is used to define the container and identifier to access the points. See DefaultStaticMeshTraits for the set of type definitions needed. All types that are defined in the "MeshTraits" structure will have duplicate type alias in the resulting mesh itself.

PointSet has two template parameters. The first is the pixel type, or the type of data stored (optionally) with the points. The second is the "MeshTraits" structure controlling type information characterizing the point set. Most users will be happy with the defaults, and will not have to worry about this second argument.

Template parameters for PointSet:

TPixelType = The type stored as data for the point.

TMeshTraits = Type information structure for the point set.

ITK Sphinx Examples:
Examples
Examples/DataRepresentation/Mesh/ImageToPointSet.cxx, Examples/DataRepresentation/Mesh/PointSet1.cxx, Examples/DataRepresentation/Mesh/PointSet2.cxx, Examples/DataRepresentation/Mesh/PointSet3.cxx, Examples/DataRepresentation/Mesh/PointSetWithCovariantVectors.cxx, Examples/DataRepresentation/Mesh/PointSetWithVectors.cxx, Examples/DataRepresentation/Mesh/RGBPointSet.cxx, Examples/RegistrationITKv4/IterativeClosestPoint1.cxx, Examples/RegistrationITKv4/IterativeClosestPoint2.cxx, Examples/RegistrationITKv4/IterativeClosestPoint3.cxx, Examples/RegistrationITKv4/ModelToImageRegistration2.cxx, Examples/Statistics/PointSetToAdaptor.cxx, Examples/Statistics/PointSetToListSampleAdaptor.cxx, SphinxExamples/src/Core/Common/BoundingBoxOfAPointSet/Code.cxx, SphinxExamples/src/Core/Common/CreateAPointSet/Code.cxx, SphinxExamples/src/Core/Common/WriteAPointSet/Code.cxx, SphinxExamples/src/Filtering/ImageGrid/FitSplineIntoPointSet/Code.cxx, and SphinxExamples/src/Registration/Metricsv4/RegisterTwoPointSets/Code.cxx.

Definition at line 81 of file itkPointSet.h.

+ Inheritance diagram for itk::PointSet< TPixelType, VDimension, TMeshTraits >:
+ Collaboration diagram for itk::PointSet< TPixelType, VDimension, TMeshTraits >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using MeshTraits = TMeshTraits
 
using PixelType = typename MeshTraits::PixelType
 
using PointDataContainer = typename MeshTraits::PointDataContainer
 
using PointDataContainerConstPointer = typename PointDataContainer::ConstPointer
 
using PointDataContainerIterator = typename PointDataContainer::ConstIterator
 
using PointDataContainerPointer = typename PointDataContainer::Pointer
 
using Pointer = SmartPointer< Self >
 
using PointIdentifier = typename MeshTraits::PointIdentifier
 
using PointType = typename MeshTraits::PointType
 
using Self = PointSet
 
using Superclass = PointSetBase< typename TMeshTraits::PointsContainer >
 
- Public Types inherited from itk::PointSetBase< TMeshTraits::PointsContainer >
using ConstPointer = SmartPointer< const Self >
 
using CoordinateType = typename PointType::CoordinateType
 
using Pointer = SmartPointer< Self >
 
using PointIdentifier = typename TMeshTraits::PointsContainer ::ElementIdentifier
 
using PointsContainer = TMeshTraits::PointsContainer
 
using PointsContainerConstIterator = typename PointsContainer::ConstIterator
 
using PointsContainerConstPointer = typename PointsContainer::ConstPointer
 
using PointsContainerIterator = typename PointsContainer::Iterator
 
using PointsContainerPointer = typename PointsContainer::Pointer
 
using PointsVectorContainer = typename itk::VectorContainer< PointIdentifier, CoordinateType >
 
using PointsVectorContainerPointer = typename PointsVectorContainer::Pointer
 
using PointType = typename TMeshTraits::PointsContainer ::Element
 
using RegionType = long
 
using Self = PointSetBase
 
using Superclass = DataObject
 
- Public Types inherited from itk::DataObject
using ConstPointer = SmartPointer< const Self >
 
using DataObjectIdentifierType = std::string
 
using DataObjectPointerArraySizeType = std::vector< Pointer >::size_type
 
using Pointer = SmartPointer< Self >
 
using Self = DataObject
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

const char * GetNameOfClass () const override
 
PointDataContainerGetPointData ()
 
const PointDataContainerGetPointData () const
 
bool GetPointData (PointIdentifier, PixelType *) const
 
void Graft (const DataObject *data) override
 
void Initialize () override
 
void SetPointData (PointDataContainer *)
 
void SetPointData (PointIdentifier, PixelType)
 
- Public Member Functions inherited from itk::PointSetBase< TMeshTraits::PointsContainer >
void CopyInformation (const DataObject *data) override
 
virtual RegionType GetBufferedRegion () const
 
virtual RegionType GetMaximumNumberOfRegions () const
 
const char * GetNameOfClass () const override
 
PointIdentifier GetNumberOfPoints () const
 
PointType GetPoint (PointIdentifier) const
 
bool GetPoint (PointIdentifier, PointType *) const
 
PointsContainerGetPoints ()
 
const PointsContainerGetPoints () const
 
virtual RegionType GetRequestedRegion () const
 
void Initialize () override
 
 itkCloneMacro (Self)
 
void PassStructure (Self *inputPointSet)
 
bool RequestedRegionIsOutsideOfTheBufferedRegion () override
 
virtual void SetBufferedRegion (const RegionType &region)
 
void SetPoint (PointIdentifier, PointType)
 
void SetPoints (PointsContainer *)
 
void SetPoints (PointsVectorContainer *)
 
void SetPointsByCoordinates (const std::vector< CoordinateType > &coordinates)
 
void SetRequestedRegion (const DataObject *data) override
 
virtual void SetRequestedRegion (const RegionType &region)
 
void SetRequestedRegionToLargestPossibleRegion () override
 
void UpdateOutputInformation () override
 
bool VerifyRequestedRegion () override
 
- Public Member Functions inherited from itk::DataObject
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointer< ProcessObjectGetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOn ()
 
virtual void ResetPipeline ()
 
void SetReleaseDataFlag (bool flag)
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
void UpdateSource () const
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
virtual const RealTimeStampGetRealTimeStamp () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::PointSetBase< TMeshTraits::PointsContainer >
static constexpr unsigned int GetPointDimension ()
 
- Static Public Member Functions inherited from itk::DataObject
static bool GetGlobalReleaseDataFlag ()
 
static void GlobalReleaseDataFlagOff ()
 
static void GlobalReleaseDataFlagOn ()
 
static Pointer New ()
 
static void SetGlobalReleaseDataFlag (bool val)
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Member Functions

LightObject::Pointer InternalClone () const override
 
 PointSet ()=default
 
 ~PointSet () override=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
- Protected Member Functions inherited from itk::PointSetBase< TMeshTraits::PointsContainer >
LightObject::Pointer InternalClone () const override
 
 PointSetBase ()=default
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~PointSetBase () override=0
 
- Protected Member Functions inherited from itk::DataObject
 DataObject ()
 
virtual void PropagateResetPipeline ()
 
 ~DataObject () override
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Protected Attributes

PointDataContainerPointer m_PointDataContainer {}
 
- Protected Attributes inherited from itk::PointSetBase< TMeshTraits::PointsContainer >
RegionType m_BufferedRegion
 
RegionType m_MaximumNumberOfRegions
 
RegionType m_NumberOfRegions
 
PointsContainerPointer m_PointsContainer
 
RegionType m_RequestedNumberOfRegions
 
RegionType m_RequestedRegion
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Additional Inherited Members

- Static Public Attributes inherited from itk::PointSetBase< TMeshTraits::PointsContainer >
static constexpr unsigned int PointDimension
 

Member Typedef Documentation

◆ ConstPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::ConstPointer = SmartPointer<const Self>

Definition at line 90 of file itkPointSet.h.

◆ MeshTraits

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::MeshTraits = TMeshTraits

Hold on to the type information specified by the template parameters.

Definition at line 99 of file itkPointSet.h.

◆ PixelType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::PixelType = typename MeshTraits::PixelType

Definition at line 100 of file itkPointSet.h.

◆ PointDataContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::PointDataContainer = typename MeshTraits::PointDataContainer

Definition at line 105 of file itkPointSet.h.

◆ PointDataContainerConstPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::PointDataContainerConstPointer = typename PointDataContainer::ConstPointer

Definition at line 109 of file itkPointSet.h.

◆ PointDataContainerIterator

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::PointDataContainerIterator = typename PointDataContainer::ConstIterator

Create types that are iterators for each of the container types.

Definition at line 112 of file itkPointSet.h.

◆ PointDataContainerPointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::PointDataContainerPointer = typename PointDataContainer::Pointer

Create types that are pointers to each of the container types.

Definition at line 108 of file itkPointSet.h.

◆ Pointer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::Pointer = SmartPointer<Self>

Definition at line 89 of file itkPointSet.h.

◆ PointIdentifier

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::PointIdentifier = typename MeshTraits::PointIdentifier

Convenient type alias obtained from TMeshTraits template parameter.

Definition at line 103 of file itkPointSet.h.

◆ PointType

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::PointType = typename MeshTraits::PointType

Definition at line 104 of file itkPointSet.h.

◆ Self

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::Self = PointSet

Standard class type aliases.

Definition at line 87 of file itkPointSet.h.

◆ Superclass

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
using itk::PointSet< TPixelType, VDimension, TMeshTraits >::Superclass = PointSetBase<typename TMeshTraits::PointsContainer>

Definition at line 88 of file itkPointSet.h.

Constructor & Destructor Documentation

◆ PointSet()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
itk::PointSet< TPixelType, VDimension, TMeshTraits >::PointSet ( )
protecteddefault

Constructor for use by New() method.

◆ ~PointSet()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
itk::PointSet< TPixelType, VDimension, TMeshTraits >::~PointSet ( )
overrideprotecteddefault

Constructor for use by New() method.

Member Function Documentation

◆ GetNameOfClass()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const char* itk::PointSet< TPixelType, VDimension, TMeshTraits >::GetNameOfClass ( ) const
overridevirtual

◆ GetPointData() [1/3]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
PointDataContainer* itk::PointSet< TPixelType, VDimension, TMeshTraits >::GetPointData ( )

Get the point data container.

◆ GetPointData() [2/3]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
const PointDataContainer* itk::PointSet< TPixelType, VDimension, TMeshTraits >::GetPointData ( ) const

Get the point data container.

◆ GetPointData() [3/3]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
bool itk::PointSet< TPixelType, VDimension, TMeshTraits >::GetPointData ( PointIdentifier  ,
PixelType  
) const

Check if point data exists for a given point identifier. If a spot for the point identifier exists, "data" is set, and true is returned. Otherwise, false is returned, and "data" is not modified. If "data" is nullptr, then it is never set, but the existence of the point data is still returned.

◆ Graft()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::PointSet< TPixelType, VDimension, TMeshTraits >::Graft ( const DataObject )
overridevirtual

Method for grafting the content of one data object into another one. This method is intended to be overloaded by derived classes. Each one of them should use dynamic_casting in order to verify that the grafted object is actually of the same type as the class on which the Graft() method was invoked.

Reimplemented from itk::DataObject.

Reimplemented in itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::Mesh< TPixel, VDimension, TTraits >, and itk::Mesh< TCoordinate, 2, DefaultDynamicMeshTraits< TCoordinate, 2, 2, TCoordinate > >.

◆ Initialize()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::PointSet< TPixelType, VDimension, TMeshTraits >::Initialize ( )
overridevirtual

Restore the PointSet to its initial state. Useful for data pipeline updates without memory re-allocation.

Reimplemented from itk::DataObject.

Reimplemented in itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::Mesh< TPixel, VDimension, TTraits >, and itk::Mesh< TCoordinate, 2, DefaultDynamicMeshTraits< TCoordinate, 2, 2, TCoordinate > >.

◆ InternalClone()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
LightObject::Pointer itk::PointSet< TPixelType, VDimension, TMeshTraits >::InternalClone ( ) const
overrideprotectedvirtual

Actual implementation of the clone method. This method should be reimplemented in subclasses to clone the extra required parameters.

Reimplemented from itk::LightObject.

◆ New()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
static Pointer itk::PointSet< TPixelType, VDimension, TMeshTraits >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::PointSet< TPixelType, VDimension, TMeshTraits >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

◆ SetPointData() [1/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::PointSet< TPixelType, VDimension, TMeshTraits >::SetPointData ( PointDataContainer )

Set the point data container.

◆ SetPointData() [2/2]

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
void itk::PointSet< TPixelType, VDimension, TMeshTraits >::SetPointData ( PointIdentifier  ,
PixelType   
)

Assign data to a point identifier. If a spot for the point identifier does not exist, it will be created automatically. There is no check if a point with the same identifier exists.

Member Data Documentation

◆ m_PointDataContainer

template<typename TPixelType, unsigned int VDimension = 3, typename TMeshTraits = DefaultStaticMeshTraits<TPixelType, VDimension, VDimension>>
PointDataContainerPointer itk::PointSet< TPixelType, VDimension, TMeshTraits >::m_PointDataContainer {}
protected

An object containing data associated with the mesh's points. Optionally, this can be nullptr, indicating that no data are associated with the points. The data for a point can be accessed through its point identifier.

Definition at line 119 of file itkPointSet.h.


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