File: GuiSurfaceRegionOfInterestDialogOLD.h

package info (click to toggle)
caret 5.6.4~dfsg.1-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd, wheezy
  • size: 31,904 kB
  • ctags: 28,901
  • sloc: cpp: 378,050; python: 6,718; ansic: 5,507; makefile: 333; sh: 46
file content (733 lines) | stat: -rw-r--r-- 24,220 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
/*LICENSE_START*/
/*
 *  Copyright 1995-2002 Washington University School of Medicine
 *
 *  http://brainmap.wustl.edu
 *
 *  This file is part of CARET.
 *
 *  CARET is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  CARET is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with CARET; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 */
/*LICENSE_END*/


#ifndef __GUI_SURFACE_REGION_OF_INTEREST_DIALOG_OLD_H__
#define __GUI_SURFACE_REGION_OF_INTEREST_DIALOG_OLD_H__

#include <QString>
#include <vector>

#include "WuQDialog.h"

#include "BrainModelSurfaceROINodeSelection.h"

class BrainModelSurface;
class GuiBrainModelSelectionComboBox;
class GuiNodeAttributeColumnSelectionComboBox;
class GuiPaintColumnNamesComboBox;
//class GuiTopologyFileComboBox;
class GiftiNodeDataFile;
class NodeAttributeFile;
class QCheckBox;
class QComboBox;
class QLabel;
class QLineEdit;
class QRadioButton;
class QSpinBox;
class QStackedWidget;
class QTextEdit;
class QDoubleSpinBox;
class QTabWidget;
class QVBoxLayout;
class TopologyFile;

/// Dialog for performing surface region of interest queries 
class GuiSurfaceRegionOfInterestDialogOLD : public WuQDialog {
   Q_OBJECT
   
   public:
      /// Constructor
      GuiSurfaceRegionOfInterestDialogOLD(QWidget* parent);
      
      /// Destructor
      ~GuiSurfaceRegionOfInterestDialogOLD();
      
      /// get the query paint column
      int getQueryPaintColumn() const;
      
      /// update the dialog (typically due to file changes)
      void updateDialog();
      
      /// set border name for query
      void setBorderNameForQuery(const QString& borderName);
      
      /// set paint index for query
      void setPaintIndexForQuery(const int paintIndex);
      
      /// set metric node for query
      void setMetricNodeForQuery(const int metricNodeForQueryIn);
      
      /// set shape node for query
      void setShapeNodeForQuery(const int shapeNodeForQueryIn);
      
      /// set node for geodesic query
      void setNodeForGeodesicQuery(const int nodeNumber);
      
      /// set open border start node
      void setCreateBorderOpenStartNode(const int nodeNumber);
      
      /// set open border end node
      void setCreateBorderOpenEndNode(const int nodeNumber);
      
   public slots:
      // show the dialog
      void show();
      
   private slots:
      /// called when dialog closed
      void close();
      
      /// called when help button is pressed
      void slotHelpButton();
      
      /// Called to assign paint to nodes
      void slotAssignPaintToNodes();
      
      /// called when an assign paint column name column selected
      void slotAssignPaintColumn(int item);
      
      /// called when create volume from displayed query nodes push button pressed
      void slotCreateVolumeFromQueryNodesButton();
      
      /// called when select nodes button pressed
      void slotSelectNodesButton();
      
      /// call when invert nodes button pressed
      void slotInvertNodeSelectionPushButton();
      
      /// called when deselect nodes button pressed
      void slotDeselectNodesButton();
      
      /// called when create report button pressed
      void slotCreateReportButton();
      
      /// called when create paint subregion report button pressed
      void slotCreatePaintReportButton();
      
      /// called when disconnect nodes button is pressed
      void slotDisconnectNodes();
      
      ///  called when border name from list push button pressed
      void slotBorderNameFromListPushButton();
      
      ///  called when border name from mouse push button pressed
      void slotBorderNameFromMousePushButton();
      
      /// called when paint name from list push button pressed
      void slotPaintNameFromListPushButton();
      
      /// called when paint name from mouse push button pressed
      void slotPaintNameFromMousePushButton();
      
      /// called when report save push button pressed
      void slotSavePushButton();
      
      /// called when report clear push button pressed
      void slotClearPushButton();
      
      ///  Called to change the mouse mode to select the node for the geodesic query.
      void slotGeodesicNodePushButton();

      /// called when geodesic push button pressed
      void slotGeodesicPushButton();
      
      /// called to default geodesic column names
      void slotUpdateGeodesicColumnNames();
      
      /// called when a metric mode is selected
      void slotMetricModeSelection(int metricMode);
      
