36 #ifndef AIMS_DISTANCEMAP_MESHMORPHOMAT_H
37 #define AIMS_DISTANCEMAP_MESHMORPHOMAT_H
49 namespace meshdistance
56 const T & Back,
const T & For,
57 const float dist,
bool connexity );
61 const T & Back,
const T & For,
62 const float dist,
bool connexity );
67 const float dist,
bool connectivity );
72 const float dist,
bool connectivity );
76 const unsigned dist );
80 const unsigned dist );
86 const T & Back,
const T & For ,
88 const unsigned min,
const unsigned max);
95 const T & Back,
const T & For,
96 unsigned &
min,
unsigned &
max,
unsigned nbDil);
103 float nbDilMax,
bool connexity,
104 const T & Back,
const T & For,
105 const std::vector<std::list<unsigned> > & neigho,
106 const std::set<T> & label_forbidden);
110 float nbDilMax,
bool connexity,
111 const T & Back,
const T & For,
112 const std::vector<std::list<unsigned> > & neigho);
123 inline bool SimplePoint(
const Texture<T> & tex,
124 const std::list<unsigned> & neigho);
129 inline bool ImmortalPoint(
const Texture<T> & tex,
130 const std::list<unsigned> & neigho);
141 const std::vector<std::list<unsigned> > & neigho );
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)
Texture< T > MeshErosion(const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const T &Back, const T &For, const float dist, bool connexity)
Texture< T > MeshDilation(const AimsSurface< 3, Void > &mesh, const Texture< T > &inittex, const T &Back, const T &For, const float dist, bool connexity)
const short MESHDISTANCE_UNREACHED
Texture< float > MeshGreyErosion(const AimsSurface< 3, Void > &mesh, const Texture< float > &inittex, const unsigned dist)
float min(float x, float y)
TimeTexture< short > MeshErosionStepbyStep(const AimsSurface< 3, Void > &mesh, const Texture< short > &inittex, const float dist, bool connectivity)
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).
float max(float x, float y)
bool HasHole(const Texture< T > &tex, const AimsSurface< 3, Void > &mesh, const T label)
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)
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.
unsigned NbOfPoint(const Texture< T > tex, const T label)
TimeTexture< short > MeshDilationStepbyStep(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)
const short MESHDISTANCE_FORBIDDEN
global variable...