16 #ifndef ThreeDTreeGUI_H
17 #define ThreeDTreeGUI_H
21 #include <QRadioButton>
22 #include <QtGui/QMainWindow>
23 #include <QVTKWidget.h>
24 #include <vtkRenderer.h>
25 #include <vtkRenderWindow.h>
27 #include <QVBoxLayout>
30 #include <QPushButton>
31 #include <vtkImageData.h>
40 #include <vtkMetaImageWriter.h>
41 #include <vtkRenderer.h>
42 #include <vtkImageCast.h>
43 #include <vtkMetaImageReader.h>
44 #include <vtkPolyDataMapper.h>
45 #include <vtkLODActor.h>
46 #include <vtkContourFilter.h>
47 #include <vtkAppendPolyData.h>
58 QVTKWidget *vtkWidget;
62 QList <QAction* > fileMenuBarActions;
71 QSpinBox *mainTabDiameterSpinBox;
72 QDoubleSpinBox *mainTabSpacingSpinBox;
73 QPushButton *generateButton;
74 QPushButton *restartNoiseButton;
75 QLabel *mainTablabel1;
76 QLabel *mainTablabel0;
77 QVBoxLayout *mainTabLayout;
78 QVBoxLayout *edenTabLayout;
79 QVBoxLayout *noiseTabLayout;
84 QLabel *edenPercentLabel;
85 QSpinBox *edenPercent;
86 QLabel *edenPointConnection;
87 QPushButton *addEdenButton;
89 QRadioButton *edenNeighborhoodConnections0;
90 QRadioButton *edenNeighborhoodConnections6;
91 QRadioButton *edenNeighborhoodConnections26;
93 QVBoxLayout *asftTabLayout;
95 QLabel *asftRadiusLabel;
97 QPushButton *addAsftButton;
99 QVBoxLayout *bigNoiseTabLayout;
100 QWidget *bigNoiseTab;
101 QLabel *bigNoiseRadiusLabel;
102 QSpinBox *bigNoiseRadius;
103 QPushButton *addBigNoiseButton;
107 QVBoxLayout *prepareTabLayout;
109 QLabel *backgroundValueLabel;
110 QSpinBox *backgroundValue;
111 QLabel *intervalLLabel;
112 QLabel *intervalRLabel;
113 QSpinBox *intervalLValue;
114 QSpinBox *intervalRValue;
115 QPushButton *preparePGMButton;
117 long long unsigned int voxCount;
124 vtkImageData *rawTree;
125 vtkContourFilter *treeContour;
126 vtkPolyDataMapper *treeMapper;
127 vtkLODActor *treeActor;
128 vtkMetaImageWriter *metaWriter;
129 vtkMetaImageReader *metaReader;
142 void printDiameterInfo();
143 void printSpacingInfo();
145 void refresh(QThread *);
146 void raw2PgmPink(vtkImageData *p_rawTree, QThread *p);
147 void pgm2RawPink(QThread *p);
148 void seuilPink(QThread *);
149 void framePink(QThread *);
150 void subPink(QThread *);
151 void removeNoisePink();
152 void checkEdenOption();
155 void addEdenForBigNoise();
156 void terminateThread(QThread *);
157 void preparePGMFile();
158 void addAsftForBigNoise(QThread *);
164 #endif // ThreeDTreeGUI_H