GithubHelp home page GithubHelp logo

johnleehit / brats2019 Goto Github PK

View Code? Open in Web Editor NEW
92.0 6.0 24.0 15.77 MB

[BrainLes2019] Multi-step cascaded network for brain tumor segmentations (tensorflow)

Home Page: https://arxiv.org/abs/1908.05887

License: MIT License

Python 100.00%
segmentation tensorflow brain-tumor-segmentation state-of-the-art cascaded-cnn

brats2019's Introduction

Multi-step cascaded network for brain tumor segmentations with tensorflow

This is an implementation of our BraTS2019 paper "Multi-step Cascaded Networks for Brain Tumor segmentation" on Python3, tensorflow, and Keras.

Whole Tumor........................Tumor Core ......................Enhancing Tumor

Schematic of the proposed method

Requirements

Python3.5, Tensorflow 1.12 and other common packages which can be seen in requirements.txt

Getting started

  • parameters.ini is the configuration file.
  • main.py is the main function of the program.
  • oprations.py builds the model and is responsible for the training and the testing phase.
  • utils.py provides lots of useful functions which is utilized in the program.
  • models.py provides some combinations of multiple layers and model achitecture.
  • seg_eval.py provides some APIs to calculate the metrics, e.g. DIce, Sensitivity, etc.

Training

The network is trained on the Brain Tumor Segmentation Challenge 2019(Brats2019) training dataset which can be downloaded from Brats2019 web page .

(1) Edit parameters.ini so as to be consistent with your local environment, especially the "phase", "traindata_dir " and "testdata_dir ", for example:

phase = train
traindata_dir =  /home/xxx/Dataset/BraTS2019_train/train
testdata_dir =  /home/xxx/Dataset/mix/test

notice : folder structure of the training or testing data should be like this:

train/test-----HGG/LGG----BraTS19_XXX_X_X---BraTS19_XXX_X_X_flair.nii.gz

​ ---BraTS19_XXX_X_X_t1.nii.gz

​ ---BraTS19_XXX_X_X_t1ce.nii.gz

​ ---BraTS19_XXX_X_X_t2.nii.gz

(2) Run main.py in the command line or in the python IDE directly.

python main.py

Testing

(1) Edit parameters.ini so as to be consistent with your local environment, especially the "phase", "traindata_dir " and "testdata_dir ", for example:

phase = test
traindata_dir =  /home/xxx/Dataset/BraTS2019_train/train
testdata_dir =  /home/xxx/Dataset/mix/test

(2) Run main.py in the command line or in the python IDE directly.

python main.py

Results

The proposed method was validated on the Brats2019 evaluation platform, the preliminary results on training and validation sets are as follows:

Dice Coefficient WT TC ET
Training 0.915 0.832 0.791
Validation 0.886 0.813 0.771

To better illustrate the results of the proposed method, we made a qualitative analysis of the segmentation results, which can be seen as follows:

Troubleshooting

If you meet any questions when you run this code , please don't hesitate to raise a new issue in the repository or directly contact us at [email protected].

Citations

Please consider citing this project in your publications if it helps your research. The following is a BibTeX reference. The BibTeX entry requires the url LaTeX package.

@inproceedings{li2019multi,
  title={Multi-step cascaded networks for brain tumor segmentation},
  author={Li, Xiangyu and Luo, Gongning and Wang, Kuanquan},
  booktitle={International MICCAI Brainlesion Workshop},
  pages={163--173},
  year={2019},
  organization={Springer}
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.