aimsalgo  5.0.5
Neuroimaging image processing
aims::meshdistance Namespace Reference

Functions

Texture< float > GeodesicDepth (const AimsSurface< 3, Void > &mesh, const AimsData< short > &vol, float radius_close, float radius_erode)
 Compute the geodesic depth of a triangulation The vol define the object and the background The radius-* are morphological parameter. More...
 
template<class T >
Texture< float > MeshDistance (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, bool allowUnreached)
 
template Texture< float > MeshDistance (const AimsSurface< 3, Void > &, const Texture< short > &, bool)
 
template Texture< float > MeshDistance (const AimsSurface< 3, Void > &, const Texture< float > &, bool)
 
template<class T >
Texture< T > MeshDilation (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const T &Back, const T &For, const float dist, bool connexity)
 
template<class T >
Texture< T > MeshErosion (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const T &Back, const T &For, const float dist, bool connexity)
 
TimeTexture< short > MeshDilationStepbyStep (const AimsSurface< 3, Void > &mesh, const Texture< short > &inittex, const float dist, bool connectivity)
 
TimeTexture< short > MeshErosionStepbyStep (const AimsSurface< 3, Void > &mesh, const Texture< short > &inittex, const float dist, bool connectivity)
 
Texture< float > MeshGreyDilation (const AimsSurface< 3, Void > &mesh, const Texture< float > &inittex, const unsigned dist)
 
Texture< float > MeshGreyErosion (const AimsSurface< 3, Void > &mesh, const Texture< float > &inittex, const unsigned dist)
 
template<class T >
Texture< T > SplitSulci (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const T &Back, const T &For, const T label, const unsigned min, const unsigned max)
 
template<class T >
Texture< T > LineariseSulci (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const T &label, const T &Back, const T &For, unsigned &min, unsigned &max, unsigned nbDil)
 
template<class T >
Texture< T > CloseSulci (const AimsSurface< 3, Void > &mesh, const Texture< T > &sulctex, float nbDilMax, bool connexity, const T &Back, const T &For, const std::vector< std::list< unsigned > > &neigho, const std::set< T > &label_forbidden)
 Close the sulcus map (dilation and skeletization). More...
 
template<class T >
Texture< T > CloseSulci (const AimsSurface< 3, Void > &mesh, const Texture< T > &sulctex, float nbDilMax, bool connexity, const T &Back, const T &For, const std::vector< std::list< unsigned > > &neigho)
 
template<class T >
unsigned NbOfPoint (const Texture< T > tex, const T label)
 
template<class T >
bool HasHole (const Texture< T > &tex, const AimsSurface< 3, Void > &mesh, const T label)
 
template<class T >
bool SimplePoint (const Texture< T > &tex, const std::list< unsigned > &neigho)
 Tell if a point (whose ordonned neighbourhood is neigho) is simple. More...
 
template<class T >
bool ImmortalPoint (const Texture< T > &tex, const std::list< unsigned > &neigho)
 Tell if a point (whose ordonned neighbourhood is neigho) is immortal (squeletization) More...
 
template<class T >
Texture< T > MeshSkeletization (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, T label, T Back, const std::vector< std::list< unsigned > > &neigho)
 Skeletization of the components of the innitex with label label. More...
 
TimeTexture< short > MeshVoronoiStepbyStep (const AimsSurface< 3, Void > &mesh, const Texture< short > &inittex, float dist, bool connexity, bool object)
 
Texture< short > MeshVoronoi (const AimsSurface< 3, Void > &mesh, const Texture< short > &inittex, float dist, bool connexity, bool object)
 
template<class T >
Texture< T > MeshVoronoiT (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const T &Back, const T &For, float dist, bool connexity, bool object)
 Compute a geodesic voronoi diagram (dist = MAX_FLOAT,object=true ) of objects defined in inittex. More...
 
template<class T >
Texture< std::set< T > > MeshBorderVoronoi (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const std::set< T > &setBack, const std::set< T > &setFor)
 Extract the boundarie of a voronoi diagram i.e. More...
 
