A.I.M.S algorithms


aims::FoldArgOverSegment Class Reference

#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...
 
VertexsplitVertex (Vertex *v, const Point3d &pos, size_t minsize=50)
 
VertexsplitVertex (Vertex *v, const std::list< Point3d > &pos, size_t minsize=50)
 split along a path defined by a series of points (dotted line). More...
 
VertexsplitVertex (Vertex *v, const std::list< Point3df > &pos, size_t minsize=50)
 split along a path defined by a series of points (dotted line). More...
 
VertexsplitVertex (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...
 

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...
 

Detailed Description

Definition at line 48 of file foldoversegmentation.h.

Constructor & Destructor Documentation

aims::FoldArgOverSegment::FoldArgOverSegment ( Graph g)
aims::FoldArgOverSegment::~FoldArgOverSegment ( )

Member Function Documentation

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

void aims::FoldArgOverSegment::printSplitInSkeleton ( carto::rc_ptr< carto::Volume< int16_t > >  skel,
const Vertex v1,
const Vertex v2 
)
static carto::rc_ptr<BucketMap<Void> > aims::FoldArgOverSegment::splitLineOnBucket ( carto::rc_ptr< BucketMap< Void > >  bucket,
const std::list< Point3d > &  pos 
)
static

Trace a split line along a path defined by a series of points (dotted line) on a bucket.

Returns
the line as a bucket
static bool aims::FoldArgOverSegment::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 
)
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() ).

Returns
true if it succeeds
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

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

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.

Returns
number of vertices actually created

The documentation for this class was generated from the following file: