DeepNeuro: an open-source deep learning toolbox for neuroimaging - PubMed Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2021 Jan;19(1):127-140.
doi: 10.1007/s12021-020-09477-5.

DeepNeuro: an open-source deep learning toolbox for neuroimaging

Affiliations

DeepNeuro: an open-source deep learning toolbox for neuroimaging

Andrew Beers et al. Neuroinformatics. 2021 Jan.

Abstract

Translating deep learning research from theory into clinical practice has unique challenges, specifically in the field of neuroimaging. In this paper, we present DeepNeuro, a Python-based deep learning framework that puts deep neural networks for neuroimaging into practical usage with a minimum of friction during implementation. We show how this framework can be used to design deep learning pipelines that can load and preprocess data, design and train various neural network architectures, and evaluate and visualize the results of trained networks on evaluation data. We present a way of reproducibly packaging data pre- and postprocessing functions common in the neuroimaging community, which facilitates consistent performance of networks across variable users, institutions, and scanners. We show how deep learning pipelines created with DeepNeuro can be concisely packaged into shareable Docker and Singularity containers with user-friendly command-line interfaces.

Keywords: Augmentation; Deep learning; Docker; Neuroimaging; Preprocessing.

PubMed Disclaimer

Conflict of interest statement

Conflict of Interest Statement

The other authors declare no competing interests.

Figures

Fig. 1
Fig. 1
A diagrammatic view of DeepNeuro’s architecture. Data processing operations, such as scan normalization or data augmentation, are methods applied in the context of the DataCollection class. A DataCollection class can write data out, or interact with a DeepNeuroModel class. DeepNeuroModels contain deep learning architectures, training regimes, and output methods such as patch reconstruction. Graphic created using the vector graphics program Figma.
Fig. 2
Fig. 2
An example of a typical preprocessing script for a neuroimaging pipeline. Data is converted from a directory of DICOM files into an internal representation in NumPy, corrected for intensity bias using 3DSlicer’s N4ITKBiasCorrection tool, co-registered across sequences using 3DSlicer’s BRAINSFit tool, and skull-stripped using a neural network trained in DeepNeuro. Graphic created using the vector graphics program Figma. Visualization created via DeepNeuro and 3DSlicer. This figure and subsequent figures created by DeepNeuro code can be reproduced at https://bit.ly/2TOFSEY.
Fig. 3
Fig. 3
A schematic for how DeepNeuro divides images into patches using the ModelPatchesInference object. Using default settings, patches are not selected if they contain only zero values. Visualizations in this figure were generated by 3DSlicer, and the patch schematic grids can be recreated using the PatchDiagram object in DeepNeuro. Graphic created using the vector graphics program Figma. Visualization created via DeepNeuro and 3DSlicer.
Fig. 4
Fig. 4
A sample data preview generated by DeepNeuro’s visualize module for a glioblastoma segmentation use case. In this case, four MR sequences have been subdivided into patches, and have had flipping and 90 degree rotation augmentations applied to them in the axial dimension. In the generated graphic, labels for edema, enhancing tumor, necrosis, and non-pathological tissues (”background”) are also displayed for each image patch. This visualization can be reproduced in DeepNeuro’s ”Loading, preprocessing, and Augmenting Data Using DeepNeuro” tutorial on Google Colaboratory. Graphic created using the vector graphics program Figma. Visualization created via DeepNeuro and 3DSlicer.
Fig. 5
Fig. 5
A visualization of results compared with expert annotations for DeepNeuro’s currently-available public modules. Expert annotations are performed by neurooncologists with 5+ years of experience in the case of the brain metastases and glioblastoma segmentations, a neuroradiologist with 9 years of experience in the case of the brain segmentations, and a neurology stroke fellow supervised by a stroke neurologist with 23 years of experience in the case of the stroke segmentations. Graphic created using the vector graphics program Figma. Visualization created via DeepNeuro and 3DSlicer.
Fig. 6
Fig. 6
A visualization and schematic of epoch-wise prediction in DeepNeuro. At userdefined intervals during model training, DeepNeuro can run lesion segmentations on a sample 3D volumetric image, and then save a mosaic image of slices from that image to disc. In this case, an algorithm is being trained to segment enhancing tumor from contrast-enhanced T1 MR imaging at three separate training steps, with test segmentations marked by white voxels. Early in the training, segmentations are characterized by false positives in non-pathological brain tissues; later, specificity is increased. Graphic created using the vector graphics program Figma. Visualization created via DeepNeuro and 3DSlicer.

Similar articles

Cited by

References

    1. Abadi M, Barham P, Chen J, Chen Z, Davis A, Dean J, Devin M, Ghemawat S, Irving G, Isard M, et al. (2016). Tensorflow: a system for large-scale machine learning. In OSDI, volume 16, pages 265–283.
    1. Avants BB, Tustison NJ, Stauffer M, Song G, Wu B, and Gee JC (2014). The insight toolkit image registration framework. Frontiers in neuroinformatics, 8:44. - PMC - PubMed
    1. Bakas S, Akbari H, Sotiras A, Bilello M, Rozycki M, Kirby JS, Freymann JB, Farahani K, and Davatzikos C. (2017). Advancing the cancer genome atlas glioma mri collections with expert segmentation labels and radiomic features. Scientific data, 4:170117. - PMC - PubMed
    1. Bergstra J, Breuleux O, Bastien F, Lamblin P, Pascanu R, Desjardins G, Turian J, Warde-Farley D, and Bengio Y. (2010). Theano: A cpu and gpu math compiler in python. In Proc. 9th Python in Science Conf, volume 1.
    1. Bezanson J, Edelman A, Karpinski S, and Shah VB (2017). Julia: A fresh approach to numerical computing. SIAM review, 59(1):65–98.

Publication types

LinkOut - more resources