Go to the documentation of this file. 1 #ifndef CELL_ATLAS_MERISTEM_HPP
2 #define CELL_ATLAS_MERISTEM_HPP
20 setName(
"Mesh/Cell Atlas 3D/Meristem/Advanced/Analyze Meristem");
21 setDesc(
"Analyzes the meristem and calculates the cell centroids, volumes and radial distances to the surface mesh. \n"
22 "Requires the meristem mesh in mesh 1 and a surface mesh in mesh 2. \n"
23 "Use Tools/Heatmaps or Create Point Cloud to visualize the data.");
24 setIcon(QIcon(
":/images/CellAtlas.png"));
26 addParm(
"Min Volume",
"Minimum cell volume (cells with smaller volume will be ignored)",
"0");
33 return run(m1, m2, parm(
"Min Volume").toDouble());
36 bool run(
Mesh *m1,
Mesh *m2,
double volThreshold);
46 setName(
"Mesh/Cell Atlas 3D/Meristem/Advanced/Detect Cell Layers L1 to L3");
47 setDesc(
"Sets the Parents of the first three cell layers to 1, 2 and 3. \n"
48 "Requires the process Analyze Meristem.");
49 setIcon(QIcon(
":/images/CellAtlas.png"));
51 addParm(
"Cone Angle",
"Cone Angle (in Rad)",
"0.9");
52 addParm(
"Detect L2/3 by neighborhood",
"If No use cones for all 3 layers, if Yes use cone only for L1 and detect L2/3 by neighborhood",
"No",booleanChoice());
57 return run(m1, parm(
"Cone Angle").toDouble(),
stringToBool(parm(
"Detect L2/3 by neighborhood")));
60 bool run(
Mesh *m1,
double coneAngle,
bool detectByNeighborhood);
69 setName(
"Mesh/Cell Atlas 3D/General Analysis/Detect Cell Layers");
70 setDesc(
"Detect cell layers and label them accordingly");
71 setIcon(QIcon(
":/images/CellAtlas.png"));
73 addParm(
"Use Surface",
"Use Surface",
"Yes",booleanChoice());
74 addParm(
"Cone Angle",
"Cone Angle (in Rad)",
"0.9");
75 addParm(
"Number of Layers",
"Number of Layers",
"3");
76 addParm(
"Min Shared Cell Wall",
"Min Shared Cell Wall",
"0.0");
77 addParm(
"Min Cell Volume",
"Min Cell Volume",
"0");
82 return run(m1,
stringToBool(parm(
"Use Surface")), parm(
"Cone Angle").toDouble(), parm(
"Number of Layers").toInt(), parm(
"Min Shared Cell Wall").toDouble(), parm(
"Min Cell Volume").toDouble());
85 bool run(
Mesh *m1,
bool useSurface,
double coneAngle,
int layers,
double minWall,
double minVolume);
94 setName(
"Mesh/Cell Atlas 3D/Ovule/Detect Cell Layers");
95 setDesc(
"Detect cell layers and label them accordingly");
96 setIcon(QIcon(
":/images/CellAtlas.png"));
98 addParm(
"Use Surface",
"Use Surface",
"Yes",booleanChoice());
99 addParm(
"Cone Angle",
"Cone Angle (in Rad)",
"0.9");
100 addParm(
"Number of Layers",
"Number of Layers",
"3");
101 addParm(
"Min Shared Cell Wall",
"Min Shared Cell Wall",
"0.0");
102 addParm(
"Min Cell Volume",
"Min Cell Volume",
"0");
107 return run(m1,
stringToBool(parm(
"Use Surface")), parm(
"Cone Angle").toDouble(), parm(
"Number of Layers").toInt(), parm(
"Min Shared Cell Wall").toDouble(), parm(
"Min Cell Volume").toDouble());
110 bool run(
Mesh *m1,
bool useSurface,
double coneAngle,
int layers,
double minWall,
double minVolume);
121 setName(
"Mesh/Cell Atlas 3D/Meristem/Advanced/Mark Meristem");
122 setDesc(
"Sets the Parents of the first 2 cell layers, the stem cells and the organizing center. \n"
124 "Requires a selected center cell and the process Analyze Meristem.");
125 setIcon(QIcon(
":/images/CellAtlas.png"));
128 addParm(
"Depth Org Center",
"Specifying the depth of the organizing center under the selected center of the meristem",
"1.25");
129 addParm(
"Radius",
"Radius of stem cell region and organizing center",
"1.0");
134 return run(m1, parm(
"Depth Org Center").toDouble(), parm(
"Radius").toDouble());
137 bool run(
Mesh *m1,
double disDown,
double radius);
147 setName(
"Mesh/Cell Atlas 3D/Meristem/Label Meristem");
148 setDesc(
"Analyzes the cells of the meristem, sets the Parents of the first 2 cell layers, \n"
149 "the stem cells and the organizing center. \n"
150 "This process calls the following processes (in this order): Analyze Meristem, Detect Layers and Mark Meristem.");
151 setIcon(QIcon(
":/images/CellAtlas.png"));
153 addParm(
"Min Volume",
"Min Volume",
"0");
154 addParm(
"Depth Org Center",
"Specifying the depth of the organizing center under the selected center of the meristem",
"1.25");
155 addParm(
"Radius",
"Radius of stem cell region and organizing center",
"1.0");
156 addParm(
"Cone Angle",
"Cone Angle (in Rad)",
"0.9");
164 return run(m1, m2, parm(
"Min Volume").toDouble(), parm(
"Depth Org Center").toDouble(), parm(
"Radius").toDouble(), parm(
"Cone Angle").toDouble());
167 bool run(
Mesh *m1,
Mesh *m2,
double minVolume,
double disDown,
double radius,
double coneAngle);
176 setName(
"Mesh/Cell Atlas 3D/Meristem/Mark Primordium");
177 setDesc(
"Distinguishes a primordium from the meristem by changing the color of the parents. \n"
179 "Select the primordium center cell and the saddle cell between primordium center and meristem center. \n"
180 "Requires the process Label Meristem (or Mark Meristem) to know which cell is the meristem center.");
181 setIcon(QIcon(
":/images/CellAtlas.png"));
183 addParm(
"Ratio Parameter",
"Parameter specifying the width of the boundary region between meristem and primordium",
"0.8");
184 addParm(
"Abs Dis Parameter",
"Parameter specifying the depth of the boundary region between meristem and primordium",
"1.3");
185 addParm(
"Primordia Label Same",
"Primordia specific label prefix, if set to No all primordia will have the same labels",
"No",booleanChoice());
186 addParm(
"Label Saddle Cell",
"Label of the saddle cell between meristem and primodrium center",
"0");
187 addParm(
"Label Prim Center",
"Label of the primordium center cell",
"0");
193 return run(m1, parm(
"Ratio Parameter").toDouble(), parm(
"Abs Dis Parameter").toDouble(),
stringToBool(parm(
"Primordia Label Same")), parm(
"Label Saddle Cell").toInt(), parm(
"Label Prim Center").toInt());
196 bool run(
Mesh *m1,
double ratioParm,
double absDisParm,
bool primLabelSame,
int labelSaddle,
int labelPrim);
LabelMeristem(const Process &process)
bool run()
Runs the process.
AnalyzeMeristem(const Process &process)
bool run()
Runs the process.
MarkMeristem(const Process &process)
bool run()
Runs the process.
Distributed matrix library.
bool run()
Runs the process.
mgx_EXPORT bool stringToBool(const QString &string)
Helper function converting a string into a boolean.
DetectCellLayers(const Process &process)
bool run()
Runs the process.
DetectCellLayers2(const Process &process)
bool run()
Runs the process.
bool run()
Runs the process.
DetectLayers(const Process &process)
MarkPrim(const Process &process)