template<class T >
Texture< std::set< T > > gyrusSeedDefinition (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const std::set< T > &setBack, const std::set< T > &setFor, const std::set< std::set< T > > &labelAllowed)
 Define the gyrus seed from the SKIZ. More...
 
template<class T >
Texture< T > gyrusSeedDilationInSKIZ (const AimsSurface< 3, Void > &mesh, const Texture< T > &seed, const Texture< T > &skiz, const T &Back, const T &For)
 
template<class T >
Texture< short > border2Texture (const Texture< std::set< T > > &tex, const AimsSurface< 3, Void > &mesh, const std::set< T > &setBack, const std::set< T > &setFor)
 Convert a multidimensional boundary map to a texture of short. More...
 
Texture< std::set< short > > MeshVoronoi2Set (const AimsSurface< 3, Void > &mesh, const Texture< std::set< short > > &inittex, const Texture< short > &sulcitex, bool connexity)
 
template<class T , class U >
Texture< short > Voronoi2toTexture (const Texture< std::set< T > > &vor, const AimsSurface< 3, Void > &mesh, const std::set< T > &setBack, const std::set< T > &setFor)
 
AimsSurfaceTriangle MakePlaneMesh (unsigned n, Point3df Xi, Point3df Xf)
 
template<class T >
std::map< T, float > SurfaceParcel (const Texture< T > &tex, const AimsSurface< 3, Void > &mesh)
 Give the surface of labelled parcels defined from textures. More...
 
template<class T >
std::map< T, float > VolumeParcel (const AimsData< T > &vol)
 Give the surface of labelled parcels defined from volume. More...
 
std::set< std::pair< short, short > > ModelGraph2Boundaries (const Graph &g, const std::map< std::string, short > &traduction)
 
std::set< std::set< short > > gyrusHierarchy2setBoundaries (const std::map< std::string, short > &trans, const Graph &g)
 
std::set< std::set< short > > GyrusModel2SetOfSetOfSulci (const std::map< std::string, std::set< std::string > > &gyriAndSulci, const std::map< std::string, short > &trans)
 
std::set< std::string > GyrusModel2SetOfSulci (const char *model, const std::set< std::string > &existingName)
 
std::set< std::string > GyrusModel2SetOfSulci (const std::map< std::string, std::set< std::string > > &gyriAndSulci, const std::set< std::string > &existingName)
 
std::map< std::string, std::set< std::string > > GyrusModel2GyriAndSulci (const std::string &model)
 
TimeTexture< short > SulcusVolume2Texture (const AimsSurface< 3, Void > &mesh, const Texture< float > &curvtex, const AimsData< short > &bottom_vol, const AimsData< short > &surface_vol, float alpha, float dmin, int MINCC, const std::map< short, std::string > &trans, const std::set< std::string > &labels, float maxdil, float maxdil_mesh, float alpha_reg, bool connexity, const std::vector< std::list< unsigned > > &neigho)
 Projection of the voxels relative to the bottom of the sulci to the edges of a triangulation. More...
 
TimeTexture< short > SulcusVolume2Texture (const AimsSurface< 3, Void > &mesh, const AimsData< short > &bottom_vol, const AimsData< short > &surface_vol, const Point3df &CA, float demin, float dpmin, int MINCC, const std::map< short, std::string > &trans, const std::set< std::string > &labels, float maxdil, float maxdil_mesh, float alpha_reg, bool connexity, const std::vector< std::list< unsigned > > &neigho)
 Use interpolation plane to project the sulcal line. More...
 
Texture< short > FirstSulciProjectionWithCurvatureMap (const AimsData< short > &ccvol, const AimsData< short > &sulcvol, const AimsSurface< 3, Void > &mesh, std::set< short > &cc_sulci_labels, std::map< short, short > &tri_sulci, std::map< unsigned, Point3dfSet > &cc_sulci_coord, std::map< Point3df, Point3df, Point3dfCompare > &initend, const Texture< float > &curvtex, float alpha, float dmin)
 
