|
a |
|
b/README.md |
|
|
1 |
# Liver Tumors Segmentation-CNNs |
|
|
2 |
This project segments tumors in the Liver using 2 cascaded CNNs. We use [3D-IRCADb 01](https://www.ircad.fr/research/3d-ircadb-01/) as our dataset. |
|
|
3 |
View the [Thesis](https://drive.google.com/file/d/1UpkakPGMc2Cvtik6IEs9TqxjxvW4n9Up/view?usp=sharing) for more details about the model, dataset, methodology and results. |
|
|
4 |
|
|
|
5 |
|
|
|
6 |
There are 3 notebooks in this project |
|
|
7 |
|
|
|
8 |
* 3d-ircadb-01_util.ipynb |
|
|
9 |
Responsible for renaming files, merging masks and augmenting the dataset |
|
|
10 |
|
|
|
11 |
* liver_CNN.ipynb |
|
|
12 |
The first CNN, it uses a CNN to segment the Liver and extract the ROI |
|
|
13 |
|
|
|
14 |
* tumor_CNN_final.ipynb |
|
|
15 |
The second CNN, it segments the tumors using a CNN after masking other organs using the extracted ROI from the first CNN |
|
|
16 |
|
|
|
17 |
There is the models directories which contains the trained models |
|
|
18 |
* liver_model_final_resunet.h5 which is the first CNN trained for 20 epochs |
|
|
19 |
* tumor_weights_final_50epochs.h5 which is the second CNN trained for 50 epochs |
|
|
20 |
* tumor_weights_final_100epochs.h5 which is the second CNN trained for 100 epochs |
|
|
21 |
|
|
|
22 |
### Dependencies ### |
|
|
23 |
I used Anaconda for package management but pip will work all the same |
|
|
24 |
|
|
|
25 |
* Tensorflow-GPU |
|
|
26 |
* Keras (Tensorflow) already comes with Tensorflow |
|
|
27 |
* Numpy |
|
|
28 |
* OpenCV |
|
|
29 |
* Matplotlib |
|
|
30 |
* Pydicom |
|
|
31 |
* Jupyter Notebook |
|
|
32 |
* Scipy |
|
|
33 |
* Scikit-learn |
|
|
34 |
* PIL |
|
|
35 |
* Seaborn |
|
|
36 |
* Imageio |
|
|
37 |
|
|
|
38 |
### Dataset Structure ### |
|
|
39 |
The structure of the dataset should be as follows ( if you don't want to change the code :grinning: ) |
|
|
40 |
``` |
|
|
41 |
train |
|
|
42 |
|_ patients # Contains all the CT-slices from all patients together with no directories inside |
|
|
43 |
|_ masks # Contains the masks for the Liver and Tumors for the patients |
|
|
44 |
|_ merged_livertumors # Contains the masks of tumors after merging each slice's tumor masks together |
|
|
45 |
|_ 1.1_liver # Contains the mask for the liver of each slice for patient 1 |
|
|
46 |
|_ 1.2_liver # Contains the mask for the liver of each slice for patient 2 |
|
|
47 |
|_ 1.3_liver # Contains the mask for the liver of each slice for patient 3 |
|
|
48 |
. |
|
|
49 |
. |
|
|
50 |
. |
|
|
51 |
|_ 1.20_liver # Contains the mask for the liver of each slice for patient 20 |
|
|
52 |
``` |