-
Notifications
You must be signed in to change notification settings - Fork 1
/
controller.h
72 lines (67 loc) · 1.75 KB
/
controller.h
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
#ifndef CONTROLLER_H
#define CONTROLLER_H
#include "window.h"
#include "widget.h"
#include "widget2.h"
#include "imagedata.h"
#include "volume.h"
#include "slice.h"
#include "surface.h"
#include "layer.h"
#include "ui_widget.h"
#include "ui_widget2.h"
#include <string>
#include <vector>
using namespace std;
class Controller
{
public:
Controller(Ui::Widget* ui_arg1, Ui::Widget2* ui_arg2);
void setFolderName(string foldername);
void initialize();
void initializeVOIButtons();
void readIsovalues();
void drawSurface();
void updateVolumePlanes();
void setStartIsoValue(int val);
void setEndIsoValue(int val);
void extractVOI(int xmin, int xmax, int ymin, int ymax, int zmin, int zmax);
void axialPlane(bool visibility);
void coronalPlane(bool visibility);
void sagittalPlane(bool visibility);
void setLayer(int i, bool status);
void setCustomLayer(int i, bool status);
void customValMin(int i, int val);
void customValMax(int i, int val);
void updateTransferFunctions();
void resetTransferFunctions();
void changeLayerMode(int mode);
void updateSurface(int i);
void updateThreshold(int val);
void removeSurfaces();
void removeSurface();
void changeMode(int mode);
void addAnnotation();
void print();
void makeHistogram();
private:
Ui::Widget* ui1;
Ui::Widget2* ui2;
Window* window1;
Window* window2;
Window* window3;
Window* window4;
Window* window5;
ImageData* imageData;
Volume* volume;
Slice* axialSlice;
Slice* coronalSlice;
Slice* sagittalSlice;
Surface* surface;
string foldername;
vector <Layer> layers;
vector <Layer> customLayers;
bool status;
int currentLayerTab;
};
#endif // CONTROLLER_H