      /// called when an operation mode is selected
      void slotOperationMode(int item);
      
      /// called when one of the query mode radio buttons is selected
      void slotSelectionMode(int);
      
      /// called when show selected nodes toggle is changed
      void slotShowSelectedNodes(bool on);
      
      /// update the operation topology label
      void slotSurfaceSelection();
      
      /// called when topology is changed
      //void slotTopologySelection();
      
      /// called to display smoothing dialog
      void slotSmoothNodes();
      
      /// Called to create shape correlation report.
      void slotCorrelationShapeReport();

      /// Called when metric all on pushbutton is pressed
      void slotMetricAllOnPushButton();
      
      /// Called when metric all off pushbutton is pressed
      void slotMetricAllOffPushButton();
      
      /// Called when paint all on pushbutton is pressed
      void slotPaintAllOnPushButton();
      
      /// Called when paint all off pushbutton is pressed
      void slotPaintAllOffPushButton();
      
      /// Called when shape all on pushbutton is pressed
      void slotShapeAllOnPushButton();
      
      /// Called when shape all off pushbutton is pressed
      void slotShapeAllOffPushButton();
      
      /// Called when a shape mode is selected.
      void slotShapeModeSelection(int shapeMode);

      /// Called to assign metrics for a node
      void slotAssignMetricToNodes();
      
      /// Called to assign surface shape for a node
      void slotAssignSurfaceShapeToNodes();
      
      /// Called to create the prob atlas report
      void slotCreateProbAtlasReport();
      
      /// Called to create shape cluster report
      void slotShapeClusterReport();
      
      /// Called to set create borders from clusters name
      void slotBorderClusterNamePushButton();
      
      /// Called run create borders from clusters
      void slotCreateBordersFromClusters();
      
      /// called to run compute integrated folding index
      void slotComputeIntegratedFoldingIndex();
      
      /// called to create a border from the ROI
      void slotCreateBorderFromROIPushButton();
      
      /// called to set name of border for border from ROI
      void slotCreateBorderFromROINamePushButton();
      
      /// called to select start node for border from ROI
      void slotCreateBorderFromROIStartNodePushButton();
      
      /// called to select start node for border from ROI
      void slotCreateBorderFromROIEndNodePushButton();
      
      /// called when load ROI button is pressed
      void slotLoadROIPushButton();
      
      /// called when save ROI button is pressed
      void slotSaveROIPushButton();
      
      /// called when dilate button is pressed
      void slotDilatePushButton();
      
      /// called when erode button is pressed
      void slotErodePushButton();
      
   private:
   
      /// operation mode
      enum OPERATION_MODE {
         OPERATION_MODE_ASSIGN_METRIC,
         OPERATION_MODE_ASSIGN_PAINT,
         OPERATION_MODE_ASSIGN_SURFACE_SHAPE,
         OPERATION_MODE_COMPUTE_INTEGRATED_FOLDING_INDEX,
         OPERATION_MODE_CREATE_BORDERS_FROM_CLUSTERS,
         OPERATION_MODE_CREATE_BORDERS_FROM_ROI,
         OPERATION_MODE_CREATE_VOLUME_ROI,
         OPERATION_MODE_DISCONNECT_NODES,
         OPERATION_MODE_GEODESIC,
         OPERATION_MODE_PROB_ATLAS_OVERLAP,
         OPERATION_MODE_SMOOTH_NODES,
         OPERATION_MODE_STATISTICAL_REPORT,
         OPERATION_MODE_STATISTICAL_PAINT_REPORT,
         OPERATION_MODE_SHAPE_CORRELATION,
         OPERATION_MODE_SHAPE_CLUSTER_ANALYSIS
      };
      
      /// selction mode (type of attribute used to select)
      enum SELECTION_MODE {
         SELECTION_MODE_ENTIRE_SURFACE,
         SELECTION_MODE_NODES_WITH_PAINT,
         SELECTION_MODE_NODES_WITHIN_BORDER,
         SELECTION_MODE_NODES_WITHIN_LATLON,
         SELECTION_MODE_NODES_WITH_METRIC,
         SELECTION_MODE_NODES_WITH_SHAPE,
         SELECTION_MODE_NODES_WITH_CROSSOVERS,
         SELECTION_MODE_NONE
      };
      
      /// get the query mode
      SELECTION_MODE selectionMode;
      
      /// get the selection logic
      BrainModelSurfaceROINodeSelection::SELECTION_LOGIC
                                                     getSelectionLogic() const;
      /// create the node selection section
      QWidget* createNodeSelectionSection();

      /// create the node selection with paint section
      void createNodeSelectionPaint();
      