Texture< short > FirstSulciProjectionWithInterpolationPlane (const AimsData< short > &ccvol, const AimsData< short > &sulcvol, const AimsSurface< 3, Void > &mesh, std::set< short > &cc_sulci_labels, std::map< short, short > &tri_sulci, const std::map< Point3df, Point3dfSet, Point3dfCompare > &neigh, std::map< unsigned, Point3dfSet > &cc_sulci_coord, std::map< Point3df, Point3df, Point3dfCompare > &initend, float demin, float dpmin, short label_insula_left, short label_insula_right, const Point3df &CA)
 
void AffinePointProjection (Texture< short > &tex, const AimsSurface< 3, Void > &mesh, const std::map< Point3df, Point3df, Point3dfCompare > &initend, const Point3dfSet &setpointi, short label, float dmin, float alpha_reg)
 
AimsData< short > MeshParcellation2Volume (const AimsData< short > &initVol, const Texture< short > &tex, const AimsSurface< 3, Void > &mesh, short val_domain, short back)
 
Texture< short > VolumeParcellation2MeshParcellation (const AimsData< short > &initVol, const AimsSurface< 3, Void > &mesh, short back)
 
void NeighbourInCC (std::map< Point3df, Point3dfSet, Point3dfCompare > &neigh, const AimsData< short > &bvol, const AimsData< short > &svol, Connectivity::Type connectivity, short label, const unsigned size_neigh, unsigned max_points=50)
 Give the neighbours of a point The neighbours have the same label as the point. More...
 
std::pair< Point3df, Point3dfNormalFromPoints (const Point3dfSet &init_point)
 
Point3df NormalFromPoints (const Point3df &pt, const Point3dfSet &init_point)
 
Point3df cross (const Point3df &A, const Point3df &B)
 
Point3df IntersectionPointOfPlanAndLine (const Point3df &s1, const Point3df &s2, const Point3df &s3, const Point3df &direction_line, const Point3df &pt)
 
float DistancePointToPlane (const Point3df &A, const std::pair< Point3df, Point3df > &plane)
 
float DistancePointToLine (const Point3df &A, const std::pair< Point3df, Point3df > &line)
 
Point3df meanNormalofCC (const std::vector< Point3df > &cc, const Point3dfNeigh &neigh, unsigned MIN_NEIGH)
 
void SulcusOperture (const AimsSurface< 3, Void > &mesh, std::map< Point3df, std::pair< float, float >, Point3dfCompare > &sulci2mesh, const AimsData< short > &surface_vol, const float demin, const float dpmin, const unsigned MINCC, const std::map< short, std::string > &trans, const std::set< std::string > &labels)
 
void ClosestMeshTrianglesFromSulcusVoxel (const Point3df &pt, const std::pair< Point3df, Point3df > &bipoint, Point3df &n_sulci, float &dmn, float &dmp, float demin, float dpmin, const AimsSurface< 3, Void > &mesh)
 
void ClosestMeshNodesFromSulcusVoxel (const Point3df &pt, const std::pair< Point3df, Point3df > &bipoint, Point3df &n0, float demin, float dpmin, float &dmn, float &dmp, const AimsSurface< 3, Void > &mesh)
 
AimsData< float > OpertureParameters (const AimsSurface< 3, Void > &mesh, const std::map< Point3df, std::pair< float, float >, Point3dfCompare > &sulci2mesh, const AimsData< short > &vol)
 
void CCOperture (const std::vector< Point3df > &cc, const AimsSurface< 3, Void > &mesh, const Point3dfNeigh &neigh, std::map< Point3df, std::pair< float, float >, Point3dfCompare > &sulci2mesh, const float demin, const float dpmin)
 
std::set< unsigned > SubMesh (const AimsSurface< 3, Void > &mesh, const Point3df &bbmin, const Point3df &bbmax)
 
float max (float x, float y)
 
float min (float x, float y)
 
Point3df Point3dfMax (const Point3df &X, const Point3df &Y)
 
Point3df Point3dfMin (const Point3df &X, const Point3df &Y)
 

Variables

const short MESHDISTANCE_FORBIDDEN
 global variable... More...
 
const short MESHDISTANCE_UNREACHED
 

Function Documentation

◆ AffinePointProjection()

