ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkSimplexMesh.h>
The class represents a 2-simplex mesh.
A simplex mesh can be used for deformable model segmentation of 3D image data. To create a simplex mesh one needs a triangle mesh, which can be converted to using the class itkTriangleMeshToSimplexMeshFilter. The back filtering (from simplex to trinagle mesh)is done through a itkSimplexMeshToTriangleMeshFilter.
Definition at line 47 of file itkSimplexMesh.h.
Public Types | |
using | CellAutoPointer = typename CellType::CellAutoPointer |
using | CellIdentifier = typename Superclass::CellIdentifier |
using | CellsContainerConstIterator = typename Superclass::CellsContainerConstIterator |
using | CellsContainerConstPointer = typename Superclass::CellsContainerConstPointer |
using | CellsContainerIterator = typename Superclass::CellsContainerIterator |
using | CellsContainerPointer = typename Superclass::CellsContainerPointer |
using | CellType = typename Superclass::CellType |
using | ConstPointer = SmartPointer< const Self > |
using | CovariantVectorType = CovariantVector< typename VectorType::ValueType, 3 > |
using | GeometryMapConstIterator = typename GeometryMapType::ConstIterator |
using | GeometryMapIterator = typename GeometryMapType::Iterator |
using | GeometryMapPointer = typename GeometryMapType::Pointer |
using | GeometryMapType = itk::MapContainer< SizeValueType, SimplexMeshGeometry * > |
using | IndexArray = typename SimplexMeshGeometry::IndexArray |
using | LineType = itk::LineCell< CellType > |
using | MeshTraits = TMeshTraits |
using | NeighborListType = std::vector< SizeValueType > |
using | NeighborSetIterator = typename NeighborSetType::iterator |
using | NeighborSetType = std::set< SizeValueType > |
using | PixelType = typename MeshTraits::PixelType |
using | Pointer = SmartPointer< Self > |
using | PointIdentifier = typename TMeshTraits::PointIdentifier |
using | PointsContainer = typename MeshTraits::PointsContainer |
using | PointsContainerConstIterator = typename Superclass::PointsContainerConstIterator |
using | PointsContainerIterator = typename Superclass::PointsContainer::Iterator |
using | PointsContainerPointer = typename Superclass::PointsContainerPointer |
using | PointType = typename TMeshTraits::PointType |
using | Self = SimplexMesh |
using | Superclass = Mesh< TPixelType, VDimension, TMeshTraits > |
using | VectorType = typename PointType::VectorType |
Public Types inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
using | BoundaryAssignmentsContainer = MapContainer< BoundaryAssignmentIdentifier, CellIdentifier > |
using | BoundaryAssignmentsContainerPointer = typename BoundaryAssignmentsContainer::Pointer |
using | BoundaryAssignmentsContainerVector = std::vector< BoundaryAssignmentsContainerPointer > |
using | BoundingBoxPointer = typename BoundingBoxType::Pointer |
using | BoundingBoxType = BoundingBox< PointIdentifier, Self::PointDimension, CoordRepType, PointsContainer > |
using | CellAutoPointer = typename CellType::CellAutoPointer |
using | CellDataContainer = typename MeshTraits::CellDataContainer |
using | CellDataContainerConstPointer = typename CellDataContainer::ConstPointer |
using | CellDataContainerIterator = typename CellDataContainer::ConstIterator |
using | CellDataContainerPointer = typename CellDataContainer::Pointer |
using | CellFeatureCount = CellFeatureIdentifier |
using | CellFeatureIdentifier = typename MeshTraits::CellFeatureIdentifier |
using | CellIdentifier = typename MeshTraits::CellIdentifier |
using | CellLinksContainer = typename MeshTraits::CellLinksContainer |
using | CellLinksContainerConstPointer = typename CellLinksContainer::ConstPointer |
using | CellLinksContainerIterator = typename CellLinksContainer::ConstIterator |
using | CellLinksContainerPointer = typename CellLinksContainer::Pointer |
using | CellMultiVisitorType = typename CellType::MultiVisitor |
using | CellPixelType = typename MeshTraits::CellPixelType |
enum | CellsAllocationMethodType { CellsAllocationMethodUndefined, CellsAllocatedAsStaticArray, CellsAllocatedAsADynamicArray, CellsAllocatedDynamicallyCellByCell } |
using | CellsContainer = typename MeshTraits::CellsContainer |
using | CellsContainerConstIterator = typename CellsContainer::ConstIterator |
using | CellsContainerConstPointer = typename CellsContainer::ConstPointer |
using | CellsContainerIterator = typename CellsContainer::Iterator |
using | CellsContainerPointer = typename CellsContainer::Pointer |
using | CellTraits = typename MeshTraits::CellTraits |
using | CellType = CellInterface< CellPixelType, CellTraits > |
using | ConstPointer = SmartPointer< const Self > |
using | CoordRepType = typename MeshTraits::CoordRepType |
using | InterpolationWeightType = typename MeshTraits::InterpolationWeightType |
using | MeshTraits = TMeshTraits |
using | PixelType = typename MeshTraits::PixelType |
using | PointCellLinksContainer = typename MeshTraits::PointCellLinksContainer |
using | PointCellLinksContainerIterator = typename PointCellLinksContainer::const_iterator |
using | PointDataContainer = typename MeshTraits::PointDataContainer |
using | PointDataContainerIterator = typename PointDataContainer::ConstIterator |
using | PointDataContainerPointer = typename PointDataContainer::Pointer |
using | Pointer = SmartPointer< Self > |
using | PointHashType = typename MeshTraits::PointHashType |
using | PointIdentifier = typename MeshTraits::PointIdentifier |
using | PointsContainer = typename MeshTraits::PointsContainer |
using | PointsContainerConstIterator = typename PointsContainer::ConstIterator |
using | PointsContainerIterator = typename PointsContainer::Iterator |
using | PointsContainerPointer = typename PointsContainer::Pointer |
using | PointType = typename MeshTraits::PointType |
using | RegionType = typename Superclass::RegionType |
using | Self = Mesh |
using | Superclass = PointSet< TPixelType, VDimension, TMeshTraits > |
Public Types inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
using | ConstPointer = SmartPointer< const Self > |
using | CoordRepType = typename MeshTraits::CoordRepType |
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 | PointsContainer = typename MeshTraits::PointsContainer |
using | PointsContainerConstIterator = typename PointsContainer::ConstIterator |
using | PointsContainerConstPointer = typename PointsContainer::ConstPointer |
using | PointsContainerIterator = typename PointsContainer::Iterator |
using | PointsContainerPointer = typename PointsContainer::Pointer |
using | PointType = typename MeshTraits::PointType |
using | RegionType = long |
using | Self = PointSet |
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 |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::DataObject | |
static bool | GetGlobalReleaseDataFlag () |
static void | GlobalReleaseDataFlagOff () |
static void | GlobalReleaseDataFlagOn () |
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 flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
SimplexMesh () | |
~SimplexMesh () override | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
Protected Member Functions inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
void | ReleaseCellsMemory () |
Mesh () | |
~Mesh () override | |
Protected Member Functions inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
PointSet () | |
~PointSet () override=default | |
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 &time) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes | |
GeometryMapPointer | m_GeometryData |
CellIdentifier | m_LastCellId |
Protected Attributes inherited from itk::Mesh< TPixelType, VDimension, TMeshTraits > | |
BoundaryAssignmentsContainerVector | m_BoundaryAssignmentsContainers |
BoundingBoxPointer | m_BoundingBox |
CellDataContainerPointer | m_CellDataContainer |
CellLinksContainerPointer | m_CellLinksContainer |
CellsContainerPointer | m_CellsContainer |
Protected Attributes inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
RegionType | m_BufferedRegion |
RegionType | m_MaximumNumberOfRegions |
RegionType | m_NumberOfRegions |
PointDataContainerPointer | m_PointDataContainer |
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::Mesh< TPixelType, VDimension, TMeshTraits > | |
static constexpr unsigned int | MaxTopologicalDimension = TMeshTraits::MaxTopologicalDimension |
static constexpr unsigned int | PointDimension = TMeshTraits::PointDimension |
Static Public Attributes inherited from itk::PointSet< TPixelType, VDimension, TMeshTraits > | |
static constexpr unsigned int | PointDimension = TMeshTraits::PointDimension |
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellAutoPointer = typename CellType::CellAutoPointer |
Definition at line 92 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellIdentifier = typename Superclass::CellIdentifier |
Definition at line 125 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellsContainerConstIterator = typename Superclass::CellsContainerConstIterator |
Definition at line 124 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellsContainerConstPointer = typename Superclass::CellsContainerConstPointer |
Definition at line 122 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellsContainerIterator = typename Superclass::CellsContainerIterator |
Definition at line 123 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellsContainerPointer = typename Superclass::CellsContainerPointer |
Definition at line 121 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CellType = typename Superclass::CellType |
Definition at line 89 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ConstPointer = SmartPointer< const Self > |
Standard type alias.
Definition at line 62 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::CovariantVectorType = CovariantVector< typename VectorType::ValueType, 3 > |
Definition at line 86 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapConstIterator = typename GeometryMapType::ConstIterator |
Definition at line 106 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapIterator = typename GeometryMapType::Iterator |
iterator definition for iterating over a geometry map
Definition at line 105 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapPointer = typename GeometryMapType::Pointer |
smartpointer def for the geometry map
Definition at line 102 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GeometryMapType = itk::MapContainer< SizeValueType, SimplexMeshGeometry * > |
map containing a SimplexMeshGeometry data object for each mesh point
Definition at line 99 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::IndexArray = typename SimplexMeshGeometry::IndexArray |
definition for array of indices.
Definition at line 65 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::LineType = itk::LineCell< CellType > |
Definition at line 95 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::MeshTraits = TMeshTraits |
Hold on to the type information specified by the template parameters.
Definition at line 115 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::NeighborListType = std::vector< SizeValueType > |
Definition at line 74 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::NeighborSetIterator = typename NeighborSetType::iterator |
Definition at line 71 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::NeighborSetType = std::set< SizeValueType > |
definition for a set of neighbor indices
Definition at line 68 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PixelType = typename MeshTraits::PixelType |
Definition at line 116 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::Pointer = SmartPointer< Self > |
Standard type alias.
Definition at line 59 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointIdentifier = typename TMeshTraits::PointIdentifier |
Definition at line 80 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointsContainer = typename MeshTraits::PointsContainer |
Definition at line 117 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointsContainerConstIterator = typename Superclass::PointsContainerConstIterator |
Definition at line 120 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointsContainerIterator = typename Superclass::PointsContainer::Iterator |
Definition at line 119 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointsContainerPointer = typename Superclass::PointsContainerPointer |
Definition at line 118 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::PointType = typename TMeshTraits::PointType |
Definition at line 77 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::Self = SimplexMesh |
Standard type alias.
Definition at line 53 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::Superclass = Mesh< TPixelType, VDimension, TMeshTraits > |
Standard type alias.
Definition at line 56 of file itkSimplexMesh.h.
using itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::VectorType = typename PointType::VectorType |
Definition at line 83 of file itkSimplexMesh.h.
|
protected |
Constructor for use by New() method.
|
overrideprotected |
Constructor for use by New() method.
CellIdentifier itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::AddEdge | ( | PointIdentifier | startPointId, |
PointIdentifier | endPointId | ||
) |
Add a new edge to the simplex mesh by specifying the ids of the start and end point of the edge Note: This can destroy the simplex mesh structure! Better use the simplex mesh modification or creation filters
CellIdentifier itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::AddFace | ( | CellAutoPointer & | cellPointer | ) |
Add a new simplex mesh cell to the mesh by passing an AutoPointer of a previously created simplex mesh cell
Note: This can destroy the simplex mesh structure! You should use the simplex mesh modification or creation filters.
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::AddNeighbor | ( | PointIdentifier | pointId, |
PointIdentifier | neighborId | ||
) |
Add a neighbor to a point. Note: This can destroy the simplex mesh topology! Better use te simplex mesh creation filters.
CovariantVectorType itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ComputeNormal | ( | PointIdentifier | idx | ) | const |
compute the normal vector in the specified mesh point
|
overridevirtual |
copy all necessary information from passed object to the mesh
Reimplemented from itk::Mesh< TPixelType, VDimension, TMeshTraits >.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Mesh< TPixelType, VDimension, TMeshTraits >.
PointType itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetBarycentricCoordinates | ( | PointIdentifier | idx | ) | const |
Set the barycentric coordinates for a specified point
double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetDistance | ( | PointIdentifier | idx | ) | const |
Get the distance to the foot point for the specified point
|
virtual |
returns the current map of geometrydata
|
virtual |
Set the id value valid for new cells
double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetMeanCurvature | ( | PointIdentifier | idx | ) | const |
Get the mean curvature for the specified point
|
virtual |
Standard part of every itk Object.
Reimplemented from itk::Mesh< TPixelType, VDimension, TMeshTraits >.
IndexArray itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetNeighbors | ( | PointIdentifier | pointId | ) | const |
Get the three direct neighbors of a point
NeighborListType* itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetNeighbors | ( | PointIdentifier | pointId, |
unsigned int | radius, | ||
NeighborListType * | list = nullptr |
||
) | const |
Get all neighbor points with a specified radius
double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetPhi | ( | PointIdentifier | idx | ) | const |
Get the simplex angle for the specified point
double itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetRadius | ( | PointIdentifier | idx | ) | const |
Get the circum circles radius for the specified point
PointType itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::GetReferenceMetrics | ( | PointIdentifier | idx | ) | const |
Return the reference metrics for the specified point
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Constructor for use by New() method.
Reimplemented from itk::Mesh< TPixelType, VDimension, TMeshTraits >.
CellIdentifier itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ReplaceFace | ( | CellIdentifier | replaceIndex, |
CellAutoPointer & | cellPointer | ||
) |
Replaces the cell specified by replaceIndex with the new cell passed by its AutoPointer
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::ReplaceNeighbor | ( | PointIdentifier | pointId, |
PointIdentifier | oldNeighborId, | ||
PointIdentifier | newNeighborIdx | ||
) |
Replace a neighbor of a specific point by a new one
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetBarycentricCoordinates | ( | PointIdentifier | idx, |
PointType | values | ||
) |
Set the geometry data for a specified point
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetDistance | ( | PointIdentifier | idx, |
double | values | ||
) |
Set the distance to the foot point for the specified point
|
virtual |
set the map of geometrydata to the new pointer
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetGeometryData | ( | PointIdentifier | pointId, |
SimplexMeshGeometry * | |||
) |
Set the geometry data for a specified point
|
virtual |
Get the first free id for new cells
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetMeanCurvature | ( | PointIdentifier | idx, |
double | values | ||
) |
Set the mean curvature for the specified point
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetPhi | ( | PointIdentifier | idx, |
double | values | ||
) |
Set the simplex angle for the specified point
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetRadius | ( | PointIdentifier | idx, |
double | values | ||
) |
Set the circum circles radius for the specified point
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SetReferenceMetrics | ( | PointIdentifier | idx, |
PointType | values | ||
) |
Set the reference metrics for a specified point
void itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >::SwapNeighbors | ( | PointIdentifier | pointId, |
PointIdentifier | firstNeighborId, | ||
PointIdentifier | secondNeighborId | ||
) |
Swap the order of two neighbors
|
protected |
The map stores a SimplexMeshGeometry object for each mesh point
Definition at line 273 of file itkSimplexMesh.h.
|
protected |
The last cell id is the index which is used for insertion of new cells. It increases during mesh creation. This is done because one cannot rely on the size of the map or the highest index when cells are removed.
Definition at line 281 of file itkSimplexMesh.h.