#include <mdsTriMesh.h>
Inheritance diagram for mds::seg::CTriMesh:

Public Types | |
| typedef std::vector< CTriFeatures > | tSegments |
| Vector of image features. | |
| typedef mds::base::CSharedPtr< CTriMesh > | tSmartPtr |
| Smart pointer type. | |
Public Member Functions | |
| bool | classifyAdjacent (double dBThreshold=DEFAULT_DISTANCE_THRESHOLD) |
| Classify all non-classified triangles with respect to the neighbours. | |
| CTriMesh (mds::img::CDImage *pEdgeImage) | |
| Constructor. | |
| CTriMesh () | |
| Default constructor. | |
| template<class S> | |
| void | deserialize (mds::mod::CChannelSerializer< S > &Reader) |
| Deserializes the triangular mesh. | |
| bool | edgeSplitting (double dMinLength=DEFAULT_MIN_EDGE_LENGTH, double dOrientThreshold=DEFAULT_SPLITTING_THRESHOLD) |
| Adaptation of the triangular mesh to the underlying image. | |
| bool | evaluateFeatures (bool bSkipSmall=true) |
| Evaluates image features of all triangles in the mesh. | |
| bool | evaluateSegmentFeatures (bool bSkipSmall=true) |
| Evaluates features of all segments in the mesh. | |
| mds::img::CDImage * | getEdgeImagePtr () |
| Returns pointer to the underlying edge image. | |
| mds::img::CDImage * | getImagePtr () |
| Returns pointer to the underlying image. | |
| int | getNumOfSegments () const |
| Returns number of regions. | |
| tSegments & | getSegments () |
| Returns vector of image features. | |
| bool | init (double dThreshold=DEFAULT_INIT_THRESHOLD, tSize CellSize=DEFAULT_CELL, tSize NumOfNodes=DEFAULT_NUMBER_OF_NODES, double dMinEdgeLength=DEFAULT_MIN_EDGE_LENGTH) |
| Initializes the Delaunay triangulation. | |
| MDS_ENTITY_BLOCK_SIZE (4096) | |
| Standard method getEntityBlockSize(). | |
| MDS_ENTITY_COMPRESSION (mds::mod::CC_RAW) | |
| Standard method getEntityCompression(). | |
| MDS_ENTITY_NAME ("TriMesh") | |
| Standard method getEntityName(). | |
| bool | noiseReduction () |
| Removes noisy (wrongly classified) tetrahedrons in the mesh. | |
| bool | regionGrowing (CTriSimilarityMeasure &Measure, double dBThreshold=DEFAULT_DISTANCE_THRESHOLD) |
| Simple region growing segmentation. | |
| bool | regionMerging (CTriSimilarityMeasure &Measure, double dBThreshold=DEFAULT_DISTANCE_THRESHOLD, tSize NumOfRegions=-1) |
| Aglomerative merging of regions in the mesh. | |
| bool | saveSTL (mds::mod::CChannel &Channel) |
| Writes triangular mesh to a given output channel in STL format. | |
| bool | saveVRML (mds::mod::CChannel &Channel) |
| Writes triangular mesh to a given output channel in VRML format. | |
| template<class S> | |
| void | serialize (mds::mod::CChannelSerializer< S > &Writer) |
| Serializes the triangular mesh. | |
| void | setEdgeImage (mds::img::CDImage *pEdgeImage) |
| Selection of the image for segmentation. | |
| void | setImage (mds::img::CDImage *pImage) |
| Selection of the image for segmentation. | |
| void | setNumOfSegments (int i) |
| Sets the number of regions. | |
| bool | triangleSplitting (CTriHomogeneityMeasure &Measure, double dMinLength=DEFAULT_MIN_EDGE_LENGTH) |
| Adaptation of the triangular mesh to the underlying image. | |
| void | visualize (mds::img::CDImage *pImage) |
| Visualizes the triangular mesh. | |
| virtual | ~CTriMesh () |
| Virtual destructor. | |
Static Public Attributes | |
| static const tSize | DEFAULT_CELL = 5 |
| Default parameters. | |
| static const tSize | DEFAULT_CELL_MARGIN = 1 |
| static const double | DEFAULT_DISTANCE_THRESHOLD = 1.5 |
| static const double | DEFAULT_INIT_THRESHOLD = 0.5 |
| static const double | DEFAULT_SPLITTING_THRESHOLD = 0.5 |
Protected Types | |
| typedef std::vector< vctl::MCPoint3D > | tPoints |
| Vector of points. | |
Protected Member Functions | |
| bool | checkBoundaryEdge (vctl::MCEdge *pEdge, double dThreshold=DEFAULT_DISTANCE_THRESHOLD) |
| Checks if a given edge is a boundary edge. | |
| void | reassignRegions () |
| Eliminates unused indexes of regions shaking down all currently assigned indexes. | |
| bool | splitEdge (vctl::MCEdge *pEdge, double dMinLength, double dThreshold, tPoints &Points) |
| Splits a given edge. | |
| bool | splitTriangle (vctl::MCTri *pTriangle, double dMinLength) |
| Splits a given triangle. | |
Static Protected Member Functions | |
| static void | edgeSplittingInsertFunc (vctl::MCTri *pTriangle, CDelaunayTri *pMesh) |
| Inserts triangle edges to the list of edges. | |
| static void | triangleSplittingInsertFunc (vctl::MCTri *pTriangle, CDelaunayTri *pMesh) |
| Evaluates triangle homogeneity and inserts it to the sorted queue. | |
| static void | triangleSplittingRemoveFunc (vctl::MCTri *pTriangle, CDelaunayTri *pMesh) |
| Unsorts triangle from the queue. | |
Protected Attributes | |
| int | m_iNumOfSegments |
| Number of segments in the mesh. | |
| CTriHomogeneityMeasure * | m_pHomogeneityMeasure |
| Currently used homogeneity measure. | |
| tSegments | m_Segments |
| Vector of image features extracted for every region. | |
| mds::img::CDImagePtr | m_spEdgeImage |
| Pointer to the underlying edge image. | |
| mds::img::CDImagePtr | m_spImage |
| Pointer to the underlying image. | |
Friends | |
| class | mds::base::CSharedPtr< CTriMesh > |
|
|
Vector of points.
|
|
|
Vector of image features.
|
|
|
Smart pointer type.
Reimplemented from mds::seg::CDelaunayTri. |
|
|
Default constructor.
|
|
|
Constructor.
|
|
|
Virtual destructor.
|
|
||||||||||||
|
Checks if a given edge is a boundary edge.
|
|
|
Classify all non-classified triangles with respect to the neighbours.
|
|
||||||||||
|
Deserializes the triangular mesh.
Reimplemented from mds::seg::CDelaunayTri. |
|
||||||||||||
|
Adaptation of the triangular mesh to the underlying image.
|
|
||||||||||||
|
Inserts triangle edges to the list of edges.
|
|
|
Evaluates image features of all triangles in the mesh.
|
|
|
Evaluates features of all segments in the mesh.
|
|
|
Returns pointer to the underlying edge image.
|
|
|
Returns pointer to the underlying image.
|
|
|
Returns number of regions.
|
|
|
Returns vector of image features.
|
|
||||||||||||||||||||
|
Initializes the Delaunay triangulation.
|
|
|
Standard method getEntityBlockSize().
Reimplemented from mds::seg::CDelaunayTri. |
|
|
Standard method getEntityCompression().
Reimplemented from mds::seg::CDelaunayTri. |
|
|
Standard method getEntityName().
|
|
|
Removes noisy (wrongly classified) tetrahedrons in the mesh.
|
|
|
Eliminates unused indexes of regions shaking down all currently assigned indexes.
|
|
||||||||||||
|
Simple region growing segmentation. Every region grows while a given similarity predicate holds and boundary edge is not touched.
|
|
||||||||||||||||
|
Aglomerative merging of regions in the mesh.
|
|
|
Writes triangular mesh to a given output channel in STL format.
|
|
|
Writes triangular mesh to a given output channel in VRML format.
|
|
||||||||||
|
Serializes the triangular mesh.
Reimplemented from mds::seg::CDelaunayTri. |
|
|
Selection of the image for segmentation.
|
|
|
Selection of the image for segmentation.
|
|
|
Sets the number of regions.
|
|
||||||||||||||||||||
|
Splits a given edge.
|
|
||||||||||||
|
Splits a given triangle.
|
|
||||||||||||
|
Adaptation of the triangular mesh to the underlying image.
|
|
||||||||||||
|
Evaluates triangle homogeneity and inserts it to the sorted queue.
|
|
||||||||||||
|
Unsorts triangle from the queue.
|
|
|
Visualizes the triangular mesh.
|
|
|
|
|
|
Default parameters.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Number of segments in the mesh.
|
|
|
Currently used homogeneity measure.
|
|
|
Vector of image features extracted for every region.
|
|
|
Pointer to the underlying edge image.
|
|
|
Pointer to the underlying image.
|
1.4.6-NO