#include <Geom_MeshSpatialObject.h>
Inheritance diagram for mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >:
Public Types | |
typedef Geom_MeshSpatialObject | Self |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
typedef itk::WeakPointer< const Self > | ConstWeakPointer |
typedef MType | MatrixType |
The internal matrix type. | |
typedef VType | VectorType |
The internal vector type. | |
typedef itk::DefaultDynamicMeshTraits< dType, nDims, nDims > | MeshTrait |
typedef itk::Mesh< dType, nDims, MeshTrait > | MeshType |
typedef MeshType::PointType | PointType |
typedef itk::MeshSpatialObject< MeshType > | MeshSpatialObjectType |
typedef MeshSpatialObjectType::Pointer | MeshSpatialObjectPointerType |
typedef MeshType::CellType | CellType |
typedef CellType::CoordRepType | CoordRepType |
typedef itk::TriangleCell< CellType > | TriangleType |
typedef CellType::CellAutoPointer | CellAutoPointer |
typedef MeshType::CellsContainer::ConstIterator | CellIterator |
typedef itk::GroupSpatialObject< nDims > | GroupType |
typedef itk::SpatialObjectReader< nDims, dType, MeshTrait > | ReaderType |
typedef itk::SpatialObjectWriter< nDims, dType, MeshTrait > | WriterType |
typedef Geometric< dType, nDims >::BinaryImageType | BinaryImageType |
The type of binary image. | |
typedef BinaryImageType::Pointer | BinaryImageTypePointer |
Public Member Functions | |
virtual MatrixType | getMatrixNodePositions () |
Pure virtual member function. Returns the matrix node positions. | |
virtual void | writeNodesToFile (std::string fileName) |
Pure virtual member function. Writes the nodes to a file. | |
virtual void | readNodesFromFile (std::string fileName) |
Pure virtual member function. Reads the nodes from a file. | |
virtual bool | readTopologyFromFile (std::string fileName) |
virtual bool | setMatrixNodePositions (MatrixType, int *) |
Pure virtual member. | |
virtual bool | setMatrixNodePositions (MatrixType) |
Pure virtual member. | |
virtual void | writeObjectToFile (std::string fileName) |
virtual itk::Image< unsigned char, nDims >::Pointer | generateBinaryImageFromTopology (typename BinaryImageType::SizeType size) |
Pure virtual member function. Creates a binary mask image from the organism. | |
virtual void | generateTopologyFromBinaryImage (BinaryImageTypePointer binaryInputImage) |
Pure virtual member function. Creates an organism from a binary mask. | |
virtual bool | removeNode (int nodeNumber) |
Pure virtual member function. | |
virtual bool | addNodes (MatrixType node, VectorType classes) |
Pure virtual member function. | |
virtual bool | addConnection (int, int) |
Pure virtual member function. | |
virtual MatrixType | getMatrixConnections () |
Pure virtual member function. Returns the matrix of connections. | |
virtual bool | isInside (VectorType p) |
Public Attributes | |
MeshSpatialObjectType::Pointer | theMeshSpatialObject |
MeshType::Pointer | theMesh |
WriterType::Pointer | writer |
Protected Member Functions | |
Geom_MeshSpatialObject (dType p=0.001) | |
The default constructor. |
A derived class of the Geometrical ABC, this class provides the framework with the functionality of ITK mesh spatial objects. Creating a deformable organism is made easy with this class, as it can import any triangulated mesh spatial object contained in a meta file. It can also convert triangulated BYU surfaces to meta format, and import those. The primary restriction of this class is that it must be a triangulated mesh and, as such, parts of this classes functionality are currently restricted to 3D. Specifically, its ability to generate binary images from mesh objects. This class is also designed specifically to complement the Phys_LevelSet class. This class is currently classified as unstable, since it is constantly evolving to meet the changing needs of our framework.
dType | The data type used for numerical storage. | |
nDims | The number of dimensions. | |
MType | The matrix type used for internal matrix storage. Defaults to vnl_matrix<dType>. Only vnl is supported at this time. | |
VType | The vector type used for internal vector storage. Defaults to vnl_vector<dType>. Only vnl is supported at this time. |
Definition at line 43 of file Geom_MeshSpatialObject.h.
mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::Geom_MeshSpatialObject | ( | dType | p = 0.001 |
) | [protected] |
The default constructor.
p | The precision used to check if a point lies inside the object for conversion to a binary image. |
Definition at line 10 of file Geom_MeshSpatialObject.cxx.
bool mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::addConnection | ( | int | , | |
int | ||||
) | [virtual] |
Pure virtual member function.
Adds a connection between nodes in the organism, should be ran in conjunction with addNode. Implementations should correctly update the topology, and change the state variables.
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 596 of file Geom_MeshSpatialObject.cxx.
bool mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::addNodes | ( | MatrixType | node, | |
VectorType | classes | |||
) | [virtual] |
Pure virtual member function.
Adds nodes to the organism, should be ran in conjunction with addConnection. Implementations should correctly update the topology, and change the state variables.
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 56 of file Geom_MeshSpatialObject.cxx.
virtual itk::Image< unsigned char, nDims>::Pointer mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::generateBinaryImageFromTopology | ( | typename BinaryImageType::SizeType | size | ) | [virtual] |
Pure virtual member function. Creates a binary mask image from the organism.
Any implementation of this method should a binary image.
Implements mial::Geometric< dType, nDims, MType, VType >.
void mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::generateTopologyFromBinaryImage | ( | BinaryImageTypePointer | binaryInputImage | ) | [virtual] |
Pure virtual member function. Creates an organism from a binary mask.
Any implementation of this method should produce a deformable organism from a binary image.
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 444 of file Geom_MeshSpatialObject.cxx.
virtual MatrixType mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::getMatrixConnections | ( | ) | [inline, virtual] |
Pure virtual member function. Returns the matrix of connections.
Implementation should update the matrix connections before returning, hence why this is a pure virtual.
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 116 of file Geom_MeshSpatialObject.h.
MType mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::getMatrixNodePositions | ( | ) | [virtual] |
Pure virtual member function. Returns the matrix node positions.
Implementation should update the matrix node positions before returning, hence why this is a pure virtual.
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 21 of file Geom_MeshSpatialObject.cxx.
Referenced by mial::Phys_VesselCrawlerEuler< DataType, TGradientImage, nDims, MType, VType >::simulate().
void mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::readNodesFromFile | ( | std::string | fileName | ) | [virtual] |
Pure virtual member function. Reads the nodes from a file.
Derived class will need to update its own internal topology representation.
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 226 of file Geom_MeshSpatialObject.cxx.
virtual bool mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::removeNode | ( | int | nodeNumber | ) | [inline, virtual] |
Pure virtual member function.
Removes a node from the organism. Implementations must make sure to correctly update the topology, and set the state variables.
index | The index of the node to be removed. |
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 113 of file Geom_MeshSpatialObject.h.
bool mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::setMatrixNodePositions | ( | MatrixType | ) | [virtual] |
Pure virtual member.
Set the matrix node positions for all nodes.
pos | the positions |
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 90 of file Geom_MeshSpatialObject.cxx.
bool mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::setMatrixNodePositions | ( | MatrixType | , | |
int * | ||||
) | [virtual] |
Pure virtual member.
Set the matrix node positions at particular rows.
pos | The new positions. | |
rows | The rows to change. |
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 45 of file Geom_MeshSpatialObject.cxx.
Referenced by mial::Phys_VesselCrawlerEuler< DataType, TGradientImage, nDims, MType, VType >::simulate().
void mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::writeNodesToFile | ( | std::string | fileName | ) | [virtual] |
Pure virtual member function. Writes the nodes to a file.
Implementation should update the matrix positions before calling, hence why this is a pure virtual.
Implements mial::Geometric< dType, nDims, MType, VType >.
Definition at line 197 of file Geom_MeshSpatialObject.cxx.