mial::Geom_MeshSpatialObject< dType, nDims, MType, VType > Class Template Reference

Derived geometric class based on a spatial object. More...

#include <Geom_MeshSpatialObject.h>

Inheritance diagram for mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >:

mial::Geometric< dType, nDims, MType, VType > mial::Geom_VesselCrawler< dType, nDims, MType, VType > List of all members.

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.

Detailed Description

template<class dType, int nDims, class MType = vnl_matrix<dType>, class VType = vnl_vector<dType>>
class mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >

Derived geometric class based on a spatial object.

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.

Parameters:
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.


Constructor & Destructor Documentation

template<class dType, int nDims, class MType, class VType>
mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::Geom_MeshSpatialObject ( dType  p = 0.001  )  [protected]

The default constructor.

Parameters:
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.


Member Function Documentation

template<class dType, int nDims, class MType, class VType>
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.

template<class dType, int nDims, class MType, class VType>
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.

template<class dType, int nDims, class MType = vnl_matrix<dType>, class VType = vnl_vector<dType>>
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 >.

template<class dType, int nDims, class MType, class 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.

template<class dType, int nDims, class MType = vnl_matrix<dType>, class VType = vnl_vector<dType>>
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.

template<class dType, int nDims, class MType, class VType>
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().

template<class dType, int nDims, class MType, class VType>
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.

template<class dType, int nDims, class MType = vnl_matrix<dType>, class VType = vnl_vector<dType>>
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.

Parameters:
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.

template<class dType, int nDims, class MType, class VType>
bool mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::setMatrixNodePositions ( MatrixType   )  [virtual]

Pure virtual member.

Set the matrix node positions for all nodes.

Parameters:
pos the positions

Implements mial::Geometric< dType, nDims, MType, VType >.

Definition at line 90 of file Geom_MeshSpatialObject.cxx.

template<class dType, int nDims, class MType, class VType>
bool mial::Geom_MeshSpatialObject< dType, nDims, MType, VType >::setMatrixNodePositions ( MatrixType  ,
int *   
) [virtual]

Pure virtual member.

Set the matrix node positions at particular rows.

Parameters:
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().

template<class dType, int nDims, class MType, class VType>
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.


The documentation for this class was generated from the following files:
Generated on Wed Jul 19 13:05:23 2006 for IDO by  doxygen 1.4.7