      /// create the node selection with border section
      void createNodeSelectionBorder();
      
      /// create the node selection with latlon
      void createNodeSelectionLatLon();
      
      /// create the node selection with metric
      void createNodeSelectionMetric();
      
      /// create the node selection with shape
      void createNodeSelectionShape();
      
      /// create the assign metric operation section
      void createOperationAssignMetric();
      
      /// create the assign paint operation section
      void createOperationAssignPaint();
      
      /// create the prob atlas analysis operation section
      void createOperationProbAtlas();
      
      /// create the assign surface shape operation section
      void createOperationAssignSurfaceShape();
      
      /// create the borders around clusters section
      void createOperationsBordersAroundClusters();
      
      /// create the border from ROI
      void createOperationsBordersFromROI();
      
      /// create the create volume ROI operation section
      void createOperationCreateVolumeROI();
      
      /// create the disconnect nodes operation section
      void createOperationDisconnectNodes();
      
      /// create the geodesic operation section
      void createOperationGeodesicDistance();
      
      /// create the integrated folding index operation
      void createOperationIntegratedFoldingIndex();
      
      /// create the statistical report operation section
      void createOperationStatisticalReport();
      
      /// create the statistical report on paint subregion operation section
      void createOperationStatisticalPaintReport();
      
      /// create the smoothnodes operation section
      void createOperationSmoothNodes();
      
      /// create the surface shape correlation coefficient section
      void createShapeCorrelationCoefficientReport();
      
      /// create the surface shape cluster section
      void createShapeClusterReport();
      
      /// create the query page
      void createQuerySelectionPage();
      
      /// create the attribute page
      void createAttributeSelectionPage();
      
      /// Create the report header (returns true if no nodes in query)
      bool createReportHeader(const QString& headerText, 
                              const bool tabSeparateReportIn,
                              float& roiAreaOut);

      /// create the report page
      void createReportPage();
      
      /// create the report
      void createReport(const QString& headerText,
                        const bool tabSeparateFlag,
                        const bool doConclusion);
      
      /// reset the marked nodes and update/clear the report header
      void resetMarkedNodesAndReportHeader(const bool deselectNodesInROI);
      
      /// update a node attribute file's categories
      void updateNodeAttributeGroupBox(
                                 QVBoxLayout* layout,
                                 std::vector<QCheckBox*>& checkBoxes,
                                 NodeAttributeFile* naf);
                                 
      /// update a node attribute file's categories
      void updateNodeAttributeGroupBox(
                                 QVBoxLayout* layout,
                                 std::vector<QCheckBox*>& checkBoxes,
                                 GiftiNodeDataFile* naf);
                                 
      // /// perform ROI
      //void metricAndSurfaceShapeROI(const bool metricFlag);
      
      // /// perform ROI
      //void paintROI(const BrainModelSurface* bms, const double roiArea);
      
      /// select all nodes
      void selectNodesAll();
      
      /// select nodes by border
      void selectNodesBorder();
      
      /// select nodes by lat/lon
      void selectNodesLatLon();
      
      /// select nodes by metric
      void selectNodesMetric();
      
      /// select nodes by shape
      void selectNodesShape();
      
      /// select nodes by paint
      void selectNodesPaint();
      
      /// select nodes by crossovers
      void selectNodesCrossovers();
      
      /// update the number of selected nodes labels
      void updateNumberOfSelectedNodesLabel();
      
      /// query page for how ROI selected
      QWidget* queryPage;
      
      /// attributes page for controlling query output
      QWidget* attributesPage;
      
      /// report page
      QWidget* reportPage;
      
      /// selection mode combo box
      QComboBox* selectionModeComboBox;
      
      /// nodes with crossovers widget
      QWidget* nodesWithCrossoversWidget;
      
      /// entire surface empty widget
      QWidget* queryEntireSurfaceWidget;
      
      /// widget containing nodes within lat/lon items
      QWidget* nodesWithinLatLonQVBox;
      
      /// widget containing nodes with metric items
      QWidget* nodesWithMetricQVBox;
      
      /// widget containing nodes with paint items
      QWidget* nodesWithPaintQVBox;
      
      /// query control widget stack
      QStackedWidget* queryControlWidgetStack;
      
      /// layout for metric
      QVBoxLayout* metricOutputLayout;
      
      /// line edit for lower metric threshold
      QDoubleSpinBox* metricLowerThresholdDoubleSpinBox;
      
      /// line edit for upper metric threshold
      QDoubleSpinBox* metricUpperThresholdDoubleSpinBox;
      
      /// metric all nodes radio button
      QRadioButton* metricAllNodesRadioButton;
      
