aimsalgo  5.1.2
Neuroimaging image processing
aims::meshdistance Namespace Reference

Classes

class  DistMapMatrixTraits
 
class  DistMapMatrixTraits< std::vector< T > >
 
class  DistMapMatrixTraits< std::map< T, U > >
 

Functions

Texture< float > GeodesicDepth (const AimsSurface< 3, Void > &mesh, const carto::rc_ptr< carto::Volume< 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<typename T >
Texture< float > MeshDistance (const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, bool allowUnreached, float max_dist=FLT_MAX)
 Computes a distance texture over a mesh. More...
 
template<typename T , typename MapType = std::vector< std::map<size_t, float> >>
void pairwiseDistanceMaps (const AimsSurface< 3, Void > &mesh, MapType &distmaps, const Texture< T > &inittex, float max_dist=FLT_MAX)
 Computes a distance matrix over a mesh. More...
 
template<typename MapType = std::vector< std::map<size_t, float> >>
void pairwiseDistanceMaps (const AimsSurface< 3, Void > &mesh, MapType &distmaps, float max_dist=FLT_MAX)
 Computes a distance matrix over a mesh. More...
 
template Texture< float > MeshDistance (const AimsSurface< 3, Void > &, const Texture< short > &, bool, float=FLT_MAX)
 
template Texture< float > MeshDistance (const AimsSurface< 3, Void > &, const Texture< float > &, bool, float=FLT_MAX)
 
template void pairwiseDistanceMaps (const AimsSurface< 3, Void > &mesh, std::vector< std::map< size_t, float > > &distmaps, const Texture< int16_t > &inittex=Texture< int16_t >(), float max_dist=FLT_MAX)
 
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 >
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 carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< short > > &bottom_vol, const carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< short > > &bottom_vol, const carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< short > > &ccvol, const carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< short > > &ccvol, const carto::rc_ptr< carto::Volume< 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)
 
carto::VolumeRef< short > MeshParcellation2Volume (const carto::rc_ptr< carto::Volume< short > > &initVol, const Texture< short > &tex, const AimsSurface< 3, Void > &mesh, short val_domain, short back)
 
Texture< short > VolumeParcellation2MeshParcellation (const carto::rc_ptr< carto::Volume< short > > &initVol, const AimsSurface< 3, Void > &mesh, short back)
 
void NeighbourInCC (std::map< Point3df, Point3dfSet, Point3dfCompare > &neigh, const carto::rc_ptr< carto::Volume< short > > &bvol, const carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< 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)
 
carto::VolumeRef< float > OpertureParameters (const AimsSurface< 3, Void > &mesh, const std::map< Point3df, std::pair< float, float >, Point3dfCompare > &sulci2mesh, const carto::rc_ptr< carto::Volume< 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 294 of file meshparcellation_d.h.

References Texture< class >::item(), and AimsSurface< D, class >::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 
)

◆ 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,
const std::set< T > &  label_forbidden 
)

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< class >::item(), MeshSkeletization(), NbOfPoint(), and AimsSurface< D, class >::vertex().

◆ cross()

◆ DistancePointToLine()

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

Definition at line 342 of file projection.h.

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

◆ DistancePointToPlane()

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

Definition at line 328 of file projection.h.

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

◆ FirstSulciProjectionWithCurvatureMap()

Texture<short> aims::meshdistance::FirstSulciProjectionWithCurvatureMap ( const carto::rc_ptr< carto::Volume< short > > &  ccvol,
const carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< short > > &  ccvol,
const carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< 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 
)

◆ 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

◆ 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 258 of file projection.h.

References ASSERT, cross(), and AimsVector< class, 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 239 of file meshparcellation_d.h.

References ASSERT, Texture< class >::item(), Texture< class >::nItem(), AimsSurface< D, class >::polygon(), and AimsSurface< D, class >::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 792 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 Texture<float> aims::meshdistance::MeshDistance ( const AimsSurface< 3, Void > &  ,
const Texture< float > &  ,
bool  ,
float  = FLT_MAX 
)

◆ MeshDistance() [2/3]

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

◆ MeshDistance() [3/3]

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

Computes a distance texture over a mesh.

inittex values have the following meaning:

0: propagation domain n>0: seed (distance 0) -1: forbidden

Definition at line 42 of file meshdistance_d.h.

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

