Skip to content

Pancreas Segmentation in Abdominal CT Scans with Convolutional Neural Network

Notifications You must be signed in to change notification settings

snapfinger/pancreas-seg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pancreas Segmentation in Abdominal CT Scans

Introduction


This is the code repository for the abstract Pancreas Segmentation in Abdominal CT Scans presented at IEEE International Symposium on Biomedical Imaging (ISBI) 2018. The code for data preparation, test and utilities is largely from OrganSegC2F. Please follow their requirements if you want to use the code in your work. There are no restrictions other than this.

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.

Main Dependencies


  • python (2.7)

  • tensorflow-gpu (1.3.0)

  • Keras (2.0.8)

  • numpy (1.13.1)

  • pandas (0.20.3)

  • matplotlib (used for test output visualization)

To run the experiment


Step 1. Navigate to your project root directory, download the pancreas segmentation dataset, use the code to convert the images and annotations to numpy arrays.

Step 2. Clone this repo in your project root directory.

Step 3. Modify the path variables in pipeline to fit your own settings.

Step 4. Execute script

chmod +x pipeline
./pipeline

Step 5. Modify the cur_fold variable in script pipeline to run in different fold.

After each round, there should be

  1. A test_stats.csv in /project-root-dir/data/test-records/ which records DSC mean and standard deviation for each fold
  2. A /project-root-dir/data/test-records/{test_model_name}.csv which records DSC for each test case
  3. Output prediction segmentation in /project-root-dir/data/test-records/pred-{current_fold} for each test case

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.

References


[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

[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.

[3] O. Ronneberger, P. Fischer, and T. Brox, "U-Net: Convolutional Networks for Biomedical Image Segmentation", Proc. MICCAI, 2015.

About

Pancreas Segmentation in Abdominal CT Scans with Convolutional Neural Network

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published