aimsalgo  5.0.5
Neuroimaging image processing
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...
 
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...
 

Detailed Description

Definition at line 48 of file foldoversegmentation.h.

Constructor & Destructor Documentation

◆ FoldArgOverSegment()

aims::FoldArgOverSegment::FoldArgOverSegment ( Graph g)

◆ ~FoldArgOverSegment()

aims::FoldArgOverSegment::~FoldArgOverSegment ( )

Member Function Documentation

◆ dilateBucket()

template<typename T >
static BucketMap<T>* aims::FoldArgOverSegment::dilateBucket ( const BucketMap< T > &  in)
static

Dilate a bucket 1 voxel thicker to allow using the Fastmarching algorith on it (used for Voronoi)

◆ findSplitLine() [1/3]

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.

◆ findSplitLine() [2/3]

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

◆ findSplitLine() [3/3]

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

◆ printSplitInSkeleton()

void aims::FoldArgOverSegment::printSplitInSkeleton ( carto::rc_ptr< carto::Volume< int16_t > >  skel,
const Vertex v1,
const Vertex v2 
)

◆ splitLineOnBucket()

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

◆ splitSimpleSurface()

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

◆ splitVertex() [1/4]

Vertex* aims::FoldArgOverSegment::splitVertex ( Vertex v,
const Point3d pos,
size_t  minsize = 50 
)

◆ splitVertex() [2/4]

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

◆ splitVertex() [3/4]

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

◆ splitVertex() [4/4]

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

◆ subdivizeGraph()

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

◆ subdivizeVertex()

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: