MorphoGraphX  2.0-1-227
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
mgx::RootCellAnalyzing Class Reference

#include <RootCellAnalyzing.hpp>

Public Member Functions

 RootCellAnalyzing (CellAtlasAttr *cellAtlasAttr, CellAtlasConfigAttr *cellAtlasConfigAttr)
 
bool analyzeCells (std::vector< int > &uniqueLabels, const vvGraph &segmentedMesh, const vvGraph &surfaceMesh, std::map< int, Point3d > &bMap, std::map< int, Point3d > &diffbMap, labelVertexMap &lvMap, RootCellProcessing &rcp, int firstLabel, double minVolume)
 
void analyzeBezierGrid (std::vector< int > &uniqueLabels, std::map< int, Point3d > &cellCentroids, std::vector< std::vector< Point3d > > &bezier, std::map< int, Point3d > &nearestPoints, std::map< int, Point2i > &nearestIndex)
 
void analyzeSurface (std::vector< int > &uniqueLabels, std::map< int, Point3d > &cellCentroids, const vvGraph &surfaceMesh, std::map< int, Point3d > &nearestSurfacePoints)
 
bool createCartesianCoordSystem (RootCellProcessing &rcp)
 
bool createLayerCoordSystem (const vvGraph &surfaceMesh, std::vector< std::vector< Point3d > > &bezier, RootCellProcessing &rcp)
 
bool createRootCoordSystem (const vvGraph &surfaceMesh, std::map< int, Point3d > &bMap, std::map< int, Point3d > &diffbMap, RootCellProcessing &rcp)
 
bool analyzeEmbryo (std::vector< int > &uniqueLabels, const vvGraph &segmentedMesh, const vvGraph &surfaceMesh, std::vector< std::vector< Point3d > > &bezGrid, std::map< int, Point3d > &bMap, std::map< int, Point3d > &diffbMap, labelVertexMap &lvMap, RootCellProcessing &rootDataBox, int firstLabel, double minVolume, QString mode)
 
bool generateLabelTriangleMap (int numCells, std::vector< int > &uniqueLabels, const vvGraph &segmentedMesh, labelVertexMap &lvMap, std::map< int, triVector > &cellTriangles)
 
void analyzeBezierLine (std::vector< int > &uniqueLabels, std::map< int, Point3d > &cellCentroids, std::map< int, Point3d > &bMap, std::map< int, Point3d > &diffbMap, bool flipBezier=false)
 
bool analyzeCellCalcDisSurface (RootCellProcessing &rcp, const vvGraph &surfaceMesh, bool checkArc, std::map< int, double > &surfaceArclengths, std::map< int, double > &surfaceRadialDis, std::map< int, Point3d > &bMap, bool considerOrientation=false)
 
bool analyzeCellCentroidsVolumes (std::map< int, triVector > &cellTriangles, RootCellProcessing &rcp, double minVolume)
 
bool analyzeCellCentroids2D (std::map< int, triVector > &cellTriangles, RootCellProcessing &rcp)
 
void calcCircumferentialEqual (std::vector< int > &uniqueLabels, std::map< int, Point3d > &cellCentroids)
 
void writeDataFields (RootCellProcessing &rcp)
 
void calcSimpleRadial (std::vector< int > &uniqueLabels, RootCellProcessing &rcp, std::map< int, Point3d > &cellCentroids)
 
void calcCoordSystemCartesian (std::vector< int > &uniqueLabels)
 
void calcCoordSystem (std::vector< int > &uniqueLabels, std::map< int, Point3d > &diffBezInterp, std::map< int, Point3d > &dirRad, std::map< int, Point3d > &dirLong, std::map< int, Point3d > &dirCirc)
 
void createCoordSystem (std::vector< Point3d > &points, RootCellProcessing &rcp, std::map< int, Point3d > &bMap, std::map< int, Point3d > &diffbMap, std::map< int, Point3d > &bMapRadRef)
 
void minMaxToBezierPerCell (vvGraph &S, std::vector< int > &uniqueLabels, std::map< int, Point3d > &bMap, bool flipBezier=false)
 
Point3d organToCartesianCoords (Point3d organCoords, primDataStructure &p1)
 
Point3d cartesianToOrganCoords (Point3d cartesianCoords, primDataStructure p1)
 