void aims::meshdistance::AffinePointProjection ( Texture< short > &  tex,
const AimsSurface< 3, Void > &  mesh,
const std::map< Point3df, Point3df, Point3dfCompare > &  initend,
const Point3dfSet setpointi,
short  label,
float  dmin,
float  alpha_reg 
)

◆ border2Texture()

template<class T >
Texture< short > aims::meshdistance::border2Texture ( const Texture< std::set< T > > &  tex,
const AimsSurface< 3, Void > &  mesh,
const std::set< T > &  setBack,
const std::set< T > &  setFor 
)

Convert a multidimensional boundary map to a texture of short.

Definition at line 293 of file meshparcellation_d.h.

References Texture< T >::item(), and AimsSurface< D, T >::vertex().

◆ CCOperture()

void aims::meshdistance::CCOperture ( const std::vector< Point3df > &  cc,
const AimsSurface< 3, Void > &  mesh,
const Point3dfNeigh neigh,
std::map< Point3df, std::pair< float, float >, Point3dfCompare > &  sulci2mesh,
const float  demin,
const float  dpmin 
)

◆ ClosestMeshNodesFromSulcusVoxel()

void aims::meshdistance::ClosestMeshNodesFromSulcusVoxel ( const Point3df pt,
const std::pair< Point3df, Point3df > &  bipoint,
Point3df n0,
float  demin,
float  dpmin,
float &  dmn,
float &  dmp,
const AimsSurface< 3, Void > &  mesh 
)

◆ ClosestMeshTrianglesFromSulcusVoxel()

void aims::meshdistance::ClosestMeshTrianglesFromSulcusVoxel ( const Point3df pt,
const std::pair< Point3df, Point3df > &  bipoint,
Point3df n_sulci,
float &  dmn,
float &  dmp,
float  demin,
float  dpmin,
const AimsSurface< 3, Void > &  mesh 
)

◆ CloseSulci() [1/2]

template<class T >
Texture< T > aims::meshdistance::CloseSulci ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  sulctex,
float  nbDilMax,
bool  connexity,
const T &  Back,
const T &  For,
const std::vector< std::list< unsigned > > &  neigho,
const std::set< T > &  label_forbidden 
)
inline

Close the sulcus map (dilation and skeletization).

All the labels/components are processed

Definition at line 429 of file meshmorphomat_d.h.

References AimsMeshLabelNbConnectedComponent(), HasHole(), Texture< T >::item(), MeshSkeletization(), NbOfPoint(), and AimsSurface< D, T >::vertex().

◆ CloseSulci() [2/2]

template<class T >
Texture< T > aims::meshdistance::CloseSulci ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  sulctex,
float  nbDilMax,
bool  connexity,
const T &  Back,
const T &  For,
const std::vector< std::list< unsigned > > &  neigho 
)
inline

◆ cross()

◆ DistancePointToLine()

float aims::meshdistance::DistancePointToLine ( const Point3df A,
const std::pair< Point3df, Point3df > &  line 
)
inline

Definition at line 334 of file projection.h.

References cross(), and AimsVector< T, D >::norm().

◆ DistancePointToPlane()

float aims::meshdistance::DistancePointToPlane ( const Point3df A,
const std::pair< Point3df, Point3df > &  plane 
)
inline

Definition at line 320 of file projection.h.

References AimsVector< T, D >::dot().

◆ FirstSulciProjectionWithCurvatureMap()

Texture<short> aims::meshdistance::FirstSulciProjectionWithCurvatureMap ( const AimsData< short > &  ccvol,
const AimsData< short > &  sulcvol,
const AimsSurface< 3, Void > &  mesh,
std::set< short > &  cc_sulci_labels,
std::map< short, short > &  tri_sulci,
std::map< unsigned, Point3dfSet > &  cc_sulci_coord,
std::map< Point3df, Point3df, Point3dfCompare > &  initend,
const Texture< float > &  curvtex,
float  alpha,
float  dmin 
)

◆ FirstSulciProjectionWithInterpolationPlane()