      /// metric choose nodes with mouse radio button
      QRadioButton* metricChooseNodesRadioButton;
      
      /// metric node selection column combo box
      GuiNodeAttributeColumnSelectionComboBox* metricCategoryComboBox;
      
      /// metric node number label
      QLabel* metricNodeNumberLabel;
      
      /// check buttons for metric attribute selections
      std::vector<QCheckBox*> metricCheckBoxes;
      
      /// layout for paint output
      QVBoxLayout* paintOutputLayout;
      
      /// check buttons for paint selections
      std::vector<QCheckBox*> paintCheckBoxes;
      
      /// layout for surface shape
      QVBoxLayout* shapeOutputLayout;
      
      /// check buttons for surface shape selections
      std::vector<QCheckBox*> surfaceShapeCheckBoxes;
      
      /// shape node selection column combo box
      GuiNodeAttributeColumnSelectionComboBox* shapeCategoryComboBox;
      
      /// report text editor
      QTextEdit* reportTextEdit;
      
      /// nodes with paint category combo box
      GuiNodeAttributeColumnSelectionComboBox* paintWithNameCategoryComboBox;
      
      /// nodes with paint selected name label
      QLabel* paintWithNameSelectedLabel;

      /// selected paint index
      int paintWithNameIndex;
      
      /// borders widget
      QWidget* nodesWithinBorderQVBox;
      
      /// selected border name label
      QLabel* borderNameSelectedLabel;
      
      /// name of the selected border
      QString selectedBorderName;
      
      /// lat min double spin box
      QDoubleSpinBox* latLowerRangeDoubleSpinBox;
      
      /// lat max double spin box
      QDoubleSpinBox* latUpperRangeDoubleSpinBox;
      
      /// lon min double spin box
      QDoubleSpinBox* lonLowerRangeDoubleSpinBox;
      
      /// lon min double spin box
      QDoubleSpinBox* lonUpperRangeDoubleSpinBox;
      
      /// if true, indicates tile is in ROI
      std::vector<bool> tileInROI;
      
      /// tile area
      std::vector<float> tileArea;
      
      /// combo box for operation surface
      GuiBrainModelSelectionComboBox* operationSurfaceComboBox;
      
      /// combo box topology file
      //GuiTopologyFileComboBox* topologyComboBox;
      
      /// tab separate check box
      QCheckBox* tabSeparateReportCheckBox;
      
      /// tab separate the report
      bool tabSeparateReport;
      
      /// combo box for selecting border surface
      GuiBrainModelSelectionComboBox* borderSurfaceComboBox;
      
      /// metric node for query
      int metricNodeForQuery;
      
      /// shape node for query
      int shapeNodeForQuery;
      
      /// number of nodes selected label
      QLabel* numberOfNodesSelectedLabel;
      
      /// show selected nodes check box
      QCheckBox* showSelectedNodesCheckBox;
      
      /// select logic combo box
      QComboBox* selectionLogicComboBox;
      
      /// operation combo box
      QComboBox* operationComboBox;
      
      /// operations widget stack
      QStackedWidget* operationsWidgetStack;
      
      /// assign metric operation widget
      QWidget* operationAssignMetricWidget;
      
      /// assign paint operation widget
      QWidget* operationAssignPaintWidget;
      
      /// assign surface shape operation widget
      QWidget* operationAssignSurfaceShapeWidget;
      
      /// create borders around clusters widget
      QWidget* operationCreateBordersFromClustersWidget;
      
      /// create border from ROI widget
      QWidget* operationCreateBordersFromROIWidget;
      
      /// volume ROI operation widget
      QWidget* operationCreateVolumeRoiWidget;
      
      /// disconnect nodes operation widget
      QWidget* operationDisconnectNodesWidget;
      
      /// statistical paint subregion report operation widget
      QWidget* operationStatisticalPaintReportWidget;
      
      /// tabe separate paint report widget
      QCheckBox* tabSeparatePaintReportCheckBox;
      
      /// statistical report operation widget
      QWidget* operationStatisticalReportWidget;
      
      /// smooth nodes operation widget
      QWidget* operationSmoothNodesWidget;
      
      /// shape cluster analysis
      QWidget* operationShapeClusterWidget;
      
      /// geodesic operations widget
      QWidget* operationGeodesicWidget;
      
      /// integrated folding index operations widget
      QWidget* operationComputeIntegratedFoldingIndexWidget;
      
      /// shape correlation coefficient widget
      QWidget* operationShapeCorrelationWidget;
      
      /// report header that describes node selection
      QString reportHeader;
      