bool generateMeshTriangleVector (const vvGraph &S, triVector &triVec)
 
Point3d organToCartesianCoordsWithMap (Point3d organCoords, primDataStructure &p1)
 
void generateSurfaceMap (primDataStructure &p1)
 
void estimateAllCellLengths (RootCellProcessing &rcp, std::map< int, triVector > &cellTriangles)
 

Public Attributes

CellAtlasAttrdata
 
CellAtlasConfigAttrconfig
 
std::map< int, double > arclengths
 
std::map< int, double > arclengthsUM
 
std::map< int, double > arclengthsMinUM
 
std::map< int, double > arclengthsMaxUM
 
std::map< int, Point3ddiffBezInterp
 
std::map< int, Point3dbezInterp
 
std::map< int, double > azimCoord
 
std::map< int, double > radialDis
 
std::map< int, double > scaledRadialDis
 
std::map< int, double > outsideWallArea
 
std::map< int, double > nrNeighbors
 
double bezLength
 
std::map< int, Point3dcellCentroids
 
std::vector< int > uniqueLabels
 
std::map< int, double > lengthLong
 
std::map< int, double > lengthRad
 
std::map< int, double > lengthCirc
 
std::map< int, Point3ddirRad
 
std::map< int, Point3ddirLong
 
std::map< int, Point3ddirCirc
 
int firstLabel
 
Point3d firstLong
 
Point3d firstRad
 
std::map< std::pair< int, int >, double > surfaceMap
 

Static Public Attributes

static const int radRes
 

Detailed Description

Definition at line 30 of file RootCellAnalyzing.hpp.

Constructor & Destructor Documentation

◆ RootCellAnalyzing()

mgx::RootCellAnalyzing::RootCellAnalyzing ( CellAtlasAttr cellAtlasAttr,
CellAtlasConfigAttr cellAtlasConfigAttr 
)
inline

Definition at line 60 of file RootCellAnalyzing.hpp.

Member Function Documentation

◆ analyzeBezierGrid()

void mgx::RootCellAnalyzing::analyzeBezierGrid ( std::vector< int > &  uniqueLabels,
std::map< int, Point3d > &  cellCentroids,
std::vector< std::vector< Point3d > > &  bezier,
std::map< int, Point3d > &  nearestPoints,
std::map< int, Point2i > &  nearestIndex 
)

◆ analyzeBezierLine()

void mgx::RootCellAnalyzing::analyzeBezierLine ( std::vector< int > &  uniqueLabels,
std::map< int, Point3d > &  cellCentroids,
std::map< int, Point3d > &  bMap,
std::map< int, Point3d > &  diffbMap,
bool  flipBezier = false 
)

◆ analyzeCellCalcDisSurface()

bool mgx::RootCellAnalyzing::analyzeCellCalcDisSurface ( RootCellProcessing rcp,
const vvGraph surfaceMesh,
bool  checkArc,
std::map< int, double > &  surfaceArclengths,
std::map< int, double > &  surfaceRadialDis,
std::map< int, Point3d > &  bMap,
bool  considerOrientation = false 
)

◆ analyzeCellCentroids2D()

bool mgx::RootCellAnalyzing::analyzeCellCentroids2D ( std::map< int, triVector > &  cellTriangles,
RootCellProcessing rcp 
)

◆ analyzeCellCentroidsVolumes()

bool mgx::RootCellAnalyzing::analyzeCellCentroidsVolumes ( std::map< int, triVector > &  cellTriangles,
RootCellProcessing rcp,
double  minVolume 
)

◆ analyzeCells()

bool mgx::RootCellAnalyzing::analyzeCells ( std::vector< int > &  uniqueLabels,
const vvGraph segmentedMesh,
const vvGraph surfaceMesh,
std::map< int, Point3d > &  bMap,
std::map< int, Point3d > &  diffbMap,
labelVertexMap lvMap,
RootCellProcessing rcp,
int  firstLabel,
double  minVolume 
)

◆ analyzeEmbryo()

bool mgx::RootCellAnalyzing::analyzeEmbryo ( std::vector< int > &  uniqueLabels,
const vvGraph segmentedMesh,
const vvGraph surfaceMesh,
std::vector< std::vector< Point3d > > &  bezGrid,
std::map< int, Point3d > &  bMap,
std::map< int, Point3d > &  diffbMap,
labelVertexMap lvMap,
RootCellProcessing rootDataBox,
int  firstLabel,
double  minVolume,
QString  mode 
)