Texture<short> aims::meshdistance::FirstSulciProjectionWithInterpolationPlane ( const AimsData< short > &  ccvol,
const AimsData< short > &  sulcvol,
const AimsSurface< 3, Void > &  mesh,
std::set< short > &  cc_sulci_labels,
std::map< short, short > &  tri_sulci,
const std::map< Point3df, Point3dfSet, Point3dfCompare > &  neigh,
std::map< unsigned, Point3dfSet > &  cc_sulci_coord,
std::map< Point3df, Point3df, Point3dfCompare > &  initend,
float  demin,
float  dpmin,
short  label_insula_left,
short  label_insula_right,
const Point3df CA 
)

◆ GeodesicDepth()

Texture<float> aims::meshdistance::GeodesicDepth ( const AimsSurface< 3, Void > &  mesh,
const AimsData< short > &  vol,
float  radius_close,
float  radius_erode 
)

Compute the geodesic depth of a triangulation The vol define the object and the background The radius-* are morphological parameter.

◆ gyrusHierarchy2setBoundaries()

std::set<std::set<short> > aims::meshdistance::gyrusHierarchy2setBoundaries ( const std::map< std::string, short > &  trans,
const Graph g 
)

◆ GyrusModel2GyriAndSulci()

std::map<std::string, std::set<std::string> > aims::meshdistance::GyrusModel2GyriAndSulci ( const std::string &  model)

◆ GyrusModel2SetOfSetOfSulci()

std::set<std::set<short> > aims::meshdistance::GyrusModel2SetOfSetOfSulci ( const std::map< std::string, std::set< std::string > > &  gyriAndSulci,
const std::map< std::string, short > &  trans 
)

◆ GyrusModel2SetOfSulci() [1/2]

std::set<std::string> aims::meshdistance::GyrusModel2SetOfSulci ( const char *  model,
const std::set< std::string > &  existingName 
)

◆ GyrusModel2SetOfSulci() [2/2]

std::set<std::string> aims::meshdistance::GyrusModel2SetOfSulci ( const std::map< std::string, std::set< std::string > > &  gyriAndSulci,
const std::set< std::string > &  existingName 
)

◆ gyrusSeedDefinition()

template<class T >
Texture< std::set< T > > aims::meshdistance::gyrusSeedDefinition ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
const std::set< T > &  setBack,
const std::set< T > &  setFor,
const std::set< std::set< T > > &  labelAllowed 
)

Define the gyrus seed from the SKIZ.

Definition at line 56 of file meshparcellation_d.h.

References ASSERT, Texture< T >::item(), Texture< T >::nItem(), AimsSurface< D, T >::polygon(), and AimsSurface< D, T >::vertex().

◆ gyrusSeedDilationInSKIZ()

template<class T >
Texture< T > aims::meshdistance::gyrusSeedDilationInSKIZ ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  seed,
const Texture< T > &  skiz,
const T &  Back,
const T &  For 
)

◆ HasHole()

template<class T >
bool aims::meshdistance::HasHole ( const Texture< T > &  tex,
const AimsSurface< 3, Void > &  mesh,
const T  label 
)
inline

◆ ImmortalPoint()

template<class T >
bool aims::meshdistance::ImmortalPoint ( const Texture< T > &  tex,
const std::list< unsigned > &  neigho 
)
inline

Tell if a point (whose ordonned neighbourhood is neigho) is immortal (squeletization)

Definition at line 668 of file meshmorphomat_d.h.

References Texture< T >::item().

Referenced by MeshSkeletization().

◆ IntersectionPointOfPlanAndLine()

Point3df aims::meshdistance::IntersectionPointOfPlanAndLine ( const Point3df s1,
const Point3df s2,
const Point3df s3,
const Point3df direction_line,
const Point3df pt 
)
inline

Definition at line 251 of file projection.h.

References ASSERT, cross(), and AimsVector< T, D >::normalize().

◆ LineariseSulci()

template<class T >
Texture< T > aims::meshdistance::LineariseSulci ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
const T &  label,
const T &  Back,
const T &  For,
unsigned &  min,
unsigned &  max,
unsigned  nbDil 
)

◆ MakePlaneMesh()

