Deep Learning tool for brain tumor segmentation.
Project description
DeepBrainSeg
This repo utilize a ensemble of 2-D and 3-D fully convoultional neural network (CNN) 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.
Features
- Brain Tumor Segmentation
- Brain Mask Generation SkullStripping (currently using HD-BET and ANTs)
- Radiomic Features
- Coregistration
- Dcm and nifty support (converts dcm to nifty and works)
- UI based inference framework
- Finetuning
- Hardmining
- Gradual Unfreezing
- Whole Brain Segmentation
Installation
PyPi based installation:
python version: 3.5
installation:
pip install DeepBrainSeg
or
git clone https://github.com/koriavinash1/DeepBrainSeg.git
cd DeepBrainSeg
python3 setup.py install
Citation
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}
}
Pipeline for Segmentation
Results for Segmentation
UI
We also provide 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
Python API usage
Brain tumor segmentation
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)
brain seq coregistration to t1c
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)
brain mask extraction (skull stripping)
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)
Radiomics feature exctractor
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()
Steps followed for tumor segmentation inference:
- Our algorithm makes use of ANTs framework for mask generation. First call deepSeg class build ANTs framework locally in ~/.DeepBrainSeg
- First call deepSeg downloads all pretrained models locally in ~/.DeepBrainSeg
- Final segmentation is the result of ensemble of 4 different models:
- ABLNet (modelABL.py, Air brain Lesion Network)
- 3DBrainNet (model3DBNET.py, 3D multiresolution CNN)
- Tiramisu2D (modelTis2D.py, 57 layered 2D CNN)
- Tiramisu 3D (modelTir3D.py, 57 layered 3D CNN)
- Extensive documentation will be uploaded soon, along with transfer learning framework
- More details about network architecture and training procedure can be found here
For training code please refer this repo
Windows 10 Installation Guide
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
Contact
- Avinash Kori (avin.kori.re@gmail.com)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file DeepBrainSeg-0.2.1.tar.gz
.
File metadata
- Download URL: DeepBrainSeg-0.2.1.tar.gz
- Upload date:
- Size: 37.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7858eff58635784a48118ab3fca0111f436d751e75a7fb903a598a5b4acd4ae6 |
|
MD5 | 223737633d20bb495de12f5030886f6b |
|
BLAKE2b-256 | 4e2a7554884aa93f9ac0e870b63e09da9f91a9c813b1bf257a2fb7b020109eec |