35 #ifndef AIMS_FOLDGRAPH_FOLDOVERSEGMENTATION_H
36 #define AIMS_FOLDGRAPH_FOLDOVERSEGMENTATION_H
71 size_t minsize = 50 );
76 size_t minsize = 50 );
81 size_t minsize = 50 );
86 size_t minsize = 50 );
94 std::set<Vertex *> *newvertices = 0 );
97 std::set<Vertex *> *newvertices = 0 );
120 template <
typename T>
carto::rc_ptr< BucketMap< Void > > findSplitLine(Vertex *v, const Point3d &pos)
split along a path defined by a single point.
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).
FoldArgOverSegment(Graph *g)
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.
Vertex * splitVertex(Vertex *v, const Point3d &pos, size_t minsize=50)
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).
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.
int subdivizeGraph(float piecelength=20, size_t minsize=50, std::set< Vertex * > *newvertices=0)
same as subdivizeVertex but on all vertices of the graph
void printSplitInSkeleton(carto::rc_ptr< carto::Volume< int16_t > > skel, const Vertex *v1, const Vertex *v2)
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).
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)
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 compo...
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.
void mergeVertices(Vertex *v1, Vertex *v2)
merge vertices into v1.
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).