Fully automatic brain tumour segmentation using Deep 3-D convolutional neural networks
MIT License
This repo utilizes an ensemble of 2-D and 3-D fully convoultional neural networks (CNNs) for segmentation of the brain tumor and its constituents from multi modal Magnetic Resonance Images (MRI). The dense connectivity pattern used in the segmentation network enables effective reuse of features with lesser number of network parameters. On the BraTS validation data, the segmentation network achieved a whole tumor, tumor core and active tumor dice of 0.89, 0.76, 0.76 respectively.
PyPi based installation:
Required Python version: 3.5
installation:
pip install DeepBrainSeg
or
git clone https://github.com/koriavinash1/DeepBrainSeg.git
cd DeepBrainSeg
python3 setup.py install
If you use DeepBrainSeg, please cite our work:
@inproceedings{kori2018ensemble,
title={Ensemble of Fully Convolutional Neural Network for Brain Tumor Segmentation from Magnetic Resonance Images},
author={Kori, Avinash and Soni, Mehul and Pranjal, B and Khened, Mahendra and Alex, Varghese and Krishnamurthi, Ganapathy},
booktitle={International MICCAI Brainlesion Workshop},
pages={485--496},
year={2018},
organization={Springer}
}
We also provide a UI based tool for tumor segmentation visualization. It can be used by running the following commands after cloning the repo.
cd ui
python3 DeepBrainSegUI.py
for data in BraTs format
from DeepBrainSeg import deepSeg
segmentor = deepSeg(quick=True)
segmentor.get_segmentation_brats(path)
for other formats
from DeepBrainSeg import deepSeg
t1_path =
t2_path =
t1ce_path =
flair_path =
segmentor = deepSeg(quick=True)
segmentor.get_segmentation(t1_path, t2_path, t1ce_path, flair_path, save = True)
from DeepBrainSeg.registration import Coregistration
coreg = Coregistration()
moving_imgs = {'t1': t1path,
't2': t2path,
'flair': flairpath}
fixed_img = os.path.join(t1cpath)
coreg.register_patient(moving_images = moving_imgs,
fixed_image = fixed_img,
save_path = pathtosave)
from DeepBrainSeg.brainmask.hdbetmask import get_bet_mask
from DeepBrainSeg.brainmask.antsmask import get_ants_mask
get_bet_mask(vol_path, savepath)
or
get_ants_mask(vol_path, savepath)
from DeepBrainSeg.radiomics import ExtractRadiomicFeatures
extractor = ExtractRadiomicFeatures(input_mask=None,
save_path=None,
seq='Flair',
class_ = 'ET')
extractor.first_order()
extractor.glcm_features()
extractor.gldm_features()
or
extractor.all_features()
Figure_0: DeepBrainSeg starting up on Windows 10.
Figure_1: DeepBrainSeg used to get brain segmentation on Windows 10. (Note: Ensemble segmentation/inference takes ~2 hours via torch_cpu, on my i7 6700 intel cpu. Torch cuda/gpu on the other hand, is much faster, with ensemble segmentation/inference taking only ~10 minutes, on my gtx 1060 3gb)
Installation Guide: here
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.