Hierarchical MRI tumor segmentation with densely connected 3D CNN

By Lele Chen, Yue Wu, Adora M. DSouza,Anas Z. Abidin, Axel W. E. Wismuelle, Chenliang Xu.

University of Rochester.

Table of Contents

  1. Introduction
  2. Citation
  3. Running
  4. Model
  5. Disclaimer and known issues
  6. Results

Introduction

This repository contains the original models (dense24, dense48, no-dense) described in the paper "Hierarchical MRI tumor segmentation with densely connected 3D CNN" (https://arxiv.org/abs/1802.02427). This code can be applied directly in BTRAS2017.

model

Citation

If you use these models or the ideas in your research, please cite:

@inproceedings{DBLP:conf/miip/ChenWDAWX18,
  author    = {Lele Chen and
           Yue Wu and
           Adora M. DSouza and
           Anas Z. Abidin and
           Axel Wism{\"{u}}ller and
           Chenliang Xu},
  title     = {{MRI} tumor segmentation with densely connected 3D {CNN}},
  booktitle = {Medical Imaging 2018: Image Processing, Houston, Texas, United States,
           10-15 February 2018},
  pages     = {105741F},
  year      = {2018},
  crossref  = {DBLP:conf/miip/2018},
  url       = {https://doi.org/10.1117/12.2293394},
  doi       = {10.1117/12.2293394},
  timestamp = {Tue, 06 Mar 2018 10:50:01 +0100},
  biburl    = {https://dblp.org/rec/bib/conf/miip/ChenWDAWX18},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Running

  1. Pre-installation:Tensorflow,Ants,nibabel,sklearn,numpy

  2. Download and unzip the training data from BTRAS2017

  3. Use N4ITK to correct the data: python n4correction.py /mnt/disk1/dat/lchen63/spie/Brats17TrainingData/HGG

  4. Train the model: python train.py

    • -gpu: gpu id
    • -bs: batch size
    • -mn: model name, 'dense24' or 'dense48' or 'no-dense' or 'dense24_nocorrection'
    • -nc: n4ITK bias correction,True or False
    • -e: epoch number
    • -r: data path
    • -sp: save path/name
    • ...

For example: python train.py -bs 2 -gpu 0 -mn dense24 -nc True -sp dense48_correction -e 5 -r /mnt/disk1/dat/lchen63/spie/Brats17TrainingData/HGG

  1. Test the model: python test.py
    • -gpu: gpu id
    • -m: model path, the saved model name
    • -mn: model name, 'dense24' or 'dense48' or 'no-dense' or 'dense24_nocorrection'
    • -nc: n4ITK bias correction, True or False
    • -r: data path
    • ...

For example: python test.py -m Dense24_correction-2 -mn dense24 -gpu 0 -nc True -r /mnt/disk1/dat/lchen63/spie/Brats17TrainingData/HGG

Model

  1. Hierarchical segmentation model

  2. 3D densely connected CNN

    model

Disclaimer and known issues

  1. These codes are implmented in Tensorflow
  2. In this paper, we only use the glioblastoma (HGG) dataset.
  3. I didn't config nipype.interfaces.ants.segmentation. So if you need to use n4correction.py code, you need to copy it to the bin directory where antsRegistration etc are located. Then run python n4correction.py
  4. If you want to train these models using this version of tensorflow without modifications, please notice that:
    • You need at lest 12 GB GPU memory.
    • There might be some other untested issues.

Results

  1. Result visualization : visualization visualization

  2. Quantitative results:

    model whole peritumoral edema (ED) FGD-enhan. tumor (ET)
    Dense24 0.74 0.81 0.80
    Dense48 0.61 0.78 0.79
    no-dense 0.61 0.77 0.78
    dense24+n4correction 0.72 0.83 0.81