![]() |
aimsalgo
5.1.2
Neuroimaging image processing
|
Geodesic paths or distance maps, using the Dijkstra algorithm. More...
#include <aims/geodesicpath/geodesicPath.h>

Public Types | |
| typedef std::vector< unsigned > | vect_ui |
Public Member Functions | |
| GeodesicPath (const AimsSurfaceTriangle &surface, const TimeTexture< float > &texCurv, int method, int strain) | |
| Initializes the geodesic path structures for a given mesh geometry, using a constraint map (curvature, typically). More... | |
| GeodesicPath (const AimsSurfaceTriangle &surface, int method, int strain) | |
| Same as the above constructor, except that the constraints map is computed internally as the curvature of the mesh. More... | |
| ~GeodesicPath () | |
| void | computeGraphDijkstra (const AimsSurfaceTriangle &surface, const TimeTexture< float > &texCurv, int method, int strain) |
| initialize internal stuctures, should be private. More... | |
| void | updateWeight (const TimeTexture< float > &texCurv, int method, int strain, double sigmo) |
| update internal structures, should be private. More... | |
| std::vector< unsigned > | shortestPath_1_1_ind (unsigned source, unsigned target) |
| std::vector< unsigned > | shortestPath_1_1_ind (unsigned source, unsigned target, TimeTexture< short > subset) |
| std::vector< unsigned > | shortestPath_1_1_1_ind (unsigned source, unsigned middle, unsigned target) |
| void | shortestPath_1_N_ind (unsigned source, std::vector< unsigned > targets, unsigned *target, double *length) |
| std::vector< Point3df > | shortestPath_1_1_xyz (unsigned source, unsigned target) |
| void | shortestPath_1_1_ind_xyz (unsigned source, unsigned target, std::vector< unsigned > &indice, std::vector< Point3df > &coord3D) |
| void | shortestPath_1_1_tex (unsigned source, unsigned target, float texturevalue, TimeTexture< float > &tex) |
| double | shortestPath_1_1_len (unsigned source, unsigned target) |
| void | shortestPath_1_N_All_ind (unsigned sources, std::vector< unsigned > targets, std::vector< std::vector< unsigned > > &indices) |
| void | longestPath_1_N_ind (unsigned source, std::vector< unsigned > targets, unsigned *target, double *length, int type_distance) |
| std::vector< vect_ui > | longestPath_1_N_len (unsigned source, std::vector< unsigned > targets, std::vector< double > &length, int type_distance) |
| std::vector< unsigned > | longestPath_N_N_ind (std::vector< unsigned > points, int *s, int *d, double *length, int type_distance) |
| void | distanceMap_1_N_ind (unsigned source, std::vector< float > &distanceMap, double *length, int type_distance) |
| Compute a distance map from a given point. More... | |
Public Attributes | |
| int | _strain |
| int | _method |
| AimsSurfaceTriangle | _surface |
| TimeTexture< float > | _texCurv |
| geodesic::Mesh | _meshSP |
Geodesic paths or distance maps, using the Dijkstra algorithm.
ex:
Definition at line 41 of file geodesicPath.h.
| typedef std::vector<unsigned> aims::GeodesicPath::vect_ui |
Definition at line 44 of file geodesicPath.h.
| aims::GeodesicPath::GeodesicPath | ( | const AimsSurfaceTriangle & | surface, |
| const TimeTexture< float > & | texCurv, | ||
| int | method, | ||
| int | strain | ||
| ) |
Initializes the geodesic path structures for a given mesh geometry, using a constraint map (curvature, typically).
Several methods are available.
| surface | mesh to compute geodesic paths or distances on |
| texCurv | constraint map texture |
| method | 0: unconstrained, 1: minimize the constraint map, suitable for sulci using the curvature as constraint, 2: maximize constraint map, suitable for gyri using the curvature as constraint, 3: unconstrained |
| strain | weight factor on the constraints map. In practice we use 3 for sulci and gyri. |
| aims::GeodesicPath::GeodesicPath | ( | const AimsSurfaceTriangle & | surface, |
| int | method, | ||
| int | strain | ||
| ) |
Same as the above constructor, except that the constraints map is computed internally as the curvature of the mesh.
| aims::GeodesicPath::~GeodesicPath | ( | ) |
| void aims::GeodesicPath::computeGraphDijkstra | ( | const AimsSurfaceTriangle & | surface, |
| const TimeTexture< float > & | texCurv, | ||
| int | method, | ||
| int | strain | ||
| ) |
initialize internal stuctures, should be private.
| void aims::GeodesicPath::distanceMap_1_N_ind | ( | unsigned | source, |
| std::vector< float > & | distanceMap, | ||
| double * | length, | ||
| int | type_distance | ||
| ) |
Compute a distance map from a given point.
| source | index of the starting point (vertex number) |
| distanceMap | output distance map, the vector can be empty, it will be filled with as many values as the mesh vertices number. |
| length | output max distance |
| type_distance | 0: weighted distance, 1: euclidean distance |
| void aims::GeodesicPath::longestPath_1_N_ind | ( | unsigned | source, |
| std::vector< unsigned > | targets, | ||
| unsigned * | target, | ||
| double * | length, | ||
| int | type_distance | ||
| ) |
| std::vector<vect_ui> aims::GeodesicPath::longestPath_1_N_len | ( | unsigned | source, |
| std::vector< unsigned > | targets, | ||
| std::vector< double > & | length, | ||
| int | type_distance | ||
| ) |
| std::vector<unsigned> aims::GeodesicPath::longestPath_N_N_ind | ( | std::vector< unsigned > | points, |
| int * | s, | ||
| int * | d, | ||
| double * | length, | ||
| int | type_distance | ||
| ) |
| std::vector<unsigned> aims::GeodesicPath::shortestPath_1_1_1_ind | ( | unsigned | source, |
| unsigned | middle, | ||
| unsigned | target | ||
| ) |
| std::vector<unsigned> aims::GeodesicPath::shortestPath_1_1_ind | ( | unsigned | source, |
| unsigned | target | ||
| ) |
| std::vector<unsigned> aims::GeodesicPath::shortestPath_1_1_ind | ( | unsigned | source, |
| unsigned | target, | ||
| TimeTexture< short > | subset | ||
| ) |
| void aims::GeodesicPath::shortestPath_1_1_ind_xyz | ( | unsigned | source, |
| unsigned | target, | ||
| std::vector< unsigned > & | indice, | ||
| std::vector< Point3df > & | coord3D | ||
| ) |
| double aims::GeodesicPath::shortestPath_1_1_len | ( | unsigned | source, |
| unsigned | target | ||
| ) |
| void aims::GeodesicPath::shortestPath_1_1_tex | ( | unsigned | source, |
| unsigned | target, | ||
| float | texturevalue, | ||
| TimeTexture< float > & | tex | ||
| ) |
| std::vector<Point3df> aims::GeodesicPath::shortestPath_1_1_xyz | ( | unsigned | source, |
| unsigned | target | ||
| ) |
| void aims::GeodesicPath::shortestPath_1_N_All_ind | ( | unsigned | sources, |
| std::vector< unsigned > | targets, | ||
| std::vector< std::vector< unsigned > > & | indices | ||
| ) |
| void aims::GeodesicPath::shortestPath_1_N_ind | ( | unsigned | source, |
| std::vector< unsigned > | targets, | ||
| unsigned * | target, | ||
| double * | length | ||
| ) |
| void aims::GeodesicPath::updateWeight | ( | const TimeTexture< float > & | texCurv, |
| int | method, | ||
| int | strain, | ||
| double | sigmo | ||
| ) |
update internal structures, should be private.
| geodesic::Mesh aims::GeodesicPath::_meshSP |
Definition at line 49 of file geodesicPath.h.
| int aims::GeodesicPath::_method |
Definition at line 46 of file geodesicPath.h.
| int aims::GeodesicPath::_strain |
Definition at line 45 of file geodesicPath.h.
| AimsSurfaceTriangle aims::GeodesicPath::_surface |
Definition at line 47 of file geodesicPath.h.
| TimeTexture<float> aims::GeodesicPath::_texCurv |
Definition at line 48 of file geodesicPath.h.