Go to the documentation of this file. 1 #ifndef CellAtlasUtils_H
2 #define CellAtlasUtils_H
27 typedef std::pair<int, int>
IntInt;
32 typedef std::map <int, std::vector<int> >
intToVec;
34 typedef std::map<Point2i, double>
P2iDMap;
50 bool neighborhoodGraphLocal(
const vvGraph& S,
double tolerance, std::map<int, double>& cellWallArea, std::map<IntInt, double>& wallArea, std::map<int, double>& outsideWallArea);
97 double gauss1D(
double x,
double muX,
double sigmaX);
std::pair< int, std::vector< vertex > > labelVertexVecPair
int findSelectedLabel(const vvGraph &S)
find ONE selected vertex in a vvGraph and return its label return 0 if nothing is selected
std::pair< Point2i, double > P2iDPair
std::pair< int, int > IntInt
void differentialOfBezierGrid(std::vector< std::vector< Point3d > > &bezierGrid, Point2i &p, Point3d &diffU, Point3d &diffV)
void findMinMax(std::map< int, double > &map, double &min, double &max)
bool neighborhoodGraphLocal(const vvGraph &S, double tolerance, std::map< int, double > &cellWallArea, std::map< IntInt, double > &wallArea, std::map< int, double > &outsideWallArea)
calculates the neighborhood graph, return data structure for total cell wall area and shared wall are...
std::map< Point2i, double > P2iDMap
bool findTwoSelectedLabels(const vvGraph &S, int &label1, int &label2)
find selected vertices in a vvGraph and return their TWO (different) labels return false if less than...
Point3d inPrimCoord(double radiant, Point3d dirRadRef, Point3d dirLongRef)
std::map< int, std::vector< int > > intToVec
Distributed matrix library.
std::map< int, std::vector< vertex > > labelVertexMap
double calcCircumferential(Point3d dirRadRef, Point3d dirLongRef, Point3d cellCenter, Point3d cellOnLong)
T CU_HOST_DEVICE max(const T a, const T b)
double gauss1D(double x, double muX, double sigmaX)
returns the value of a 1D gaussian function
double cartesianToOrganCoordsLong(Point3d cartesianCoords, std::map< int, Point3d > &bMap, Point3d &closestPoint)
std::pair< IntInt, double > IntIntDouPair
Namespace containing all the utility classes.
CU_HOST_DEVICE T min(const T a, const T b)
std::map< int, std::map< int, double > > cellMorphLandscape
bool pointInCone(Point3d axisVec, Point3d &coneTop, Point3d &coneBase, double coneAngle, Point3d &pointToTest)
return true if a point is inside a cone
CU_HOST_DEVICE Vector< dim, T > map(const T &(*fct)(const T1 &), const Vector< dim, T1 > &v)