◆ analyzeSurface()

void mgx::RootCellAnalyzing::analyzeSurface ( std::vector< int > &  uniqueLabels,
std::map< int, Point3d > &  cellCentroids,
const vvGraph surfaceMesh,
std::map< int, Point3d > &  nearestSurfacePoints 
)

◆ calcCircumferentialEqual()

void mgx::RootCellAnalyzing::calcCircumferentialEqual ( std::vector< int > &  uniqueLabels,
std::map< int, Point3d > &  cellCentroids 
)

◆ calcCoordSystem()

void mgx::RootCellAnalyzing::calcCoordSystem ( std::vector< int > &  uniqueLabels,
std::map< int, Point3d > &  diffBezInterp,
std::map< int, Point3d > &  dirRad,
std::map< int, Point3d > &  dirLong,
std::map< int, Point3d > &  dirCirc 
)

◆ calcCoordSystemCartesian()

void mgx::RootCellAnalyzing::calcCoordSystemCartesian ( std::vector< int > &  uniqueLabels)

◆ calcSimpleRadial()

void mgx::RootCellAnalyzing::calcSimpleRadial ( std::vector< int > &  uniqueLabels,
RootCellProcessing rcp,
std::map< int, Point3d > &  cellCentroids 
)

◆ cartesianToOrganCoords()

Point3d mgx::RootCellAnalyzing::cartesianToOrganCoords ( Point3d  cartesianCoords,
primDataStructure  p1 
)

◆ createCartesianCoordSystem()

bool mgx::RootCellAnalyzing::createCartesianCoordSystem ( RootCellProcessing rcp)

◆ createCoordSystem()

void mgx::RootCellAnalyzing::createCoordSystem ( std::vector< Point3d > &  points,
RootCellProcessing rcp,
std::map< int, Point3d > &  bMap,
std::map< int, Point3d > &  diffbMap,
std::map< int, Point3d > &  bMapRadRef 
)

◆ createLayerCoordSystem()

bool mgx::RootCellAnalyzing::createLayerCoordSystem ( const vvGraph surfaceMesh,
std::vector< std::vector< Point3d > > &  bezier,
RootCellProcessing rcp 
)

◆ createRootCoordSystem()

bool mgx::RootCellAnalyzing::createRootCoordSystem ( const vvGraph surfaceMesh,
std::map< int, Point3d > &  bMap,
std::map< int, Point3d > &  diffbMap,
RootCellProcessing rcp 
)

◆ estimateAllCellLengths()

void mgx::RootCellAnalyzing::estimateAllCellLengths ( RootCellProcessing rcp,
std::map< int, triVector > &  cellTriangles 
)

◆ generateLabelTriangleMap()

bool mgx::RootCellAnalyzing::generateLabelTriangleMap ( int  numCells,
std::vector< int > &  uniqueLabels,
const vvGraph segmentedMesh,
labelVertexMap lvMap,
std::map< int, triVector > &  cellTriangles 
)

◆ generateMeshTriangleVector()

bool mgx::RootCellAnalyzing::generateMeshTriangleVector ( const vvGraph S,
triVector triVec 
)

◆ generateSurfaceMap()

void mgx::RootCellAnalyzing::generateSurfaceMap ( primDataStructure p1)

◆ minMaxToBezierPerCell()

void mgx::RootCellAnalyzing::minMaxToBezierPerCell ( vvGraph S,
std::vector< int > &  uniqueLabels,
std::map< int, Point3d > &  bMap,
bool  flipBezier = false 
)

◆ organToCartesianCoords()

Point3d mgx::RootCellAnalyzing::organToCartesianCoords ( Point3d  organCoords,
primDataStructure p1 
)

◆ organToCartesianCoordsWithMap()

Point3d mgx::RootCellAnalyzing::organToCartesianCoordsWithMap ( Point3d  organCoords,
primDataStructure p1 
)

◆ writeDataFields()

void mgx::RootCellAnalyzing::writeDataFields ( RootCellProcessing rcp)

Member Data Documentation

◆ arclengths

std::map<int,double> mgx::RootCellAnalyzing::arclengths

Definition at line 37 of file RootCellAnalyzing.hpp.

