ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
itk::PointSetBase< TPointsContainer > Class Template Referenceabstract

#include <itkPointSetBase.h>

Detailed Description

template<typename TPointsContainer>
class itk::PointSetBase< TPointsContainer >

A superclass of PointSet supports point (geometric coordinate and attribute) definition.

PointSetBase is a superclass of PointSet. It provides the portion of the point set definition for geometric coordinates (and region information). The defined API provides operations on points but does not tie down the underlying implementation and storage.

Template Parameters
TPointsContainerType of the container of points. Typically either an itk::VectorContainer<PointType> or an itk::MapContainer<PointType>.).

Definition at line 56 of file itkPointSetBase.h.

+ Inheritance diagram for itk::PointSetBase< TPointsContainer >:
+ Collaboration diagram for itk::PointSetBase< TPointsContainer >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using CoordinateType = typename PointType::CoordinateType
 
using Pointer = SmartPointer< Self >
 
using PointIdentifier = typename TPointsContainer::ElementIdentifier
 
using PointsContainer = TPointsContainer
 
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 TPointsContainer::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

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 Graft (const DataObject *)
 
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 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 ()
 

Static Public Attributes

static constexpr unsigned int PointDimension = PointType::PointDimension
 

Protected Member Functions

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

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

Member Typedef Documentation

◆ ConstPointer

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::ConstPointer = SmartPointer<const Self>

Definition at line 65 of file itkPointSetBase.h.

◆ CoordinateType

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::CoordinateType = typename PointType::CoordinateType

Definition at line 74 of file itkPointSetBase.h.

◆ Pointer

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::Pointer = SmartPointer<Self>

Definition at line 64 of file itkPointSetBase.h.

◆ PointIdentifier

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointIdentifier = typename TPointsContainer::ElementIdentifier

Definition at line 79 of file itkPointSetBase.h.

◆ PointsContainer

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointsContainer = TPointsContainer

Definition at line 80 of file itkPointSetBase.h.

◆ PointsContainerConstIterator

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointsContainerConstIterator = typename PointsContainer::ConstIterator

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

Definition at line 94 of file itkPointSetBase.h.

◆ PointsContainerConstPointer

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointsContainerConstPointer = typename PointsContainer::ConstPointer

Definition at line 91 of file itkPointSetBase.h.

◆ PointsContainerIterator

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointsContainerIterator = typename PointsContainer::Iterator

Definition at line 95 of file itkPointSetBase.h.

◆ PointsContainerPointer

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointsContainerPointer = typename PointsContainer::Pointer

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

Definition at line 90 of file itkPointSetBase.h.

◆ PointsVectorContainer

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointsVectorContainer = typename itk::VectorContainer<PointIdentifier, CoordinateType>

For improving Python support for PointSetBase and Meshes

Definition at line 83 of file itkPointSetBase.h.

◆ PointsVectorContainerPointer

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointsVectorContainerPointer = typename PointsVectorContainer::Pointer

Definition at line 84 of file itkPointSetBase.h.

◆ PointType

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::PointType = typename TPointsContainer::Element

Convenient type alias obtained from TPointsContainer template parameter.

Definition at line 73 of file itkPointSetBase.h.

◆ RegionType

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::RegionType = long

Type used to define Regions

Definition at line 98 of file itkPointSetBase.h.

◆ Self

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::Self = PointSetBase

Standard class type aliases.

Definition at line 62 of file itkPointSetBase.h.

◆ Superclass

template<typename TPointsContainer>
using itk::PointSetBase< TPointsContainer >::Superclass = DataObject

Definition at line 63 of file itkPointSetBase.h.

Constructor & Destructor Documentation

◆ PointSetBase()

template<typename TPointsContainer>
itk::PointSetBase< TPointsContainer >::PointSetBase ( )
protecteddefault

Default-constructor, to be used by derived classes.

◆ ~PointSetBase()

template<typename TPointsContainer>
itk::PointSetBase< TPointsContainer >::~PointSetBase ( )
overrideprotectedpure virtual

Pure virtual destructor, to be used by derived classes.

Member Function Documentation

◆ CopyInformation()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::CopyInformation ( const DataObject )
overridevirtual