AimsSurfaceTriangle aims::meshdistance::MakePlaneMesh ( unsigned  n,
Point3df  Xi,
Point3df  Xf 
)

◆ max()

◆ meanNormalofCC()

Point3df aims::meshdistance::meanNormalofCC ( const std::vector< Point3df > &  cc,
const Point3dfNeigh neigh,
unsigned  MIN_NEIGH 
)
inline

◆ MeshBorderVoronoi()

template<class T >
Texture< std::set< T > > aims::meshdistance::MeshBorderVoronoi ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
const std::set< T > &  setBack,
const std::set< T > &  setFor 
)

Extract the boundarie of a voronoi diagram i.e.

compute the skiz

Definition at line 238 of file meshparcellation_d.h.

References ASSERT, Texture< T >::item(), Texture< T >::nItem(), AimsSurface< D, T >::polygon(), and AimsSurface< D, T >::vertex().

◆ MeshDilation()

template<class T >
Texture< T > aims::meshdistance::MeshDilation ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
const T &  Back,
const T &  For,
const float  dist,
bool  connexity 
)

Definition at line 788 of file meshmorphomat_d.h.

Referenced by gyrusSeedDilationInSKIZ().

◆ MeshDilationStepbyStep()

TimeTexture<short> aims::meshdistance::MeshDilationStepbyStep ( const AimsSurface< 3, Void > &  mesh,
const Texture< short > &  inittex,
const float  dist,
bool  connectivity 
)

◆ MeshDistance() [1/3]

template<class T >
Texture< float > aims::meshdistance::MeshDistance ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
bool  allowUnreached 
)

◆ MeshDistance() [2/3]

template Texture<float> aims::meshdistance::MeshDistance ( const AimsSurface< 3, Void > &  ,
const Texture< short > &  ,
bool   
)

◆ MeshDistance() [3/3]

template Texture<float> aims::meshdistance::MeshDistance ( const AimsSurface< 3, Void > &  ,
const Texture< float > &  ,
bool   
)

◆ MeshErosion()

template<class T >
Texture< T > aims::meshdistance::MeshErosion ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
const T &  Back,
const T &  For,
const float  dist,
bool  connexity 
)

Definition at line 801 of file meshmorphomat_d.h.

◆ MeshErosionStepbyStep()

TimeTexture<short> aims::meshdistance::MeshErosionStepbyStep ( const AimsSurface< 3, Void > &  mesh,
const Texture< short > &  inittex,
const float  dist,
bool  connectivity 
)

◆ MeshGreyDilation()

Texture<float> aims::meshdistance::MeshGreyDilation ( const AimsSurface< 3, Void > &  mesh,
const Texture< float > &  inittex,
const unsigned  dist 
)

◆ MeshGreyErosion()

Texture<float> aims::meshdistance::MeshGreyErosion ( const AimsSurface< 3, Void > &  mesh,
const Texture< float > &  inittex,
const unsigned  dist 
)

◆ MeshParcellation2Volume()

AimsData<short> aims::meshdistance::MeshParcellation2Volume ( const AimsData< short > &  initVol,
const Texture< short > &  tex,
const AimsSurface< 3, Void > &  mesh,
short  val_domain,
short  back 
)

◆ MeshSkeletization()

template<class T >
Texture< T > aims::meshdistance::MeshSkeletization ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
label,
Back,
const std::vector< std::list< unsigned > > &  neigho 
)

Skeletization of the components of the innitex with label label.

neigho is the ordonned neighbourhood for each point. The output texture has only two labels : The background (0) and the object (label)

Definition at line 710 of file meshmorphomat_d.h.

References ImmortalPoint(), Texture< T >::item(), MeshDistance(), and AimsSurface< D, T >::vertex().

Referenced by CloseSulci().

◆ MeshVoronoi()

Texture<short> aims::meshdistance::MeshVoronoi ( const AimsSurface< 3, Void > &  mesh,
const Texture< short > &  inittex,
float  dist,
bool  connexity,
bool  object 
)

◆ MeshVoronoi2Set()