      /// assign paint name combo box
      GuiNodeAttributeColumnSelectionComboBox* paintColumnAssignComboBox;
      
      /// assign paint name column name
      QLineEdit* paintColumnAssignNameLineEdit;
      
      /// assign paint name 
      QLineEdit* paintAssignNameLineEdit;
      
      /// geodesic node number spin box
      QSpinBox* geodesicNodeSpinBox;
      
      /// shape correlation column combo box
      GuiNodeAttributeColumnSelectionComboBox* shapeCorrelationColumnComboBox;
      
      /// shape correlation tab separate check box
      QCheckBox* shapeCorrelationTabSeparateCheckBox;
      
      /// group box for shape selection items
      QWidget* nodesWithShapeQVBox;
      
      /// shape lower threshold line edit
      QDoubleSpinBox* shapeLowerThresholdDoubleSpinBox;

      /// shape upper threshold line edit
      QDoubleSpinBox* shapeUpperThresholdDoubleSpinBox;
      
      /// shape radio button
      QRadioButton* shapeAllNodesRadioButton;

      /// shape radio button
      QRadioButton* shapeChooseNodesRadioButton;

      /// shape node number label
      QLabel* shapeNodeNumberLabel;
      
      /// metric column assign combo box
      GuiNodeAttributeColumnSelectionComboBox* metricColumnAssignComboBox;
      
      /// metric column name line edit
      QLineEdit* metricColumnAssignNameLineEdit;
      
      /// metric column assign line 
      QDoubleSpinBox* metricValueDoubleSpinBox;
      
      /// surface shape column assign combo box
      GuiNodeAttributeColumnSelectionComboBox* surfaceShapeColumnAssignComboBox;
      
      /// surface shape column name line edit
      QLineEdit* surfaceShapeColumnAssignNameLineEdit;
      
      /// surface shape column assign line 
      QDoubleSpinBox* surfaceShapeValueDoubleSpinBox;
      
      /// geodesic metric file column combo box
      GuiNodeAttributeColumnSelectionComboBox* geodesicMetricColumnComboBox;
      
      /// geodesic metric column name line edit
      QLineEdit* geodesicMetricColumnNameLineEdit;
      
      /// geodesic distance file column combo box
      GuiNodeAttributeColumnSelectionComboBox* geodesicDistanceColumnComboBox;
      
      /// geodesic distance column name line edit
      QLineEdit* geodesicDistanceColumnNameLineEdit;
      
      /// paint region combo box
      GuiNodeAttributeColumnSelectionComboBox* paintRegionReportColumnComboBox;
      
      /// prob atlas operation widget
      QWidget* operationProbAtlasWidget;
      
      /// prob atlas separate with tab option
      QCheckBox* probAtlasTabSeparateCheckBox;
      
      /// the separator character
      QString separatorCharacter;
      
      /// shape cluster areal distortion selection column combo box
      GuiNodeAttributeColumnSelectionComboBox* shapeClusterMetricArealDistortionComboBox;
      
      /// shape cluster report threshold float spin box
      QDoubleSpinBox* shapeClusterThresholdDoubleSpinBox;
      
      /// check box for shape cluster report separate with tabs
      QCheckBox* shapeClusterTabSeparateCheckBox;
      
      /// line edit for name for border around clusters
      QLineEdit* clusterBorderNameLineEdit;
      
      /// auto project borders around clusters
      QCheckBox* clusterBorderAutoProjectCheckBox;
      
      /// distortion correction for statistical report
      GuiNodeAttributeColumnSelectionComboBox* distortionCorrectionMetricColumnComboBox;

      /// tab widget for dialog
      QTabWidget* tabWidget;
      
      /// name for create border from ROI line edit
      QLineEdit* createBorderFromROINameLineEdit;

      /// create border automatic radio button
      QRadioButton* createBorderFromROIAutomaticRadioButton;
      
      /// create border choose nodes radio button
      QRadioButton* createBorderFromROIManualRadioButton;
      
      /// create border start node spin box
      QSpinBox* createBorderFromROIStartNodeSpinBox;
      
      /// create border end node spin box
      QSpinBox* createBorderFromROIEndNodeSpinBox;
      
      /// create border from roi node selection widget
      QWidget* createBorderFromROINodeSelectionWidget;
      
      /// create border from roi sampling density
      QDoubleSpinBox* createBorderFromROISamplingDensityDoubleSpinBox;
      
      /// value of show selected nodes when dialog was closed
      bool showSelectedNodesCheckBoxValueWhenDialogClosed;
};

#endif // __GUI_SURFACE_REGION_OF_INTEREST_DIALOG_OLD_H__