Giter VIP home page Giter VIP logo

deepbleed's Introduction

deepbleed

Travis build status

Please see our Neuroinformatics Paper for more information and cite if using:
Sharrock, M.F., Mould, W.A., Ali, H. et al. 3D Deep Neural Network Segmentation of Intracerebral Hemorrhage: Development and Validation for Clinical Trials. Neuroinformatics (2020). https://doi.org/10.1007/s12021-020-09493-5
ICH volumetric estimation is a task routinely performed in clinical research. This is the first publicly available deep neural network model to perform the task of ICH segmentation and volume estimation. We showed in our paper that 3D segmentation with appropriate anatomic context presented in the receptive field outperforms 2D segmentation and state-of-the-art results can be obtained on smaller datasets with standard publicly available models. This model expects non-contrast CT in NIfTI format and automatically performs preprocessing including a validated CT brain extraction method and spatial normalization via registration to a 1.5mm x 1.5mm x 1.5mm CT template with a shape of (128, 128, 128).

DeepBleed pipeline

To run an ICH prediction set the path to directories for inputs, outputs and model weights:

$ python3 predict.py --indir /path/to/inputs/ --outdir /path/to/outputs/ --weights /path/to/weights 

Train Dataset Val Dataset Bleeds Val Dice Weights Link
MISTIE 2 MISTIE 3 ICH, IVH 0.92 m2_weights

On some systems you may need to rename the files beginning with a . to a common prefix, such as weights (e.g. .index becomes weights.index).

Here is a script to automatically download them:

wget -O weights.zip https://www.dropbox.com/s/v2ptd9mfpo13gcb/mistie_2-20200122T175000Z-001.zip?dl=1
unzip -j weights.zip 
for i in _data-00001-of-00002 _data-00000-of-00002 _index; 
do 
	out=`echo ${i} | sed "s/_/weights./"`; 
	mv ${i} ${out}; 
done

Example Data Set

To see how the model performs, you can download data from a head CT brain extraction validation paper: https://archive.data.jhu.edu/dataset.xhtml?persistentId=doi:10.7281/T1/CZDPSX

For example, here is how to download and extract an image in a directory called input:

wget --no-check-certificate https://archive.data.jhu.edu/api/access/datafile/1311?gbrecs=true -O 01.tar.xz
tar xvf 01.tar.xz
mkdir -p input
mv 01/BRAIN_1_Anonymized.nii.gz input/image.nii.gz

Running the command, assuming the weights were downloaded and extracted as above and the input directory is input as done above, would be the command:

python3 predict.py --verbose --indir ./input --outdir ./output --weights weights

and the resulting mask would be in the output directory.

Option Argument Example
Number GPUs --gpus --gpus 2
Number CPUs --cpus --cpus 8
Verbose + Timing --verbose --verbose

Setup

Current dependencies are listed below.

Software Version URL
Tensorflow 2.1.0 https://www.tensorflow.org
ANTsPy 0.1.7 https://github.com/ANTsX/ANTsPy
FSLPy 2.7.0 https://git.fmrib.ox.ac.uk/fsl/fslpy
FSL* 6.0.2 https://fsl.fmrib.ox.ac.uk/fsl/fslwiki

*Please read and agree to the software license for FSL prior to use.

DeepBleed Docker

Alternatively, you can pull a pre-built docker image with the dependencies installed:

$ docker pull msharrock/deepbleed 

To run a prediction, start the docker image, link the data path that contains the indir and outdir:

$ docker run -it msharrock/deepbleed bash -v /path/to/data:/data/ 

Pull this repository from github and then run predictions as previously noted

Directions for OSX

For OSX, you should likely install ANTsPy using a git install of:

pip install git+git://github.com/ANTsX/ANTsPy.git

But you can try a release from the releases page: https://github.com/ANTsX/ANTsPy/releases

python3.7 -m pip install https://github.com/ANTsX/ANTsPy/releases/download/v0.1.8/antspyx-0.1.8-cp37-cp37m-macosx_10_14_x86_64.whl

License

Please see LICENSE.md for information of the license and uses.

deepbleed's People

Contributors

msharrock avatar muschellij2 avatar

Watchers

James Cloos avatar

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.