Copy information from the specified data set. This method is part of the pipeline execution model. By default, a ProcessObject will copy meta-data from the first input to all of its outputs. See ProcessObject::GenerateOutputInformation(). Each subclass of DataObject is responsible for being able to copy whatever meta-data it needs from from another DataObject. The default implementation of this method is empty. If a subclass overrides this method, it should always call its superclass' version.

Reimplemented from itk::DataObject.

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

◆ GetBufferedRegion()

template<typename TPointsContainer>
virtual RegionType itk::PointSetBase< TPointsContainer >::GetBufferedRegion ( ) const
virtual

◆ GetMaximumNumberOfRegions()

template<typename TPointsContainer>
virtual RegionType itk::PointSetBase< TPointsContainer >::GetMaximumNumberOfRegions ( ) const
virtual

Get the maximum number of regions that this data can be separated into.

◆ GetNameOfClass()

template<typename TPointsContainer>
const char* itk::PointSetBase< TPointsContainer >::GetNameOfClass ( ) const
overridevirtual

◆ GetNumberOfPoints()

template<typename TPointsContainer>
PointIdentifier itk::PointSetBase< TPointsContainer >::GetNumberOfPoints ( ) const

Get the number of points in the points container.

◆ GetPoint() [1/2]

template<typename TPointsContainer>
PointType itk::PointSetBase< TPointsContainer >::GetPoint ( PointIdentifier  ) const

Get the point for the given point identifier.

◆ GetPoint() [2/2]

template<typename TPointsContainer>
bool itk::PointSetBase< TPointsContainer >::GetPoint ( PointIdentifier  ,
PointType  
) const

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

◆ GetPointDimension()

template<typename TPointsContainer>
static constexpr unsigned int itk::PointSetBase< TPointsContainer >::GetPointDimension ( )
inlinestaticconstexpr

Point dimension. The dimension of a point is fixed at compile-time.

Definition at line 124 of file itkPointSetBase.h.

◆ GetPoints() [1/2]

template<typename TPointsContainer>
PointsContainer* itk::PointSetBase< TPointsContainer >::GetPoints ( )

Get the points container.

◆ GetPoints() [2/2]

template<typename TPointsContainer>
const PointsContainer* itk::PointSetBase< TPointsContainer >::GetPoints ( ) const

Get the points container.

◆ GetRequestedRegion()

template<typename TPointsContainer>
virtual RegionType itk::PointSetBase< TPointsContainer >::GetRequestedRegion ( ) const
virtual

◆ Initialize()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::Initialize ( )
overridevirtual

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

Reimplemented from itk::DataObject.

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

◆ InternalClone()

template<typename TPointsContainer>
LightObject::Pointer itk::PointSetBase< TPointsContainer >::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.

◆ itkCloneMacro()

template<typename TPointsContainer>
itk::PointSetBase< TPointsContainer >::itkCloneMacro ( Self  )

◆ PassStructure()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::PassStructure ( Self inputPointSet)

Copy the geometric and topological structure of the given input pointSet. The copying is done via reference counting.

◆ PrintSelf()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::DataObject.

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

◆ RequestedRegionIsOutsideOfTheBufferedRegion()

template<typename TPointsContainer>
bool itk::PointSetBase< TPointsContainer >::RequestedRegionIsOutsideOfTheBufferedRegion ( )
overridevirtual

Determine whether the RequestedRegion is outside of the BufferedRegion. This method returns true if the RequestedRegion is outside the BufferedRegion (true if at least one pixel is outside). This is used by the pipeline mechanism to determine whether a filter needs to re-execute in order to satisfy the current request. If the current RequestedRegion is already inside the BufferedRegion from the previous execution (and the current filter is up to date), then a given filter does not need to re-execute

Reimplemented from itk::DataObject.

◆ SetBufferedRegion()

template<typename TPointsContainer>
virtual void itk::PointSetBase< TPointsContainer >::SetBufferedRegion ( const RegionType region)
virtual

Set/Get the Buffered region

◆ SetPoint()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::SetPoint ( PointIdentifier  ,
PointType   
)

Assign a point to a point identifier. If a spot for the point identifier does not exist, it will be created automatically.

