1 #ifndef STACKPROCESSLABELS_HPP
2 #define STACKPROCESSLABELS_HPP
25 if(!checkState().store(STORE_MAIN | STORE_VISIBLE | STORE_NON_LABEL).store(STORE_WORK | STORE_VISIBLE
28 Stack* stack = currentStack();
31 return (*
this)(stack, main, labels);
37 return "Segmentation";
43 return "3D Watershed on the current labeled stack.";
52 return QIcon(
":/images/SegmentMesh.png");
72 if(!checkState().store(STORE_MAIN | STORE_VISIBLE | STORE_NON_LABEL).store(STORE_WORK | STORE_VISIBLE
75 Stack* stack = currentStack();
78 return (*
this)(main, labels, parms[0].toUInt(), parms[1].toUInt());
81 bool operator()(
Store* data,
Store* labels, uint threshold, uint minvoxels);
84 return "Segmentation";
87 return "Consolidate Regions";
90 return "Consilodate regions after watershed overseeding";
108 return QIcon(
":/images/Consolidate.png");
127 if(!checkState().store(STORE_MAIN | STORE_VISIBLE | STORE_NON_LABEL).store(STORE_WORK | STORE_VISIBLE
130 Stack* stack = currentStack();
133 return (*
this)(main, labels, parms[0].toFloat());
136 bool operator()(
Store* data,
Store* labels,
float tolerance);
139 return "Segmentation";
142 return "Consolidate Regions Normalized";
145 return "Consolidate regions with normalization (slower)";
157 return QIcon(
":/images/Consolidate.png");
176 if(!checkState().store(STORE_LABEL))
178 Stack* stack = currentStack();
183 bool res = (*this)(input, output, parms[0].toInt(), parms[1].toInt());
191 bool operator()(
const Store* input,
Store* labels, uint minVoxels, uint maxVoxels);
194 return "Segmentation";
197 return "Delete Labels by Threshold";
200 return "Delete Labels above/below voxel thresholds";
218 return QIcon(
":/images/DeleteLabel.png");
240 if(!checkState().store(STORE_NON_LABEL))
242 Stack* stack = currentStack();
247 Point3f radius =
Point3u(parms[0].toFloat(), parms[1].toFloat(), parms[2].toFloat());
248 uint lab = parms[3].toUInt();
249 uint minColor = parms[4].toUInt();
250 bool res = (*this)(input, labels, radius, lab, minColor);
258 bool operator()(
const Store* input,
Store* labels,
Point3f radius, uint startLabel, uint minColor);
261 return "Segmentation";
264 return "Local Maxima";
267 return "Find local maxima and possibly number them";
272 <<
QString(
"Z Radius (%1)").
arg(UM) <<
"Start Label"
278 <<
QString(
"Z Radius (%1)").
arg(UM) <<
"Start Label"
290 return QIcon(
":/images/LocalMaxima.png");
309 if(!checkState().store(STORE_LABEL))
311 Stack* stack = currentStack();
316 bool res = (*this)(input, output, parms[0].toUShort(), parms[1].toUShort());
324 bool operator()(
const Store* input,
Store* output, ushort filledLabel, ushort newLabel);
327 return "Segmentation";
333 return "Replace a label with another one";
351 return QIcon(
":/images/FillLabel.png");
370 if(!checkState().store(STORE_LABEL))
372 Stack* stack = currentStack();
377 bool res = (*this)(input, output);
385 bool operator()(
const Store* input,
Store* output);
388 return "Segmentation";
391 return "Erase at Border";
394 return "Erase any labelled region touching the border of the image";
406 return QIcon(
":/images/EraseLabel.png");
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessLabels.hpp:174
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessLabels.hpp:102
void show()
Ask the user interface to show this store.
Definition: Store.hpp:167
Compute the seeded watershed of the current stack using the CImg library.
Definition: StackProcessLabels.hpp:15
QStringList parmNames() const
List of named parameters.
Definition: StackProcessLabels.hpp:396
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessLabels.hpp:51
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessLabels.hpp:340
QStringList parmNames() const
List of named parameters.
Definition: StackProcessLabels.hpp:147
QStringList parmNames() const
List of named parameters.
Definition: StackProcessLabels.hpp:202
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessLabels.hpp:199
QString folder() const
Folder in which to place the process.
Definition: StackProcessLabels.hpp:193
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessLabels.hpp:42
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessLabels.hpp:48
arg(const QString &a, int fieldWidth=0, const QChar &fillChar=QLatin1Char( ' ')
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessLabels.hpp:238
const Store * currentStore() const
Returns the current store.
Definition: Stack.hpp:112
bool operator()(const QStringList &)
Implementation of the process with generic arguments.
Definition: StackProcessLabels.hpp:368
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessLabels.hpp:350
QString name() const
Returns the name of the process.
Definition: StackProcessLabels.hpp:329
QString name() const
Returns the name of the process.
Definition: StackProcessLabels.hpp:86
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessLabels.hpp:217
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessLabels.hpp:107
QStringList parmNames() const
List of named parameters.
Definition: StackProcessLabels.hpp:92
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessLabels.hpp:266
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessLabels.hpp:70
QString folder() const
Folder in which to place the process.
Definition: StackProcessLabels.hpp:36
QStringList parmNames() const
List of named parameters.
Definition: StackProcessLabels.hpp:335
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessLabels.hpp:150
QString folder() const
Folder in which to place the process.
Definition: StackProcessLabels.hpp:138
QString name() const
Returns the name of the process.
Definition: StackProcessLabels.hpp:196
QString name() const
Returns the name of the process.
Definition: StackProcessLabels.hpp:263
The Store class holds the actual 3D data and properties specific to it.
Definition: Store.hpp:25
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessLabels.hpp:393
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessLabels.hpp:97
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessLabels.hpp:399
bool operator()(const QStringList &)
Implementation of the process with generic arguments.
Definition: StackProcessLabels.hpp:23
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessLabels.hpp:207
QString name() const
Returns the name of the process.
Definition: StackProcessLabels.hpp:141
QStringList parmNames() const
List of named parameters.
Definition: StackProcessLabels.hpp:269
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessLabels.hpp:212
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessLabels.hpp:156
Variation on the ConsolidateRegions process.
Definition: StackProcessLabels.hpp:117
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessLabels.hpp:402
QString folder() const
Folder in which to place the process.
Definition: StackProcessLabels.hpp:326
File containing the definition of a Process.
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessLabels.hpp:289
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessLabels.hpp:125
QString folder() const
Folder in which to place the process.
Definition: StackProcessLabels.hpp:387
Delete labels that have too few or too many voxels.
Definition: StackProcessLabels.hpp:166
The Stack class represent the dimensions of the 3D data, and the frames transformations.
Definition: Stack.hpp:25
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessLabels.hpp:89
This is the main process class, the one all process inherit from.
Definition: Process.hpp:248
Try to merge segmented regions based on their contact area and the total voxel intensity at their bou...
Definition: StackProcessLabels.hpp:62
void hide()
Ask the user interface to hide this store.
Definition: Store.hpp:173
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessLabels.hpp:332
const Store * work() const
Access the work store.
Definition: Stack.hpp:93
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessLabels.hpp:144
const Store * main() const
Access the main store.
Definition: Stack.hpp:74
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessLabels.hpp:405
QStringList parmNames() const
List of named parameters.
Definition: StackProcessLabels.hpp:45
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessLabels.hpp:153
QString folder() const
Folder in which to place the process.
Definition: StackProcessLabels.hpp:260
Stack processes have non-mutable access to meshes and mutable access to stacks.
Definition: Process.hpp:819
QString name() const
Returns the name of the process.
Definition: StackProcessLabels.hpp:39
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessLabels.hpp:275
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessLabels.hpp:345
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessLabels.hpp:307
Erase any label touching the border of the image.
Definition: StackProcessLabels.hpp:360
Find the local maxima of the current image.
Definition: StackProcessLabels.hpp:230
QString name() const
Returns the name of the process.
Definition: StackProcessLabels.hpp:390
Replace one label by another one on the stack.
Definition: StackProcessLabels.hpp:299
QString folder() const
Folder in which to place the process.
Definition: StackProcessLabels.hpp:83
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessLabels.hpp:281