Texture<std::set<short> > aims::meshdistance::MeshVoronoi2Set ( const AimsSurface< 3, Void > &  mesh,
const Texture< std::set< short > > &  inittex,
const Texture< short > &  sulcitex,
bool  connexity 
)

◆ MeshVoronoiStepbyStep()

TimeTexture<short> aims::meshdistance::MeshVoronoiStepbyStep ( const AimsSurface< 3, Void > &  mesh,
const Texture< short > &  inittex,
float  dist,
bool  connexity,
bool  object 
)

◆ MeshVoronoiT()

template<class T >
Texture< T > aims::meshdistance::MeshVoronoiT ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
const T &  Back,
const T &  For,
float  dist,
bool  connexity,
bool  object 
)

Compute a geodesic voronoi diagram (dist = MAX_FLOAT,object=true ) of objects defined in inittex.

The background has the label Back and the objects have a positive label. The distance can be euclidean geodesic (connexity=false) or just the connexity of the triangulation(connexity=true) This function can as well be used for dilation(object=true) / erosion(object=false) using the parameter dist as the size of the structuring element

Definition at line 59 of file meshvoronoi_d.h.

References ASSERT, Texture< T >::item(), MESHDISTANCE_FORBIDDEN, Texture< T >::nItem(), AimsSurface< D, T >::polygon(), Texture< T >::push_back(), Texture< T >::reserve(), and AimsSurface< D, T >::vertex().

◆ min()

◆ ModelGraph2Boundaries()

std::set<std::pair<short,short> > aims::meshdistance::ModelGraph2Boundaries ( const Graph g,
const std::map< std::string, short > &  traduction 
)

◆ NbOfPoint()

template<class T >
unsigned aims::meshdistance::NbOfPoint ( const Texture< T >  tex,
const T  label 
)
inline

Definition at line 697 of file meshmorphomat_d.h.

References Texture< T >::item(), and Texture< T >::nItem().

Referenced by CloseSulci().

◆ NeighbourInCC()

void aims::meshdistance::NeighbourInCC ( std::map< Point3df, Point3dfSet, Point3dfCompare > &  neigh,
const AimsData< short > &  bvol,
const AimsData< short > &  svol,
Connectivity::Type  connectivity,
short  label,
const unsigned  size_neigh,
unsigned  max_points = 50 
)

Give the neighbours of a point The neighbours have the same label as the point.

◆ NormalFromPoints() [1/2]

std::pair<Point3df,Point3df> aims::meshdistance::NormalFromPoints ( const Point3dfSet init_point)
inline

Definition at line 153 of file projection.h.

References AimsEigen< T >::doit(), and AimsEigen< T >::sort().

Referenced by meanNormalofCC().

◆ NormalFromPoints() [2/2]

Point3df aims::meshdistance::NormalFromPoints ( const Point3df pt,
const Point3dfSet init_point 
)
inline

◆ OpertureParameters()

AimsData<float> aims::meshdistance::OpertureParameters ( const AimsSurface< 3, Void > &  mesh,
const std::map< Point3df, std::pair< float, float >, Point3dfCompare > &  sulci2mesh,
const AimsData< short > &  vol 
)

◆ Point3dfMax()

Point3df aims::meshdistance::Point3dfMax ( const Point3df X,
const Point3df Y 
)
inline

Definition at line 113 of file thickness.h.

References max().

◆ Point3dfMin()

Point3df aims::meshdistance::Point3dfMin ( const Point3df X,
const Point3df Y 
)
inline

Definition at line 122 of file thickness.h.

References min().

◆ SimplePoint()

template<class T >
bool aims::meshdistance::SimplePoint ( const Texture< T > &  tex,
const std::list< unsigned > &  neigho 
)
inline

Tell if a point (whose ordonned neighbourhood is neigho) is simple.

Definition at line 577 of file meshmorphomat_d.h.

References Texture< T >::item().

◆ SplitSulci()

template<class T >
Texture< T > aims::meshdistance::SplitSulci ( const AimsSurface< 3, Void > &  mesh,
const Texture< T > &  inittex,
const T &  Back,
const T &  For,
const T  label,
const unsigned  min,
const unsigned  max 
)

◆ SubMesh()

