-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
133 lines (95 loc) · 4.44 KB
/
README
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
SIMI-Qt (Structure Identification in Medical Imaging - Qt)
By Tom Brzozowski, Dan Liew, Bill Papaefstratiou, My Pijika, Wasin Chaivaranont
* Description
Simi-qt is a M.Sc. Computing Science group project that took place at Imperial College London in 2012.
The program is intended to be used for segmenting parts of medical images such as the "airways".
---
* DEPENDENCIES
- VTK 5.8 with Qt support enabled
- Qt 4.7 or higher
Note older versions of these libraries may still work with the code but this has NOT been tested!
* BUILDING
1. Make sure CMake is installed
2. Make sure the Qt development libraries and header files are installed.
3. Prepare a simi-qt as an "out of source build" by running
$ mkdir build-dir
$ cd build-dir
$ cmake-gui /path/to/simi-qt-source-root/
Note you can use ccmake instead of cmake-gui if you prefer.
4. Now select the options you want.
DO_SUPERBUILD -
If you do not have the VTK library installed that has Qt support compiled in then the superbuild mode
can build it for project development
Select from:
BUILD_VTK
You will be presented with options (press configure first) that will let you choose your source for
the libraries. Note this must be a git repository.
If you already have VTK installed on your system or you have already built it
using the superbuild then you should disable DO_SUPERBUILD and reconfigure.
SQ_BUILD_TYPE -
This specifies what the build type (Usually Release or Debug) should be for the project. Note this has no affect on how the VTK library is built.
BUILD_DOCUMENTATION -
If enabled will Doxygen documentation for this project will be generated. The destination for this documentation is set by the DOC_OUTPUT_DIR variable
BUILD_WITH_VERSION_INFO -
If enabled, the current Git tag or refspec+branch will be hard coded into the program every time it is compiled. If the code is not in a git repository
then you should disable this option.
5. Generate the makefile from within ccmake or cmake-gui
6. Run
$ make
* RUNNING
There is currently no install target. The built executable named 'simi-qt' will appear in
build-dir/src/
* DEVELOPMENT WITH QtCreator
Here's how to setup the project to work the QtCreator IDE
1. You need to ensure you have VTK installed or you have built them previously using "DO_SUPERBUILD".
2. Run the following commands (can use ccmake instead of cmake-gui but if you're using QtCreator you'll probably prefer cmake-gui)
$ cd build-dir/
$ cmake-gui /path/to/simi-qt-source-root/
2. Press "configure".
3. Select "Unix Makefiles" and press "finish".
4. If VTK is installed as a system library cmake should automatically find them. If you built them using "DO_SUPERBUILD" then modify VTK_DIR to point to where it was built.
5. Press "Configure again".
6. Now exit.
7. Launch QtCreator
8. Click on File > Open File or Project
9. Select /path/to/simi-qt-source-root/CMakeLists.txt
10. A "CMake Wizard" dialog will appear. Click "Run CMake".
11. Click finish.
You're done!
* COVERAGE INFORMATION
Coverage information can be gathered for unit tests that have been exectued using lcov. Note this requires you to be using the GNU C++ compiler.
Steps
1. Change into the build directory
2. run
$ make help
... all (the default if no target is provided)
... clean
... depend
... edit_cache
... rebuild_cache
... test
... simi-qt
... all_tests
... coverage_clean
... coverage_gen
... drawmanager_tester
... imagepairmanager_tester
... seedpointmanager_tester
... segmenter_tester
... ui_tester
... docs
3. All targets that have "_tester" as a suffix are unit tests. Build the ones you want and run them once. If you want to build all tests at once run
$ make all_tests
If you want to run all tests at once then run
$ make test
4. Run the following the generate the coverage information as a HTML document in "build-dir/coverage_html/"
$ make coverage_gen
Note that everything in "build-dir/coverage_html" will be deleted prior to generating the coverage information as a HTML page.
5. To reset the execution counters run
$ make coverage_clean
* DOCUMENTATION GENERATION
If the BUILD_DOCUMENTATION CMake cache variable is set then Doxygen documentation will be built everytime the program is compiled. The output directory
is set by the DOC_OUTPUT_DIR CMake cache variable. Look in "doc/Doxyfile.in" for the settings used to generate the documentation.
If you need to generate the documentation manually run
$ cd build-dir
$ make docs