![]() |
aimsalgo
5.1.2
Neuroimaging image processing
|
#include <aims/foldgraph/foldoversegmentation.h>
Public Member Functions | |
FoldArgOverSegment (Graph *g) | |
~FoldArgOverSegment () | |
carto::rc_ptr< BucketMap< Void > > | findSplitLine (Vertex *v, const Point3d &pos) |
split along a path defined by a single point. More... | |
carto::rc_ptr< BucketMap< Void > > | findSplitLine (Vertex *v, const std::list< Point3d > &pos) |
split along a path defined by a series of points (dotted line). More... | |
carto::rc_ptr< BucketMap< Void > > | findSplitLine (Vertex *v, const std::list< Point3df > &pos) |
split along a path defined by a series of points (dotted line). More... | |
Vertex * | splitVertex (Vertex *v, const Point3d &pos, size_t minsize=50) |
Vertex * | splitVertex (Vertex *v, const std::list< Point3d > &pos, size_t minsize=50) |
split along a path defined by a series of points (dotted line). More... | |
Vertex * | splitVertex (Vertex *v, const std::list< Point3df > &pos, size_t minsize=50) |
split along a path defined by a series of points (dotted line). More... | |
Vertex * | splitVertex (Vertex *v, carto::rc_ptr< BucketMap< Void > > splitline, size_t minsize=50) |
split along a path defined by a continuous line separating the simple surface into disconnected components More... | |
void | printSplitInSkeleton (carto::rc_ptr< carto::Volume< int16_t > > skel, const Vertex *v1, const Vertex *v2) |
int | subdivizeVertex (Vertex *v, float piecelength=20, size_t minsize=50, std::set< Vertex * > *newvertices=0) |
Splits a vertex into pieces of more or less piecesize voxels. More... | |
int | subdivizeGraph (float piecelength=20, size_t minsize=50, std::set< Vertex * > *newvertices=0) |
same as subdivizeVertex but on all vertices of the graph More... | |
void | mergeVertices (Vertex *v1, Vertex *v2) |
merge vertices into v1. More... | |
Static Public Member Functions | |
static carto::rc_ptr< BucketMap< Void > > | splitLineOnBucket (carto::rc_ptr< BucketMap< Void > > bucket, const std::list< Point3d > &pos) |
Trace a split line along a path defined by a series of points (dotted line) on a bucket. More... | |
static bool | splitSimpleSurface (carto::rc_ptr< BucketMap< Void > > bucket, carto::rc_ptr< BucketMap< Void > > splitline, carto::rc_ptr< BucketMap< Void > > &ss1, carto::rc_ptr< BucketMap< Void > > &ss2) |
split simple surface along a line path. More... | |
template<typename T > | |
static BucketMap< T > * | dilateBucket (const BucketMap< T > &in) |
Dilate a bucket 1 voxel thicker to allow using the Fastmarching algorith on it (used for Voronoi) More... | |
Definition at line 48 of file foldoversegmentation.h.
aims::FoldArgOverSegment::FoldArgOverSegment | ( | Graph * | g | ) |
aims::FoldArgOverSegment::~FoldArgOverSegment | ( | ) |
|
static |
Dilate a bucket 1 voxel thicker to allow using the Fastmarching algorith on it (used for Voronoi)
carto::rc_ptr<BucketMap<Void> > aims::FoldArgOverSegment::findSplitLine | ( | Vertex * | v, |
const Point3d & | pos | ||
) |
split along a path defined by a single point.
A line is found between the bottom and top of the fold.
carto::rc_ptr<BucketMap<Void> > aims::FoldArgOverSegment::findSplitLine | ( | Vertex * | v, |
const std::list< Point3d > & | pos | ||
) |
split along a path defined by a series of points (dotted line).
Here, points are given as voxels
carto::rc_ptr<BucketMap<Void> > aims::FoldArgOverSegment::findSplitLine | ( | Vertex * | v, |
const std::list< Point3df > & | pos | ||
) |
split along a path defined by a series of points (dotted line).
Here, points are given as millimetric positions
merge vertices into v1.
v2 is removed from the graph, and actually deleted if its ref counter reaches 0.
void aims::FoldArgOverSegment::printSplitInSkeleton | ( | carto::rc_ptr< carto::Volume< int16_t > > | skel, |
const Vertex * | v1, | ||
const Vertex * | v2 | ||
) |
|
static |
Trace a split line along a path defined by a series of points (dotted line) on a bucket.
|
static |
split simple surface along a line path.
The initial bucket will be truncated to be one of the split parts. splitline should really separate the input bucket into distinct connected components (normally the result of splitLineOnBucket() ).
Vertex* aims::FoldArgOverSegment::splitVertex | ( | Vertex * | v, |
carto::rc_ptr< BucketMap< Void > > | splitline, | ||
size_t | minsize = 50 |
||
) |
split along a path defined by a continuous line separating the simple surface into disconnected components
Vertex* aims::FoldArgOverSegment::splitVertex | ( | Vertex * | v, |
const Point3d & | pos, | ||
size_t | minsize = 50 |
||
) |
Vertex* aims::FoldArgOverSegment::splitVertex | ( | Vertex * | v, |
const std::list< Point3d > & | pos, | ||
size_t | minsize = 50 |
||
) |
split along a path defined by a series of points (dotted line).
Here, points are given as voxels
Vertex* aims::FoldArgOverSegment::splitVertex | ( | Vertex * | v, |
const std::list< Point3df > & | pos, | ||
size_t | minsize = 50 |
||
) |
split along a path defined by a series of points (dotted line).
Here, points are given as millimetric positions
int aims::FoldArgOverSegment::subdivizeGraph | ( | float | piecelength = 20 , |
size_t | minsize = 50 , |
||
std::set< Vertex * > * | newvertices = 0 |
||
) |
same as subdivizeVertex but on all vertices of the graph
int aims::FoldArgOverSegment::subdivizeVertex | ( | Vertex * | v, |
float | piecelength = 20 , |
||
size_t | minsize = 50 , |
||
std::set< Vertex * > * | newvertices = 0 |
||
) |
Splits a vertex into pieces of more or less piecesize voxels.