std::set<unsigned> aims::meshdistance::SubMesh ( const AimsSurface< 3, Void > &  mesh,
const Point3df bbmin,
const Point3df bbmax 
)

◆ SulcusOperture()

void aims::meshdistance::SulcusOperture ( const AimsSurface< 3, Void > &  mesh,
std::map< Point3df, std::pair< float, float >, Point3dfCompare > &  sulci2mesh,
const AimsData< short > &  surface_vol,
const float  demin,
const float  dpmin,
const unsigned  MINCC,
const std::map< short, std::string > &  trans,
const std::set< std::string > &  labels 
)

◆ SulcusVolume2Texture() [1/2]

TimeTexture<short> aims::meshdistance::SulcusVolume2Texture ( const AimsSurface< 3, Void > &  mesh,
const Texture< float > &  curvtex,
const AimsData< short > &  bottom_vol,
const AimsData< short > &  surface_vol,
float  alpha,
float  dmin,
int  MINCC,
const std::map< short, std::string > &  trans,
const std::set< std::string > &  labels,
float  maxdil,
float  maxdil_mesh,
float  alpha_reg,
bool  connexity,
const std::vector< std::list< unsigned > > &  neigho 
)

Projection of the voxels relative to the bottom of the sulci to the edges of a triangulation.

The curvature of the triangulation is taken into account. The label of the projected sulci is the same as the initial label. Use a curvature or a depth map to project the sulcal line

◆ SulcusVolume2Texture() [2/2]

TimeTexture<short> aims::meshdistance::SulcusVolume2Texture ( const AimsSurface< 3, Void > &  mesh,
const AimsData< short > &  bottom_vol,
const AimsData< short > &  surface_vol,
const Point3df CA,
float  demin,
float  dpmin,
int  MINCC,
const std::map< short, std::string > &  trans,
const std::set< std::string > &  labels,
float  maxdil,
float  maxdil_mesh,
float  alpha_reg,
bool  connexity,
const std::vector< std::list< unsigned > > &  neigho 
)

Use interpolation plane to project the sulcal line.

◆ SurfaceParcel()

template<class T >
std::map< T, float > aims::meshdistance::SurfaceParcel ( const Texture< T > &  tex,
const AimsSurface< 3, Void > &  mesh 
)

Give the surface of labelled parcels defined from textures.

Definition at line 406 of file meshparcellation_d.h.

References ASSERT, AimsVector< T, D >::dot(), Texture< T >::item(), Texture< T >::nItem(), norm(), norm2(), AimsSurface< D, T >::polygon(), and AimsSurface< D, T >::vertex().

◆ VolumeParcel()

template<class T >
std::map< T, float > aims::meshdistance::VolumeParcel ( const AimsData< T > &  vol)

Give the surface of labelled parcels defined from volume.

Definition at line 456 of file meshparcellation_d.h.

References ForEach3d, AimsData< T >::sizeX(), AimsData< T >::sizeY(), and AimsData< T >::sizeZ().

◆ VolumeParcellation2MeshParcellation()

Texture<short> aims::meshdistance::VolumeParcellation2MeshParcellation ( const AimsData< short > &  initVol,
const AimsSurface< 3, Void > &  mesh,
short  back 
)

◆ Voronoi2toTexture()

template<class T , class U >
Texture< short > aims::meshdistance::Voronoi2toTexture ( const Texture< std::set< T > > &  vor,
const AimsSurface< 3, Void > &  mesh,
const std::set< T > &  setBack,
const std::set< T > &  setFor 
)

Variable Documentation

◆ MESHDISTANCE_FORBIDDEN

const short aims::meshdistance::MESHDISTANCE_FORBIDDEN

global variable...

Definition at line 85 of file meshvoronoi.h.

Referenced by meanNormalofCC(), MeshDistance(), MeshVoronoiT(), and Voronoi2toTexture().

◆ MESHDISTANCE_UNREACHED

const short aims::meshdistance::MESHDISTANCE_UNREACHED

Definition at line 86 of file meshvoronoi.h.

Referenced by meanNormalofCC(), and MeshDistance().