|
a |
|
b/README.md |
|
|
1 |
# Tissue egmentation of Brain MRI mages |
|
|
2 |
Segmentation of brain tissues in MRI image has a number of applications in diagnosis, surgical |
|
|
3 |
planning, and treatment of brain abnormalities. However, it is a time-consuming task to be performed |
|
|
4 |
by medical experts. In addition to that, it is challenging due to intensity overlap between the different |
|
|
5 |
tissues caused by the intensity homogeneity and artifacts inherent toMRI. Tominimize this effect, it |
|
|
6 |
was proposed to apply histogram based preprocessing. The goal of this project was to develop a robust |
|
|
7 |
and automatic segmentation of WhiteMatter (WM), GrayMatter (GM)) and Cerebrospinal Fluid |
|
|
8 |
(CSF) of the human brain. |
|
|
9 |
|
|
|
10 |
To tackle the problem, we have proposed Convolutional Neural Network (CNN) based approach and |
|
|
11 |
probabilistic Atlas. U-net is one of the most commonly used and best-performing architecture |
|
|
12 |
in medical image segmentation, and we have used both 2D and 3D versions. The performance was |
|
|
13 |
evaluated using Dice Coefficient (DSC), Hausdorff Distance (HD) and Average Volumetric Difference |
|
|
14 |
(AVD). |
|
|
15 |
|
|
|
16 |
## Requirements |
|
|
17 |
### Folder structure |
|
|
18 |
Once the repository has been clone/downloaded, you have to put your dataset in the following way. |
|
|
19 |
``` |
|
|
20 |
. |
|
|
21 |
├── datasets |
|
|
22 |
│ ├── Training_Set |
|
|
23 |
│ |── Validation_Set |
|
|
24 |
| |── Testing_Set |
|
|
25 |
├── 2D |
|
|
26 |
├── 3D |
|
|
27 |
``` |
|
|
28 |
### Libraries Used |
|
|
29 |
The code has been tested with the following configuration |
|
|
30 |
|
|
|
31 |
- h5py == 2.7.0 |
|
|
32 |
- keras == 2.0.2 |
|
|
33 |
- nibabel == 2.1.0 |
|
|
34 |
- nipype == 0.12.1 |
|
|
35 |
- python == 2.7.12 |
|
|
36 |
- scipy == 0.19.0 |
|
|
37 |
- sckit-image == 0.13.0 |
|
|
38 |
- sckit-learn == 0.18.1 |
|
|
39 |
- tensorflow == 1.0.1 |
|
|
40 |
- tensorflow-gpu == 1.0.1 |
|
|
41 |
|
|
|
42 |
## How to run |
|
|
43 |
* Run data_handling_2d_patch.py file to create training and validation .npy files (same holds for 3D) |
|
|
44 |
* Run train_main_2d_patch.py to train your CNN. (same holds for 3D) |
|
|
45 |
|
|
|
46 |
## Results |
|
|
47 |
 |
|
|
48 |
|
|
|
49 |
## More detail about the project can be found in report.pdf file. |
|
|
50 |
|