◆ SetPoints() [1/2]

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::SetPoints ( PointsContainer )

Set the points container.

◆ SetPoints() [2/2]

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::SetPoints ( PointsVectorContainer )

Set the points container using a 1D vector.

Warning
This member function is unsafe. It may just work, but it may also lead to undefined behavior.

◆ SetPointsByCoordinates()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::SetPointsByCoordinates ( const std::vector< CoordinateType > &  coordinates)

Sets the points by specifying its coordinates.

◆ SetRequestedRegion() [1/2]

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::SetRequestedRegion ( const DataObject data)
overridevirtual

Set the requested region from this data object to match the requested region of the data object passed in as a parameter. This method implements the API from DataObject. The data object parameter must be castable to a PointSetBase.

Reimplemented from itk::DataObject.

◆ SetRequestedRegion() [2/2]

template<typename TPointsContainer>
virtual void itk::PointSetBase< TPointsContainer >::SetRequestedRegion ( const RegionType region)
virtual

Set/Get the Requested region

◆ SetRequestedRegionToLargestPossibleRegion()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::SetRequestedRegionToLargestPossibleRegion ( )
overridevirtual

Set the RequestedRegion to the LargestPossibleRegion. This forces a filter to produce all of the output in one execution (i.e. not streaming) on the next call to Update().

Reimplemented from itk::DataObject.

◆ UpdateOutputInformation()

template<typename TPointsContainer>
void itk::PointSetBase< TPointsContainer >::UpdateOutputInformation ( )
overridevirtual

Methods to manage streaming.

Reimplemented from itk::DataObject.

◆ VerifyRequestedRegion()

template<typename TPointsContainer>
bool itk::PointSetBase< TPointsContainer >::VerifyRequestedRegion ( )
overridevirtual

Verify that the RequestedRegion is within the LargestPossibleRegion.

If the RequestedRegion is not within the LargestPossibleRegion, then the filter cannot possibly satisfy the request. This method returns true if the request can be satisfied (even if it will be necessary to process the entire LargestPossibleRegion) and returns false otherwise. This method is used by PropagateRequestedRegion(). PropagateRequestedRegion() throws a InvalidRequestedRegionError exception if the requested region is not within the LargestPossibleRegion. Default implementation simply returns true in order to support DataObjects that do not need regions (for instance itk::EquivalencyTable).

Reimplemented from itk::DataObject.

Member Data Documentation

◆ m_BufferedRegion

template<typename TPointsContainer>
RegionType itk::PointSetBase< TPointsContainer >::m_BufferedRegion { -1 }
protected

Definition at line 232 of file itkPointSetBase.h.

◆ m_MaximumNumberOfRegions

template<typename TPointsContainer>
RegionType itk::PointSetBase< TPointsContainer >::m_MaximumNumberOfRegions { 1 }
protected

Definition at line 229 of file itkPointSetBase.h.

◆ m_NumberOfRegions

template<typename TPointsContainer>
RegionType itk::PointSetBase< TPointsContainer >::m_NumberOfRegions { 1 }
protected

Definition at line 230 of file itkPointSetBase.h.

◆ m_PointsContainer

template<typename TPointsContainer>
PointsContainerPointer itk::PointSetBase< TPointsContainer >::m_PointsContainer {}
protected

An object containing points used by the mesh. Individual points are accessed through point identifiers.

Definition at line 107 of file itkPointSetBase.h.

◆ m_RequestedNumberOfRegions

template<typename TPointsContainer>
RegionType itk::PointSetBase< TPointsContainer >::m_RequestedNumberOfRegions {}
protected

Definition at line 231 of file itkPointSetBase.h.

◆ m_RequestedRegion

template<typename TPointsContainer>
RegionType itk::PointSetBase< TPointsContainer >::m_RequestedRegion { -1 }
protected

Definition at line 233 of file itkPointSetBase.h.

◆ PointDimension

template<typename TPointsContainer>
constexpr unsigned int itk::PointSetBase< TPointsContainer >::PointDimension = PointType::PointDimension
staticconstexpr

Convenient constant, indirectly obtained from TPointsContainer template parameter.

Definition at line 87 of file itkPointSetBase.h.


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