Referenced by MeshSkeletization().

◆ 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 805 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()

carto::VolumeRef<short> aims::meshdistance::MeshParcellation2Volume ( const carto::rc_ptr< carto::Volume< 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 714 of file meshmorphomat_d.h.

References Texture< class >::item(), MeshDistance(), and AimsSurface< D, class >::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, AimsVector< class, D >::begin(), Texture< class >::item(), MESHDISTANCE_FORBIDDEN, Texture< class >::nItem(), AimsSurface< D, class >::polygon(), Texture< class >::push_back(), Texture< class >::reserve(), and AimsSurface< D, class >::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 701 of file meshmorphomat_d.h.

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

Referenced by CloseSulci().

◆ NeighbourInCC()

void aims::meshdistance::NeighbourInCC ( std::map< Point3df, Point3dfSet, Point3dfCompare > &  neigh,
const carto::rc_ptr< carto::Volume< short > > &  bvol,
const carto::rc_ptr< carto::Volume< 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]

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

◆ NormalFromPoints() [2/2]

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

Definition at line 158 of file projection.h.

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

Referenced by meanNormalofCC().

◆ OpertureParameters()

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

◆ pairwiseDistanceMaps() [1/3]

template<typename T , typename MapType = std::vector< std::map<size_t, float> >>
void aims::meshdistance::pairwiseDistanceMaps ( const AimsSurface< 3, Void > &  mesh,
MapType &  distmaps,
const Texture< T > &  inittex,
float  max_dist = FLT_MAX 
)

Computes a distance matrix over a mesh.

The output

Parameters
distmapsmay be a dense matrix or a sparse storage. (if the
max_distdistance is small, sparse is of course the best, otherwise the matrix will be very large).
inittexmay specify forbidden points which will be excluided from the matrix. As for MeshDistance(), forbidden points should take the value MESHDISTANCE_FORBIDDEN (defined in <aims/distancemap/meshvoronoi.h>).

Definition at line 212 of file meshdistance_d.h.

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

Referenced by pairwiseDistanceMaps().

◆ pairwiseDistanceMaps() [2/3]

template<typename MapType = std::vector< std::map<size_t, float> >>
void aims::meshdistance::pairwiseDistanceMaps ( const AimsSurface< 3, Void > &  mesh,
MapType &  distmaps,
float  max_dist = FLT_MAX 
)

Computes a distance matrix over a mesh.

The output

Parameters
distmapsmay be a dense matrix or a sparse storage. (if the
max_distdistance is small, sparse is of course the best, otherwise the matrix will be very large).

Definition at line 99 of file meshdistance.h.

References pairwiseDistanceMaps().

◆ pairwiseDistanceMaps() [3/3]

template void aims::meshdistance::pairwiseDistanceMaps ( const AimsSurface< 3, Void > &  mesh,
std::vector< std::map< size_t, float > > &  distmaps,
const Texture< int16_t > &  inittex = Texture< int16_t >(),
float  max_dist = FLT_MAX 
)

◆ Point3dfMax()

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

Definition at line 114 of file thickness.h.

References max().

◆ Point3dfMin()

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

Definition at line 123 of file thickness.h.

References min().

◆ 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 carto::rc_ptr< carto::Volume< 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 carto::rc_ptr< carto::Volume< short > > &  bottom_vol,
const carto::rc_ptr< carto::Volume< 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.

◆ SulcusVolume2Texture() [2/2]

TimeTexture<short> aims::meshdistance::SulcusVolume2Texture ( const AimsSurface< 3, Void > &  mesh,
const Texture< float > &  curvtex,
const carto::rc_ptr< carto::Volume< short > > &  bottom_vol,
const carto::rc_ptr< carto::Volume< 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

◆ SurfaceParcel()

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

◆ VolumeParcel()

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

◆ VolumeParcellation2MeshParcellation()

Texture<short> aims::meshdistance::VolumeParcellation2MeshParcellation ( const carto::rc_ptr< carto::Volume< 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
extern

global variable...

Definition at line 84 of file meshvoronoi.h.

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

◆ MESHDISTANCE_UNREACHED

const short aims::meshdistance::MESHDISTANCE_UNREACHED
extern

Definition at line 85 of file meshvoronoi.h.

Referenced by MeshDistance().