|
a |
|
b/readme.md |
|
|
1 |
# Pancreas Segmentation in Abdominal CT Scans |
|
|
2 |
### Introduction |
|
|
3 |
--------- |
|
|
4 |
This is the code repository for the abstract [Pancreas Segmentation in Abdominal CT Scans](Yijun_ISBI181page_final.pdf) presented at [IEEE International Symposium on Biomedical Imaging (ISBI) 2018](http://biomedicalimaging.org/2018/). The code for data preparation, test and utilities is largely from [OrganSegC2F](https://github.com/198808xc/OrganSegC2F). Please follow their requirements if you want to use the code in your work. There are no restrictions other than this. |
|
|
5 |
|
|
|
6 |
We propose a U-Net based approach for pancreas segmentation. Under the same setting where bounding boxes are provided, this method outperforms previously reported results with a mean Dice Coefficient of 86.70 for the NIH dataset with 4-fold cross validation. Results show that a network designed specifically for and trained from scratch with biomedical images can achieve a better performance with much less training time compared to fine-tuning the models that are designed for and pre-trained on natural images. |
|
|
7 |
|
|
|
8 |
### Main Dependencies |
|
|
9 |
---------- |
|
|
10 |
- python (2.7) |
|
|
11 |
|
|
|
12 |
- tensorflow-gpu (1.3.0) |
|
|
13 |
|
|
|
14 |
- Keras (2.0.8) |
|
|
15 |
|
|
|
16 |
- numpy (1.13.1) |
|
|
17 |
|
|
|
18 |
- pandas (0.20.3) |
|
|
19 |
|
|
|
20 |
- matplotlib (used for test output visualization) |
|
|
21 |
|
|
|
22 |
### To run the experiment |
|
|
23 |
-------- |
|
|
24 |
Step 1. Navigate to your project root directory, download the [pancreas segmentation dataset](https://wiki.cancerimagingarchive.net/display/Public/Pancreas-CT), use the [code](https://github.com/198808xc/OrganSegC2F/tree/master/DATA2NPY) to convert the images and annotations to numpy arrays. |
|
|
25 |
|
|
|
26 |
Step 2. Clone this repo in your project root directory. |
|
|
27 |
|
|
|
28 |
Step 3. Modify the path variables in `pipeline` to fit your own settings. |
|
|
29 |
|
|
|
30 |
Step 4. Execute script |
|
|
31 |
|
|
|
32 |
chmod +x pipeline |
|
|
33 |
./pipeline |
|
|
34 |
|
|
|
35 |
Step 5. Modify the `cur_fold` variable in script `pipeline` to run in different fold. |
|
|
36 |
|
|
|
37 |
After each round, there should be |
|
|
38 |
|
|
|
39 |
1. A `test_stats.csv` in `/project-root-dir/data/test-records/` which records DSC mean and standard deviation for each fold |
|
|
40 |
2. A `/project-root-dir/data/test-records/{test_model_name}.csv` which records DSC for each test case |
|
|
41 |
3. Output prediction segmentation in `/project-root-dir/data/test-records/pred-{current_fold}` for each test case |
|
|
42 |
|
|
|
43 |
Note: since the code is not well tested after clean-up, there may be some caveats when running the code. Issues and PRs are welcome. |
|
|
44 |
|
|
|
45 |
### References |
|
|
46 |
----------- |
|
|
47 |
[1] Y. Zhou, L. Xie, W. Shen, Y. Wang, E. Fishman and A. Yuille, "A Fixed-Point Model for Pancreas Segmentation in Abdominal CT Scans", Proc. MICCAI, 2017 |
|
|
48 |
|
|
|
49 |
[2] H. Roth, L. Lu, A Farag, H-C Shin, J Liu, E. Turkbey, and R. M. Summers, "DeepOrgan: Multi-level deep convolutional networks for automated pancreas segmentation", Proc. MICCAI, 2015. |
|
|
50 |
|
|
|
51 |
[3] O. Ronneberger, P. Fischer, and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation", Proc. MICCAI, 2015. |