◆ arclengthsMaxUM

std::map<int,double> mgx::RootCellAnalyzing::arclengthsMaxUM

Definition at line 40 of file RootCellAnalyzing.hpp.

◆ arclengthsMinUM

std::map<int,double> mgx::RootCellAnalyzing::arclengthsMinUM

Definition at line 39 of file RootCellAnalyzing.hpp.

◆ arclengthsUM

std::map<int,double> mgx::RootCellAnalyzing::arclengthsUM

Definition at line 38 of file RootCellAnalyzing.hpp.

◆ azimCoord

std::map<int,double> mgx::RootCellAnalyzing::azimCoord

Definition at line 43 of file RootCellAnalyzing.hpp.

◆ bezInterp

std::map<int,Point3d> mgx::RootCellAnalyzing::bezInterp

Definition at line 42 of file RootCellAnalyzing.hpp.

◆ bezLength

double mgx::RootCellAnalyzing::bezLength

Definition at line 45 of file RootCellAnalyzing.hpp.

◆ cellCentroids

std::map<int,Point3d> mgx::RootCellAnalyzing::cellCentroids

Definition at line 47 of file RootCellAnalyzing.hpp.

◆ config

CellAtlasConfigAttr* mgx::RootCellAnalyzing::config

Definition at line 35 of file RootCellAnalyzing.hpp.

◆ data

CellAtlasAttr* mgx::RootCellAnalyzing::data

Definition at line 34 of file RootCellAnalyzing.hpp.

◆ diffBezInterp

std::map<int,Point3d> mgx::RootCellAnalyzing::diffBezInterp

Definition at line 41 of file RootCellAnalyzing.hpp.

◆ dirCirc

std::map<int, Point3d> mgx::RootCellAnalyzing::dirCirc

Definition at line 51 of file RootCellAnalyzing.hpp.

◆ dirLong

std::map<int, Point3d> mgx::RootCellAnalyzing::dirLong

Definition at line 51 of file RootCellAnalyzing.hpp.

◆ dirRad

std::map<int, Point3d> mgx::RootCellAnalyzing::dirRad

Definition at line 51 of file RootCellAnalyzing.hpp.

◆ firstLabel

int mgx::RootCellAnalyzing::firstLabel

Definition at line 53 of file RootCellAnalyzing.hpp.

◆ firstLong

Point3d mgx::RootCellAnalyzing::firstLong

Definition at line 54 of file RootCellAnalyzing.hpp.

◆ firstRad

Point3d mgx::RootCellAnalyzing::firstRad

Definition at line 55 of file RootCellAnalyzing.hpp.

◆ lengthCirc

std::map<int,double> mgx::RootCellAnalyzing::lengthCirc

Definition at line 50 of file RootCellAnalyzing.hpp.

◆ lengthLong

std::map<int,double> mgx::RootCellAnalyzing::lengthLong

Definition at line 50 of file RootCellAnalyzing.hpp.

◆ lengthRad

std::map<int,double> mgx::RootCellAnalyzing::lengthRad

Definition at line 50 of file RootCellAnalyzing.hpp.

◆ nrNeighbors

std::map<int,double> mgx::RootCellAnalyzing::nrNeighbors

Definition at line 43 of file RootCellAnalyzing.hpp.

◆ outsideWallArea

std::map<int,double> mgx::RootCellAnalyzing::outsideWallArea

Definition at line 43 of file RootCellAnalyzing.hpp.

◆ radialDis

std::map<int,double> mgx::RootCellAnalyzing::radialDis

Definition at line 43 of file RootCellAnalyzing.hpp.

◆ radRes

const int mgx::RootCellAnalyzing::radRes
static

Definition at line 57 of file RootCellAnalyzing.hpp.

◆ scaledRadialDis

std::map<int,double> mgx::RootCellAnalyzing::scaledRadialDis

Definition at line 43 of file RootCellAnalyzing.hpp.

◆ surfaceMap

std::map<std::pair<int,int>, double> mgx::RootCellAnalyzing::surfaceMap

Definition at line 58 of file RootCellAnalyzing.hpp.

◆ uniqueLabels

std::vector<int> mgx::RootCellAnalyzing::uniqueLabels

Definition at line 48 of file RootCellAnalyzing.hpp.


The documentation for this class was generated from the following file: