35#ifndef AIMS_FOLDGRAPH_FOLDOVERSEGMENTATION_H
36#define AIMS_FOLDGRAPH_FOLDOVERSEGMENTATION_H
39#include <aims/bucket/bucketMap.h>
40#include <cartodata/volume/volume.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>
FoldArgOverSegment(Graph *g)
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.
carto::rc_ptr< BucketMap< Void > > findSplitLine(Vertex *v, const Point3d &pos)
split along a path defined by a single point.
int subdivizeGraph(float piecelength=20, size_t minsize=50, std::set< Vertex * > *newvertices=0)
same as subdivizeVertex but on all vertices of the graph
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)
void printSplitInSkeleton(carto::rc_ptr< carto::Volume< int16_t > > skel, const Vertex *v1, const Vertex *v2)
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).
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.
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...
Vertex * splitVertex(Vertex *v, const Point3d &pos, size_t minsize=50)
void mergeVertices(Vertex *v1, Vertex *v2)
merge vertices into v1.
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).
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 std::list< Point3d > &pos, size_t minsize=50)
split along a path defined by a series of points (dotted line).
AimsVector< int16_t, 3 > Point3d