MorphoGraphX  2.0-1-227
MeshProcessLineage.hpp
Go to the documentation of this file.
1 //
2 // This file is part of MorphoGraphX - http://www.MorphoGraphX.org
3 // Copyright (C) 2012-2015 Richard S. Smith and collaborators.
4 //
5 // If you use MorphoGraphX in your work, please cite:
6 // http://dx.doi.org/10.7554/eLife.05864
7 //
8 // MorphoGraphX is free software, and is licensed under under the terms of the
9 // GNU General (GPL) Public License version 2.0, http://www.gnu.org/licenses.
10 //
11 #ifndef MESH_PROCESS_LINEAGE_HPP
12 #define MESH_PROCESS_LINEAGE_HPP
13 
14 #include <Process.hpp>
15 #include <SystemProcessLoad.hpp>
16 #include <QFileDialog>
17 
18 #include <ui_ParentAttrDlg.h>
19 
20 namespace mgx
21 {
24 
29  class mgxBase_EXPORT CorrectParents : public Process
30  {
31  public:
32  CorrectParents(const Process& process) : Process(process)
33  {
34  setName("Mesh/Deformation/Restore Correct Parents");
35  setDesc("Restores the correct parent labelling of the other mesh from the attribute map");
36  setIcon(QIcon(":/images/ParentsCheck.png"));
37  }
38 
39  bool run()
40  {
41  if(!checkState().mesh(MESH_NON_EMPTY, 0).mesh(MESH_NON_EMPTY, 1))
42  return false;
43  Mesh* mesh1, *mesh2;
44  if(currentMesh() == mesh(0)) {
45  mesh2 = mesh(0);
46  mesh1 = mesh(1);
47  } else if(currentMesh() == mesh(1)) {
48  mesh2 = mesh(1);
49  mesh1 = mesh(0);
50  } else
51  return false;
52 
53  bool res = run(mesh1, mesh2);
54  return res;
55  }
56 
57  bool run(Mesh* mesh1, Mesh* mesh2);
58 
59  };
60 
66  class mgxBase_EXPORT HeatMapProliferation : public Process
67  {
68  public:
69  HeatMapProliferation(const Process& process) : Process(process)
70  {
71  setName("Mesh/Lineage Tracking/Heat Map Proliferation");
72  setDesc("Compute a heat map that shows the cell proliferation rate, (how may daughter cells a parent cell has).");
73  setIcon(QIcon(":/images/HeatMapProliferation.png"));
74 
75  addParm("Use Parents On Other Mesh","Use Parents On Other Mesh", "No", booleanChoice()); // RSS FIXME shouldn't this be decided in the GUI? Soeren: Prolifeartion always needs parents, but it can only be computed on the later timepoint and it is difficult to transfer the heat map to the earlier time point, which this parameter facilitates
76  }
77 
78  bool run()
79  {
80  Mesh* m = currentMesh();
81  if(!m)
82  throw QString("%1:run No current mesh").arg(name());
83  Mesh* m2 = otherMesh();
84  if(!m2)
85  throw QString("%1:run No other mesh").arg(name());
86 
87  bool res = run(m,m2, stringToBool(parm("Use Parents On Other Mesh")));
88  if(res)
89  m->setShowLabel("Label Heat");
90  return res;
91  }
92 
93  bool run(Mesh* m, Mesh* m2, bool onOtherMesh);
94  };
95 
99  class mgxBase_EXPORT MeshSelectNewWalls : public Process
100  {
101  public:
102  MeshSelectNewWalls(const Process &process) : Process(process)
103  {
104  setName("Mesh/Lineage Tracking/Select New Walls");
105  setDesc("Select Newly Divided Walls");
106  setIcon(QIcon(":/images/NewWalls.png"));
107  }
108 
109  bool run()
110  {
111  Mesh* m = currentMesh();
112  if(!m)
113  throw QString("%1:run No current mesh").arg(name());
114 
115  m->updateSelection();
116  return run(m);
117  }
118 
119  bool run(Mesh* m);
120  };
121 
122  class mgxBase_EXPORT HeatMapAreaAsymmetry : public Process
123  {
124  public:
125  HeatMapAreaAsymmetry(const Process& process) : Process(process)
126  {
127  setName("Mesh/Lineage Tracking/Daughter Area asymmetry");
128  setDesc("Measures the asymmetry in cell-area in daughter cells. Uses standard-deviation of daughter area over mean daughter area (division by mean provides scale invariance)");
129  setIcon(QIcon(":/images/HeatMapProliferation.png"));
130  }
131 
132  bool run()
133  {
134  if(!checkState().mesh(MESH_USE_PARENTS)) {
135  setErrorMessage("The current mesh must have show parents selected.");
136  return false;
137  }
138  Mesh* m = currentMesh();
139 
140  bool res = run(m);
141  if(res)
142  m->setShowLabel("Label Heat");
143  return res;
144  }
145 
146  bool run(Mesh* m);
147 
148  };
149 
155  class mgxBase_EXPORT CopyParentsToLabels : public Process
156  {
157  public:
158  CopyParentsToLabels(const Process& process) : Process(process)
159  {
160  setName("Mesh/Lineage Tracking/Copy Parents to Labels");
161  setDesc("Copy parents to labels, and clear parent table.");
162  setIcon(QIcon(":/images/ParentsCopyToLabel.png"));
163  }
164 
165  bool run()
166  {
167  return run(currentMesh());
168  }
169 
170  bool run(Mesh* m);
171 
172  };
173 
179  class mgxBase_EXPORT CopyLabelsToParents : public Process
180  {
181  public:
182  CopyLabelsToParents(const Process& process) : Process(process)
183  {
184  setName("Mesh/Lineage Tracking/Copy Labels to Parents");
185  setDesc("Copy labels to parents.");
186  setIcon(QIcon(":/images/ParentsCopyToLabel.png"));
187  }
188 
189  bool run()
190  {
191  Mesh* m = currentMesh();
192  return run(m);
193  }
194 
195  bool run(Mesh* m);
196 
197  };
198 
205  class mgxBase_EXPORT CorrectLabeling : public Process
206  {
207  public:
208  CorrectLabeling(const Process& process) : Process(process)
209  {
210  setName("Mesh/Lineage Tracking/Correct Labeling Colors");
211  setDesc("Relabels cells to avoid neighboring cells with the same color.");
212  setIcon(QIcon(":/images/ParentsCopyToLabel.png"));
213 
214  addParm("Number of colors","Number of colors used to color","7");
215  addParm("Colormap size","Size of the labels colormap","16");
216  addParm("Balance color distribution","Try to balance the number cells of each color","No",booleanChoice());
217  addParm("3D Mesh","Set to Yes if the mesh has volumetric cells","No",booleanChoice());
218  }
219 
220  bool run()
221  {
222  Mesh* m = currentMesh();
223  return run(m,parm("Number of colors"),parm("Colormap size"),parm("Balance color distribution"), stringToBool(parm("3D Mesh")));
224  }
225 
226  bool run(Mesh* mesh, QString numColorString, QString colormapSizeString, QString balanceDistributionString, bool mesh3D);
227 
228  };
229 
230 
237  class mgxBase_EXPORT CorrectLabelingStack : public Process
238  {
239  public:
240  CorrectLabelingStack(const Process& process) : Process(process)
241  {
242  setName("Stack/Segmentation/Correct Labeling Colors");
243  setDesc("Relabels cells to avoid neighboring cells with the same color.");
244  setIcon(QIcon(":/images/ParentsCopyToLabel.png"));
245 
246  addParm("Number of colors","Number of colors used to color","7");
247  addParm("Colormap size","Size of the labels colormap","16");
248  addParm("Balance color distribution","Try to balance the number cells of each color","No",booleanChoice());
249  }
250 
251  bool run()
252  {
253  Stack* stack = currentStack();
254  Store* store = stack->currentStore();
255  return run(store,parm("Number of colors"),parm("Colormap size"),parm("Balance color distribution"));
256  }
257 
258  bool run(Store* store, QString numColorString, QString colormapSizeString, QString balanceDistributionString);
259 
260  };
261 
267  class mgxBase_EXPORT SetParent : public Process
268  {
269  public:
270  SetParent(const Process& process) : Process(process)
271  {
272  setName("Mesh/Lineage Tracking/Set Parent");
273  setDesc("Set the parent for selected cells");
274  setIcon(QIcon(":/images/Parents.png"));
275 
276  addParm("Label","Parent Number label","0");
277  }
278 
279  bool run()
280  {
281  if(!checkState().mesh(MESH_ANY))
282  return false;
283  Mesh *m = currentMesh();
284  return run(m, parm("Label").toInt());
285  }
286 
287  bool run(Mesh *mesh, int parent);
288 
289  };
290 
296  class mgxBase_EXPORT MergeParentFiles : public Process
297  {
298  public:
299  MergeParentFiles(const Process& process) : Process(process)
300  {
301  setName("Mesh/Lineage Tracking/Merge Parent Files");
302  setDesc("Set the parent for selected cells");
303  setIcon(QIcon(":/images/Parents.png"));
304 
305  addParm("File Open T1T0","File Open T1T0","");
306  addParm("File Open T2T1","File Open T2T1","");
307  addParm("File Save T2T0","File Save T2T0","");
308  }
309 
310  bool initialize(QWidget* parent);
311 
312  bool run()
313  {
314  return run(parm("File Open T1T0"), parm("File Open T2T1"), parm("File Save T2T0"));
315  }
316 
317  bool run(QString file1, QString file2, QString fileNameSave);
318 
319  };
320 
321  class mgxBase_EXPORT CreateParentAttr : public Process
322  {
323  public:
324  CreateParentAttr(const Process& process) : Process(process)
325  {
326  setName("Mesh/Lineage Tracking/Parent Export to Attr Map");
327  setDesc("Creates an Attribute map of the chosen name (preceding Measure Label Int) using the current parent labels.");
328  setIcon(QIcon(":/images/MakeHeatMap.png"));
329 
330  addParm("Prefix","Prefix","Measure Label Int");
331  addParm("Attr Name","Attr Name","Parents");
332  }
333  //bool processParms();
334 
335  bool run()
336  {
337  if(!checkState().mesh(MESH_ANY))
338  return false;
339  Mesh *m = currentMesh();
340  return run(m, parm("Prefix"), parm("Attr Name"));
341  }
342 
343  bool run(Mesh* m, QString prefix, QString name);
344 
345  };
346 
347  class mgxBase_EXPORT UniqueParentsFromAttr : public Process
348  {
349  public:
350  UniqueParentsFromAttr(const Process& process) : Process(process)
351  {
352  setName("Mesh/Lineage Tracking/Unique Parents from Attrs");
353  setDesc("Unique Parents from Attrs");
354  setIcon(QIcon(":/images/MakeHeatMap.png"));
355 
356  addParm("Prefix","Prefix","Measure Label Int");
357  addParm("Parent Attr 1","Parent Attr 1","P1");
358  addParm("Parent Attr 2","Parent Attr 2","P2");
359  addParm("Multiplier 10","Multiplier 10","No", booleanChoice());
360  }
361 
362  bool run()
363  {
364  if(!checkState().mesh(MESH_ANY))
365  return false;
366  Mesh *m = currentMesh();
367  return run(m, parm("Prefix"), parm("Parent Attr 1"), parm("Parent Attr 2"), stringToBool(parm("Multiplier 10")));
368  }
369 
370  bool run(Mesh* m, QString prefix, QString name1, QString name2, bool mult10);
371 
372  };
373 
374 
375  class mgxBase_EXPORT ImportParentAttr : public Process
376  {
377  public:
378  ImportParentAttr(const Process& process) : Process(process)
379  {
380  setName("Mesh/Lineage Tracking/Parent Import from Attr Map");
381  setDesc("Imports parent labels from an Attribute map of the chosen name (preceding Measure Label Int). Overwrites the current parents!");
382  setIcon(QIcon(":/images/MakeHeatMap.png"));
383 
384  addParm("Prefix","Prefix","Measure Label Int");
385  addParm("Attr Name","Attr Name","Parents");
386  addParm("Import To Mesh","Import To Mesh","Active Mesh", QStringList() << "Active Mesh" << "Other Mesh (T1)"<< "Other Mesh (T2)");
387  }
388  bool processParms();
389 
390  bool run()
391  {
392  if(!checkState().mesh(MESH_ANY))
393  return false;
394  Mesh *m = currentMesh();
395  Mesh *m2 = otherMesh();
396  return run(m, m2, parm("Prefix"), parm("Attr Name"), parm("Import To Mesh"));
397  }
398 
399  bool run(Mesh* m, Mesh* m2, QString prefix, QString name, QString importMesh);
400 
401  };
402 
403  class mgxBase_EXPORT ImportParentAttrNew : public Process
404  {
405  Q_OBJECT
406  Ui_ParentAttrDlg ui;
407  public:
408  ImportParentAttrNew(const Process& process) : Process(process)
409  {
410  setName("Mesh/Lineage Tracking/Parent Import from Attr Map GUI");
411  setDesc("Imports parent labels from an Attribute map of the chosen name (preceding Measure Label Int). Overwrites the current parents!");
412  setIcon(QIcon(":/images/MakeHeatMap.png"));
413 
414  addParm("Prefix","Prefix","Measure Label Int");
415  addParm("Attr Name","Attr Name","Parents");
416  addParm("Import To Mesh","Import To Mesh","Active Mesh", QStringList() << "Active Mesh" << "Other Mesh (T1)"<< "Other Mesh (T2)");
417  }
418  bool initialize(QWidget *parent);
419  bool processParms();
420 
421  bool run()
422  {
423  if(!checkState().mesh(MESH_ANY))
424  return false;
425  Mesh *m = mesh(0);
426  Mesh *m2 = mesh(1);
427  return run(m, m2, parm("Prefix"), parm("Attr Name"), parm("Import To Mesh"));
428  }
429 
430  bool run(Mesh* m, Mesh* m2, QString prefix, QString name, QString importMesh);
431 
432  protected slots:
433 
434  void on_attrTree_clicked(QTreeWidgetItem *, int);
435  void on_attrTree2_clicked(QTreeWidgetItem *, int);
436  void on_deleteButton_clicked();
437  void on_deleteButton2_clicked();
438  void on_copy12_clicked();
439  void on_saveParentIDs_clicked();
440 
441  protected:
442  QDialog* dlg;
443  QString currentItem;
445  };
446 
447  class mgxBase_EXPORT SelectParentLabel : public Process
448  {
449  public:
450  SelectParentLabel(const Process& process) : Process(process)
451  {
452  setName("Mesh/Lineage Tracking/Select Parents");
453  setDesc("Select Parents with a given label");
454  setIcon(QIcon(":/images/CellAtlas.png"));
455 
456  addParm("Label","Label","0");
457  addParm("Keep Selection","Keep Selection","No",booleanChoice());
458  }
459 
460  bool run(){
461  Mesh *m = currentMesh();
462  return run(m, parm("Label").toInt(), stringToBool(parm("Keep Selection")));
463  }
464  bool run(Mesh *m, int labelToSelect, bool keepSelection);
465 
466  };
467 
468  class mgxBase_EXPORT SelectParentLabelsT1 : public Process
469  {
470  public:
471  SelectParentLabelsT1(const Process& process) : Process(process)
472  {
473  setName("Mesh/Lineage Tracking/Select Parents in Parent Mesh");
474  setDesc("Select cells in the earlier mesh that have a parents label in the later mesh.");
475  setIcon(QIcon(":/images/CellAtlas.png"));
476 
477  }
478 
479  bool run(){
480  Mesh *m = currentMesh();
481  Mesh *m2 = otherMesh();
482  return run(m, m2);
483  }
484  bool run(Mesh *m, Mesh *m2);
485 
486  };
487 
493  class mgxBase_EXPORT SetCellType : public SetParent
494  {
495  public:
496  SetCellType(const Process& process) : SetParent(process)
497  {
498  setName("Mesh/Cell Types/Set Cell Type");
499  setDesc("Set the cell type for selected cells. Overwrite the parent label with the cell type number.");
500  setIcon(QIcon(":/images/Parents.png"));
501 
502  }
503 
504  };
505 
513  class mgxBase_EXPORT ResetCellTypes : public ResetParents {
514  public:
515  ResetCellTypes(const Process& process) : ResetParents(process)
516  {
517  setName("Mesh/Cell Types/Reset Cell Types");
518  setDesc("Clear mapping from parents to labels");
519  setIcon(QIcon(":/images/ParentsClear.png"));
520  }
521 
522  };
523 
531  class mgxBase_EXPORT LoadCellTypes : public LoadParents {
532  public:
533  LoadCellTypes(const Process& process) : LoadParents(process)
534  {
535  setName("Mesh/Cell Types/Load Cell Types");
536  setDesc("Clear mapping from parents to labels");
537  }
538 
539  };
540 
548  class mgxBase_EXPORT SaveCellTypes : public SaveParents {
549  public:
550  SaveCellTypes(const Process& process) : SaveParents(process)
551  {
552  setName("Mesh/Cell Types/Save Cell Types");
553  setDesc("Clear mapping from parents to labels");
554  }
555 
556  };
557 
558 
559  class mgxBase_EXPORT SelectCellType : public Process
560  {
561  public:
562  SelectCellType(const Process& process) : Process(process)
563  {
564  setName("Mesh/Cell Types/Select Cell Type");
565  setDesc("Select Cell Types with a given label");
566  }
567  };
568 
569  class mgxBase_EXPORT NewWalls : public Process
570  {
571  public:
572  NewWalls(const Process& process) : Process(process) {}
573 
574  bool run(const QStringList& parms)
575  {
576  if(!checkState().mesh(MESH_NON_EMPTY, 0).mesh(MESH_NON_EMPTY, 1))
577  return false;
578  Mesh *mesh1, *mesh2;
579  if(currentMesh() == mesh(0)) {
580  mesh1 = mesh(0);
581  mesh2 = mesh(1);
582  }
583  else if(currentMesh() == mesh(1)) {
584  mesh1 = mesh(1);
585  mesh2 = mesh(0);
586  }
587  else
588  return false;
589 
590  if(!checkState().mesh(MESH_NON_EMPTY, 0).mesh(MESH_NON_EMPTY, 1))
591 
592  return false;
593 
594  return run(mesh1, mesh2);
595  }
596 
597  bool run(Mesh *mesh1, Mesh *mesh2);
598 
599  QString name() const { return "Mesh/Lineage Tracking/New Walls"; }
600  QString description() const { return "Select vertices belonging to new walls on second time point.\n"
601  "First time point should be the active stack, parents should be loaded in second time point."; }
602  QStringList parmNames() const { return QStringList(); }
603  QStringList parmDescs() const { return QStringList(); }
604  QStringList parmDefaults() const { return QStringList(); }
605  QIcon icon() const { return QIcon(":/images/NewWalls.png"); }
606  };
607 
609 }
610 
611 #endif
mgx::CopyLabelsToParents
Definition: MeshProcessLineage.hpp:179
mgx::CopyParentsToLabels::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:165
mgx::CreateParentAttr
Definition: MeshProcessLineage.hpp:321
mgx::SetCellType::SetCellType
SetCellType(const Process &process)
Definition: MeshProcessLineage.hpp:496
mgx::SetParent
Definition: MeshProcessLineage.hpp:267
Process.hpp
mgx::ImportParentAttrNew::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:421
mgx::NewWalls::name
QString name() const
Definition: MeshProcessLineage.hpp:599
mgx::Mesh::setShowLabel
void setShowLabel(const QString &s="", bool setView=true)
Set the surface label display.
Definition: Mesh.hpp:621
mgx::SetParent::SetParent
SetParent(const Process &process)
Definition: MeshProcessLineage.hpp:270
mgx::HeatMapAreaAsymmetry::HeatMapAreaAsymmetry
HeatMapAreaAsymmetry(const Process &process)
Definition: MeshProcessLineage.hpp:125
mgx::ResetCellTypes
Definition: MeshProcessLineage.hpp:513
mgx::MergeParentFiles
Definition: MeshProcessLineage.hpp:296
mgx::ImportParentAttr
Definition: MeshProcessLineage.hpp:375
mgx::Stack::currentStore
const Store * currentStore() const
Returns the current store.
Definition: Stack.hpp:120
mgx::NewWalls::parmDefaults
QStringList parmDefaults() const
Definition: MeshProcessLineage.hpp:604
mgx::SaveCellTypes
Definition: MeshProcessLineage.hpp:548
mgx::CopyParentsToLabels::CopyParentsToLabels
CopyParentsToLabels(const Process &process)
Definition: MeshProcessLineage.hpp:158
mgx::CreateParentAttr::CreateParentAttr
CreateParentAttr(const Process &process)
Definition: MeshProcessLineage.hpp:324
mgx::SaveCellTypes::SaveCellTypes
SaveCellTypes(const Process &process)
Definition: MeshProcessLineage.hpp:550
mgx::MergeParentFiles::MergeParentFiles
MergeParentFiles(const Process &process)
Definition: MeshProcessLineage.hpp:299
mgx::UniqueParentsFromAttr::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:362
mgx::NewWalls::description
QString description() const
Definition: MeshProcessLineage.hpp:600
mgx::HeatMapProliferation::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:78
mgx::CorrectLabeling::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:220
mgx::Stack
Definition: Stack.hpp:33
mgx::UniqueParentsFromAttr
Definition: MeshProcessLineage.hpp:347
mgx::UniqueParentsFromAttr::UniqueParentsFromAttr
UniqueParentsFromAttr(const Process &process)
Definition: MeshProcessLineage.hpp:350
mgx
Distributed matrix library.
Definition: Assert.hpp:26
mgx::CorrectLabeling::CorrectLabeling
CorrectLabeling(const Process &process)
Definition: MeshProcessLineage.hpp:208
mgx::ImportParentAttrNew::dlg
QDialog * dlg
Definition: MeshProcessLineage.hpp:442
mgx::LoadCellTypes
Definition: MeshProcessLineage.hpp:531
mgx::MeshSelectNewWalls::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:109
mgx::CorrectParents::CorrectParents
CorrectParents(const Process &process)
Definition: MeshProcessLineage.hpp:32
mgx::CopyLabelsToParents::CopyLabelsToParents
CopyLabelsToParents(const Process &process)
Definition: MeshProcessLineage.hpp:182
mgx::CorrectLabelingStack::CorrectLabelingStack
CorrectLabelingStack(const Process &process)
Definition: MeshProcessLineage.hpp:240
mgx::Mesh::updateSelection
void updateSelection()
To be called if the selection of the points changed.
mgx::HeatMapProliferation::HeatMapProliferation
HeatMapProliferation(const Process &process)
Definition: MeshProcessLineage.hpp:69
mgx::CorrectParents::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:39
mgx::LoadParents
Definition: SystemProcessLoad.hpp:435
mgx::NewWalls
Definition: MeshProcessLineage.hpp:569
mgx::SetCellType
Definition: MeshProcessLineage.hpp:493
mgx::Process
Definition: Process.hpp:219
mgx::ImportParentAttrNew::currentM
Mesh * currentM
Definition: MeshProcessLineage.hpp:444
mgx::CopyParentsToLabels
Definition: MeshProcessLineage.hpp:155
mgx::stringToBool
mgx_EXPORT bool stringToBool(const QString &string)
Helper function converting a string into a boolean.
mgx::CorrectLabeling
Definition: MeshProcessLineage.hpp:205
mgx::MeshSelectNewWalls::MeshSelectNewWalls
MeshSelectNewWalls(const Process &process)
Definition: MeshProcessLineage.hpp:102
mgx::ResetParents
Definition: SystemProcessLoad.hpp:472
mgx::CorrectParents
Definition: MeshProcessLineage.hpp:29
mgx::CreateParentAttr::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:335
mgx::SelectParentLabel::SelectParentLabel
SelectParentLabel(const Process &process)
Definition: MeshProcessLineage.hpp:450
mgx::ImportParentAttr::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:390
mgx::SelectParentLabel
Definition: MeshProcessLineage.hpp:447
mgx::SelectCellType
Definition: MeshProcessLineage.hpp:559
mgx::Mesh
Definition: Mesh.hpp:54
mgx::MeshSelectNewWalls
Definition: MeshProcessLineage.hpp:99
mgx::NewWalls::run
bool run(const QStringList &parms)
Definition: MeshProcessLineage.hpp:574
mgx::CopyLabelsToParents::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:189
mgx::ImportParentAttrNew
Definition: MeshProcessLineage.hpp:403
mgx::SelectParentLabelsT1
Definition: MeshProcessLineage.hpp:468
mgx::NewWalls::parmNames
QStringList parmNames() const
Definition: MeshProcessLineage.hpp:602
mgx::MergeParentFiles::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:312
mgx::SelectParentLabelsT1::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:479
mgx::SelectParentLabel::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:460
mgx::HeatMapAreaAsymmetry::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:132
mgx::HeatMapAreaAsymmetry
Definition: MeshProcessLineage.hpp:122
mgx::SetParent::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:279
mgx::ImportParentAttrNew::ImportParentAttrNew
ImportParentAttrNew(const Process &process)
Definition: MeshProcessLineage.hpp:408
mgx::NewWalls::parmDescs
QStringList parmDescs() const
Definition: MeshProcessLineage.hpp:603
mgx::HeatMapProliferation
Definition: MeshProcessLineage.hpp:66
mgx::SelectParentLabelsT1::SelectParentLabelsT1
SelectParentLabelsT1(const Process &process)
Definition: MeshProcessLineage.hpp:471
mgx::ImportParentAttrNew::currentItem
QString currentItem
Definition: MeshProcessLineage.hpp:443
mgx::NewWalls::NewWalls
NewWalls(const Process &process)
Definition: MeshProcessLineage.hpp:572
mgx::ImportParentAttr::ImportParentAttr
ImportParentAttr(const Process &process)
Definition: MeshProcessLineage.hpp:378
mgx::SaveParents
Definition: SystemProcessLoad.hpp:404
mgx::CorrectLabelingStack::run
bool run()
Runs the process.
Definition: MeshProcessLineage.hpp:251
mgx::NewWalls::icon
QIcon icon() const
Definition: MeshProcessLineage.hpp:605
SystemProcessLoad.hpp
mgx::SelectCellType::SelectCellType
SelectCellType(const Process &process)
Definition: MeshProcessLineage.hpp:562
mgx::CorrectLabelingStack
Definition: MeshProcessLineage.hpp:237
mgx::Store
Definition: Store.hpp:33
mgx::LoadCellTypes::LoadCellTypes
LoadCellTypes(const Process &process)
Definition: MeshProcessLineage.hpp:533
mgx::ResetCellTypes::ResetCellTypes
ResetCellTypes(const Process &process)
Definition: MeshProcessLineage.hpp:515