MorphoGraphX
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
StackProcessFilters.hpp
1 #ifndef STACKPROCESSFILTERS_HPP
2 #define STACKPROCESSFILTERS_HPP
3 
4 #include <Process.hpp>
5 
6 namespace mgx { namespace process
7 {
10 
18  class mgxBase_EXPORT AverageStack : public StackProcess {
19  public:
20  AverageStack(const StackProcess& process) : Process(process), StackProcess(process) {}
21 
22  bool operator()(const QStringList& parms)
23  {
24  if(!checkState().store(STORE_NON_EMPTY))
25  return false;
26  Store* input = currentStack()->currentStore();
27  Store* output = currentStack()->work();
28  Point3i r(parms[0].toInt(), parms[1].toInt(), parms[2].toInt());
29  bool res = (*this)(input, output, r, parms[3].toUInt());
30  if(res) {
31  input->hide();
32  output->show();
33  }
34  return res;
35  }
36 
37  bool operator()(const Store* input, Store* output, Point3i radius, uint steps);
38 
39  QString name() const { return "Average"; }
40  QString description() const { return "Average stack data with a square filter."; }
41  QString folder() const { return "Filters"; }
42  QStringList parmNames() const { return QStringList() << "X Radius" << "Y Radius" << "Z Radius" << "Steps"; }
43  QStringList parmDescs() const { return QStringList() << "X Radius" << "Y Radius" << "Z Radius" << "Steps"; }
44  QStringList parmDefaults() const { return QStringList() << "1" << "1" << "1" << "1"; }
45  QIcon icon() const { return QIcon(":/images/AvgPix.png"); }
46  };
47 
59  class mgxBase_EXPORT BrightenStack : public StackProcess {
60  public:
61  BrightenStack(const StackProcess& process) : Process(process), StackProcess(process) {}
62 
63  bool operator()(const QStringList& parms)
64  {
65  if(!checkState().store(STORE_NON_EMPTY))
66  return false;
67  Stack* s = currentStack();
68  Store* input = s->currentStore();
69  Store* output = s->work();
70  bool res = (*this)(input, output, parms[0].toFloat());
71  if(res) {
72  input->hide();
73  output->show();
74  }
75  return res;
76  }
77  bool operator()(const Store* input, Store* output, float brightness);
78 
79  QString folder() const { return "Filters"; }
80  QString name() const { return "Brighten Darken"; }
81  QString description() const { return
82  "Brighten or Darken stack.\n"
83  "A value > 1 will brighten the stack, < 1 will darken it.\n"
84  "To convert from a 12bit to a 16bit stack, use 16.\n"
85  "To convert from a 8bit to a 16bit stack, use 256.\n"; }
86  QStringList parmNames() const { return QStringList() << "Amount"; }
87  QStringList parmDescs() const { return QStringList() << "Amount to multiply voxels"; }
88  QStringList parmDefaults() const { return QStringList() << "2.0"; }
89  QIcon icon() const { return QIcon(":/images/Brightness.png"); }
90  };
91 
98  class mgxBase_EXPORT BinarizeStack : public StackProcess {
99  public:
100  BinarizeStack(const StackProcess& process)
101  : Process(process)
102  , StackProcess(process)
103  {
104  }
105 
106  bool operator()(const QStringList& parms)
107  {
108  if(!checkState().store(STORE_NON_EMPTY))
109  return false;
110  Stack* s = currentStack();
111  Store* input = s->currentStore();
112  Store* output = s->work();
113  bool res = (*this)(input, output, parms[0].toUShort());
114  if(res) {
115  input->hide();
116  output->show();
117  }
118  return res;
119  }
120  bool operator()(const Store* input, Store* output, ushort threshold);
121 
122  QString folder() const {
123  return "Filters";
124  }
125  QString name() const {
126  return "Binarize";
127  }
129  {
130  return "Transform the stack to binary (65535 or 0).\n"
131  "All voxels with an intensity greater than the threshold to 65535, while to others are set to 0.";
132  }
134  return QStringList() << "Threshold";
135  }
137  return QStringList() << "Voxels above this threshold will be assigned 1.";
138  }
140  return QStringList() << "5000";
141  }
142  QIcon icon() const {
143  return QIcon(":/images/Brightness.png");
144  }
145  };
146 
152  class mgxBase_EXPORT ColorGradient : public StackProcess {
153  public:
154  ColorGradient(const StackProcess& process)
155  : Process(process)
156  , StackProcess(process)
157  {
158  }
159 
160  bool operator()(const QStringList& parms)
161  {
162  if(!checkState().store(STORE_NON_EMPTY))
163  return false;
164  Stack* s = currentStack();
165  Store* input = s->currentStore();
166  Store* output = s->work();
167  bool res = (*this)(input, output, parms[0].toFloat());
168  if(res) {
169  input->hide();
170  output->show();
171  }
172  return res;
173  }
174  bool operator()(const Store* input, Store* output, float colorGradDiv);
175 
176  QString folder() const {
177  return "Filters";
178  }
179  QString name() const {
180  return "Color Gradient";
181  }
183  return "Compute color gradient in Z direction";
184  }
186  return QStringList() << "Z Divisor";
187  }
189  return QStringList() << "Factor by which the gradient is divided by.";
190  }
192  return QStringList() << "5.0";
193  }
194  QIcon icon() const {
195  return QIcon(":/images/ColorGrad.png");
196  }
197  };
198 
204  class mgxBase_EXPORT InvertStack : public StackProcess {
205  public:
206  InvertStack(const StackProcess& process)
207  : Process(process)
208  , StackProcess(process)
209  {
210  }
211 
212  bool operator()(const QStringList&)
213  {
214  if(!checkState().store(STORE_NON_EMPTY))
215  return false;
216  Stack* s = currentStack();
217  Store* input = s->currentStore();
218  Store* output = s->work();
219  bool res = (*this)(input, output);
220  if(res) {
221  input->hide();
222  output->show();
223  }
224  return res;
225  }
226  bool operator()(const Store* input, Store* output);
227 
228  QString folder() const {
229  return "Filters";
230  }
231  QString name() const {
232  return "Invert";
233  }
235  return "Invert the stack";
236  }
238  return QStringList();
239  }
241  return QStringList();
242  }
243  QIcon icon() const {
244  return QIcon(":/images/Invert.png");
245  }
246  };
247 
253  class mgxBase_EXPORT FilterStack : public StackProcess {
254  public:
255  FilterStack(const StackProcess& process)
256  : Process(process)
257  , StackProcess(process)
258  {
259  }
260 
261  bool operator()(const QStringList& parms)
262  {
263  if(!checkState().store(STORE_NON_EMPTY))
264  return false;
265  Stack* s = currentStack();
266  Store* input = s->currentStore();
267  Store* output = s->work();
268  bool res = (*this)(input, output, parms[0].toUInt(), parms[1].toUInt());
269  if(res) {
270  input->hide();
271  output->show();
272  }
273  return res;
274  }
275  bool operator()(const Store* input, Store* output, uint lowFilter, uint highFilter);
276 
277  QString folder() const {
278  return "Filters";
279  }
280  QString name() const {
281  return "Trim high/low values";
282  }
284  {
285  return "Clip the voxel intensities to the interval [Low Threshold, High Threshold].";
286  }
288  {
289  return QStringList() << "Low Threshold"
290  << "High Threshold";
291  }
293  {
294  return QStringList() << "Lower bound"
295  << "Upper bound";
296  }
298  {
299  return QStringList() << "1000"
300  << "0";
301  }
302  QIcon icon() const {
303  return QIcon(":/images/Filter.png");
304  }
305  };
306 
315  class mgxBase_EXPORT GaussianBlurStack : public StackProcess {
316  public:
317  GaussianBlurStack(const StackProcess& process)
318  : Process(process)
319  , StackProcess(process)
320  {
321  }
322 
323  bool operator()(const QStringList& parms)
324  {
325  if(!checkState().store(STORE_NON_EMPTY))
326  return false;
327  Stack* s = currentStack();
328  Store* input = s->currentStore();
329  Store* output = s->work();
330  Point3f sigma(parms[0].toFloat(), parms[1].toFloat(), parms[2].toFloat());
331  bool res = (*this)(input, output, sigma);
332  if(res) {
333  input->hide();
334  output->show();
335  }
336  return res;
337  }
338  bool operator()(const Store* input, Store* output, Point3f sigma);
339 
340  QString folder() const {
341  return "Filters";
342  }
343  QString name() const {
344  return "Gaussian Blur Stack";
345  }
347  return "Blur the stack, radius = 3 x Sigma";
348  }
350  {
351  return QStringList() << QString("X Sigma (%1)").arg(UM) << QString("Y Sigma (%1)").arg(UM)
352  << QString("Z Sigma (%1)").arg(UM);
353  }
355  {
356  return QStringList() << QString("X Sigma (%1)").arg(UM) << QString("Y Sigma (%1)").arg(UM)
357  << QString("Z Sigma (%1)").arg(UM);
358  }
360  {
361  return QStringList() << "0.3"
362  << "0.3"
363  << "0.3";
364  }
365  QIcon icon() const {
366  return QIcon(":/images/Blur.png");
367  }
368  };
369 
379  class mgxBase_EXPORT SharpenStack : public StackProcess {
380  public:
381  SharpenStack(const StackProcess& process)
382  : Process(process)
383  , StackProcess(process)
384  {
385  }
386 
387  bool operator()(const QStringList& parms)
388  {
389  if(!checkState().store(STORE_NON_EMPTY))
390  return false;
391  Stack* s = currentStack();
392  Store* input = s->currentStore();
393  Store* output = s->work();
394  Point3f sigma(parms[0].toFloat(), parms[1].toFloat(), parms[2].toFloat());
395  bool res = (*this)(input, output, sigma, parms[3].toFloat());
396  if(res) {
397  input->hide();
398  output->show();
399  }
400  return res;
401  }
402  bool operator()(const Store* input, Store* output, const Point3f sigma, const float amount);
403 
404  QString folder() const {
405  return "Filters";
406  }
407  QString name() const {
408  return "Sharpen Stack";
409  }
411  return "Sharpen the stack, radius = 3 x Sigma";
412  }
414  {
415  return QStringList() << QString("X Sigma (%1)").arg(UM) << QString("Y Sigma (%1)").arg(UM)
416  << QString("Z Sigma (%1)").arg(UM) << "Amount";
417  }
419  {
420  return QStringList() << QString("X Sigma (%1)").arg(UM) << QString("Y Sigma (%1)").arg(UM)
421  << QString("Z Sigma (%1)").arg(UM) << "Amount";
422  }
424  {
425  return QStringList() << "0.2"
426  << "0.2"
427  << "1.0"
428  << "1.0";
429  }
430  QIcon icon() const {
431  return QIcon(":/images/Sharpen.png");
432  }
433  };
434 
443  class mgxBase_EXPORT ApplyKernelStack : public StackProcess {
444  public:
445  ApplyKernelStack(const StackProcess& process)
446  : Process(process)
447  , StackProcess(process)
448  {
449  }
450 
451  bool operator()(const QStringList& parms)
452  {
453  if(!checkState().store(STORE_NON_EMPTY))
454  return false;
455  Stack* s = currentStack();
456  Store* input = s->currentStore();
457  Store* output = s->work();
458  HVecF kernels[3];
459  bool ok;
460  QString fields[3] = { "x", "y", "z" };
461  for(int i = 0; i < 3; i++) {
462  QString str = QString(parms[i]).trimmed();
463  QStringList field_values = str.split(" ", QString::SkipEmptyParts);
464  kernels[i].resize(field_values.size());
465  for(size_t j = 0; j < (size_t)field_values.size(); ++j) {
466  kernels[i][j] = field_values[j].toFloat(&ok);
467  if(not ok)
468  return setErrorMessage(
469  QString("Value %1 of field %2 if not a valid number.").arg(j).arg(fields[i]));
470  }
471  }
472 
473  bool res = (*this)(input, output, kernels[0], kernels[1], kernels[2]);
474  if(res) {
475  input->hide();
476  output->show();
477  }
478  return res;
479  }
480  bool operator()(const Store* input, Store* output, const HVecF& kernelX, const HVecF& kernelY,
481  const HVecF& kernelZ);
482 
483  QString folder() const {
484  return "Filters";
485  }
486  QString name() const {
487  return "Apply Separable Kernel";
488  }
490  return "Kernel must have odd number of values";
491  }
493  {
494  return QStringList() << "X Kernel"
495  << "Y Kernel"
496  << "Z Kernel";
497  }
499  {
500  return QStringList() << "X Kernel"
501  << "Y Kernel"
502  << "Z Kernel";
503  }
505  {
506  return QStringList() << "-.1 1.2 -.1"
507  << "-.1 1.2 -.1"
508  << "-.1 1.2 -.1";
509  }
510  QIcon icon() const {
511  return QIcon(":/images/Kernel.png");
512  }
513  };
514 
524  class mgxBase_EXPORT NormalizeStack : public StackProcess {
525  public:
526  NormalizeStack(const StackProcess& process)
527  : Process(process)
528  , StackProcess(process)
529  {
530  }
531 
532  bool operator()(const QStringList& parms)
533  {
534  if(!checkState().store(STORE_NON_EMPTY))
535  return false;
536  Stack* s = currentStack();
537  Store* input = s->currentStore();
538  Store* output = s->work();
539  Point3f radius(parms[0].toFloat(), parms[1].toFloat(), parms[2].toFloat());
540  Point3f sigma(parms[3].toFloat(), parms[4].toFloat(), parms[5].toFloat());
541  bool res = (*this)(input, output, radius, sigma, parms[6].toUInt(), parms[7].toFloat());
542  if(res) {
543  input->hide();
544  output->show();
545  }
546  return res;
547  }
548  bool operator()(const Store* input, Store* output, Point3f radius, Point3f sigma, uint threshold, float blurFactor);
549 
550  QString folder() const {
551  return "Filters";
552  }
553  QString name() const {
554  return "Normalize Stack";
555  }
557  return "Normalize the stack";
558  }
560  {
561  return QStringList() << QString("X Radius (%1)").arg(UM) << QString("Y Radius (%1)").arg(UM)
562  << QString("Z Radius (%1)").arg(UM) << QString("X Sigma (%1)").arg(UM)
563  << QString("Y Sigma (%1)").arg(UM) << QString("Z Sigma (%1)").arg(UM) << "Threshold"
564  << "Blur factor";
565  }
567  {
568  return QStringList() << QString("X Radius (%1) for the locality of normalization").arg(UM)
569  << QString("Y Radius (%1) for the locality of normalization").arg(UM)
570  << QString("Z Radius (%1) for the locality of normalization").arg(UM)
571  << QString("X Sigma (%1) for pre-blur").arg(UM)
572  << QString("Y Sigma (%1) for pre-blur").arg(UM)
573  << QString("Z Sigma (%1) for pre-blur").arg(UM)
574  << "Threshold under which pixels are cleared considered as background"
575  << "Relative contribution of blurred vs unblurred dilation";
576  }
578  {
579  return QStringList() << "5.0"
580  << "5.0"
581  << "5.0"
582  << "0.5"
583  << "0.5"
584  << "0.5"
585  << "10000"
586  << "0.7";
587  }
588  QIcon icon() const {
589  return QIcon(":/images/Normalize.png");
590  }
591  };
592 
598  class mgxBase_EXPORT CImgGaussianBlurStack : public StackProcess {
599  public:
600  CImgGaussianBlurStack(const StackProcess& process)
601  : Process(process)
602  , StackProcess(process)
603  {
604  }
605 
606  bool operator()(const QStringList& parms)
607  {
608  if(!checkState().store(STORE_NON_EMPTY))
609  return false;
610  Stack* s = currentStack();
611  Store* input = s->currentStore();
612  Store* output = s->work();
613  bool res = (*this)(input, output, parms[0].toUInt());
614  if(res) {
615  input->hide();
616  output->show();
617  }
618  return res;
619  }
620 
621  bool operator()(const Store* input, Store* output, uint radius);
622 
623  QString folder() const {
624  return "CImage";
625  }
626  QString name() const {
627  return "Cimg Gaussian Blur";
628  }
630  return "Cimg Gaussian Blur";
631  }
633  return QStringList() << "Radius";
634  }
636  return QStringList() << "Radius";
637  }
639  return QStringList() << "5";
640  }
641  QIcon icon() const {
642  return QIcon(":/images/Blur.png");
643  }
644  };
645 
651  class mgxBase_EXPORT CImgLaplaceStack : public StackProcess {
652  public:
653  CImgLaplaceStack(const StackProcess& process)
654  : Process(process)
655  , StackProcess(process)
656  {
657  }
658 
659  bool operator()(const QStringList&)
660  {
661  if(!checkState().store(STORE_NON_EMPTY))
662  return false;
663  Stack* s = currentStack();
664  Store* input = s->currentStore();
665  Store* output = s->work();
666  bool res = (*this)(input, output);
667  if(res) {
668  input->hide();
669  output->show();
670  }
671  return res;
672  }
673  bool operator()(const Store* input, Store* output);
674 
675  QString folder() const {
676  return "CImage";
677  }
678  QString name() const {
679  return "CImg Laplace Transform";
680  }
682  return "CImg Laplace transform of stack";
683  }
685  return QStringList();
686  }
688  return QStringList();
689  }
690  QIcon icon() const {
691  return QIcon(":/images/Laplace.png");
692  }
693  };
695 } // namespace process
696 } // namespace mgx
697 
698 #endif // STACKPROCESSFILTERS_HPP
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:142
void show()
Ask the user interface to show this store.
Definition: Store.hpp:167
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:687
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:41
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:302
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:63
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:365
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:489
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:45
Change the global luminosity of the stack.
Definition: StackProcessFilters.hpp:59
Blur the stack using a Gaussian kernel or specified radius.
Definition: StackProcessFilters.hpp:315
split(const QString &sep, SplitBehavior behavior=KeepEmptyParts, Qt::CaseSensitivity cs=Qt::CaseSensitive)
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:136
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:182
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:606
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:430
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:577
arg(const QString &a, int fieldWidth=0, const QChar &fillChar=QLatin1Char( ' ')
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:89
const Store * currentStore() const
Returns the current store.
Definition: Stack.hpp:112
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:287
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:128
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:675
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:185
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:346
Compute the local average of each voxel of the stack.
Definition: StackProcessFilters.hpp:18
Compute the gradient of the image in the Z axis of the image.
Definition: StackProcessFilters.hpp:152
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:179
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:559
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:623
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:125
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:261
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:79
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:191
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:690
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:407
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:228
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:629
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:133
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:88
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:87
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:349
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:42
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:323
Invert the intensity of all voxels in the stack.
Definition: StackProcessFilters.hpp:204
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:632
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:556
Apply a user-defined convolution kernel to the current image.
Definition: StackProcessFilters.hpp:443
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:243
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:43
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:283
The Store class holds the actual 3D data and properties specific to it.
Definition: Store.hpp:25
Compute the Laplacian of the stack (using CImg).
Definition: StackProcessFilters.hpp:651
Binarize the stack: set the intensity of any voxel greater than the threshold to 65535 and all other ...
Definition: StackProcessFilters.hpp:98
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:139
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:44
bool operator()(const QStringList &)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:659
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:297
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:588
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:532
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:86
CImg implementation of the gaussian blur.
Definition: StackProcessFilters.hpp:598
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:626
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:451
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:40
Namespace containing all the utility classes.
Definition: Vector.hpp:37
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:160
Apply an "unsharp" filter to the stack.
Definition: StackProcessFilters.hpp:379
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:681
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:510
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:237
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:553
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:277
File containing the definition of a Process.
The Stack class represent the dimensions of the 3D data, and the frames transformations.
Definition: Stack.hpp:25
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:486
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:231
This is the main process class, the one all process inherit from.
Definition: Process.hpp:248
void hide()
Ask the user interface to hide this store.
Definition: Store.hpp:173
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:566
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:340
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:418
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:492
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:641
const Store * work() const
Access the work store.
Definition: Stack.hpp:93
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:39
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:188
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:635
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:81
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:498
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:234
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:240
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:638
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:292
Clip the intensity of the stack to the interval [Low Threshold, High Threshold].
Definition: StackProcessFilters.hpp:253
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:404
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:80
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:684
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:176
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:423
QStringList parmDescs() const
List of parameters descriptions.
Definition: StackProcessFilters.hpp:354
Normalize the intensity of the stack.
Definition: StackProcessFilters.hpp:524
Stack processes have non-mutable access to meshes and mutable access to stacks.
Definition: Process.hpp:819
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:483
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:122
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:22
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:387
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:359
QString description() const
Returns a description of the process for the GUI.
Definition: StackProcessFilters.hpp:410
QStringList parmNames() const
List of named parameters.
Definition: StackProcessFilters.hpp:413
bool operator()(const QStringList &)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:212
QIcon icon() const
Icon to use to represent the process in the GUI.
Definition: StackProcessFilters.hpp:194
QString folder() const
Folder in which to place the process.
Definition: StackProcessFilters.hpp:550
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:280
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:343
QStringList parmDefaults() const
List of default parms.
Definition: StackProcessFilters.hpp:504
bool operator()(const QStringList &parms)
Implementation of the process with generic arguments.
Definition: StackProcessFilters.hpp:106
QString name() const
Returns the name of the process.
Definition: StackProcessFilters.hpp:678