• Stars
    star
    106
  • Rank 323,988 (Top 7 %)
  • Language
    Python
  • License
    Other
  • Created over 6 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Deep Whole Brain Segmentation Using SLANT Method

SLANT: Deep Whole Brain High Resolution Segmentation

[PyTorch] [project page] [NeuroImage paper] [MICCAI paper]

A T1 MRI scan can be segmented to 133 labels based on BrainCOLOR protocol(http://braincolor.mindboggle.info/protocols/).

It has been implemented as a single Docker.

- Please cite the following MICCAI/NeuroImage paper, if you used the SLANT whole brain segmentation.

The papers can be found SLANT,NeuroImage, whole full citation are

Yuankai Huo, Zhoubing Xu, Yunxi Xiong, Katherine Aboud, Parasanna Parvathaneni, Shunxing Bao, Camilo Bermudez, Susan M. Resnick, Laurie E. Cutting, and Bennett A. Landman. "3D whole brain segmentation using spatially localized atlas network tiles" NeuroImage 2019.

Yuankai Huo, Zhoubing Xu, Katherine Aboud, Parasanna Parvathaneni, Shunxing Bao, Camilo Bermudez, Susan M. Resnick, Laurie E. Cutting, and Bennett A. Landman. "Spatially Localized Atlas Network Tiles Enables 3D Whole Brain Segmentation" In International Conference on Medical Image Computing and Computer-Assisted Intervention, MICCAI 2018.

+ The code and docker are free for noncommercial purposes.
+ The licence.md shows the terms for commercial and for-profit purposes.

Quick Start

Get our docker image

sudo docker pull masidocker/public:deep_brain_seg_v1_1_0

Run SLANT brain segmentation

You can run the following command or change the input_dir, then you will have the final segmentation results in output_dir

# you need to specify the input directory
export input_dir=/home/input_dir   
# make that directory
sudo mkdir $input_dir
# download the test volume file, you can even put multiple input files here, no worries.
sudo wget -O  $input_dir/test_volume.nii.gz  https://www.nitrc.org/frs/download.php/10666/test_volume.nii.gz
# set output directory
export output_dir=$input_dir/output
#run the docker
sudo nvidia-docker run -it --rm -v $input_dir:/INPUTS/ -v $output_dir:/OUTPUTS masidocker/public:deep_brain_seg_v1_1_0 /extra/run_deep_brain_seg.sh
  • You will see the final a segmentation file in "FinalResult"
  • You will see the final a overlay pdf in "FinalPDF"
  • You will see the final a txt file contains all label names and volume in "FinalVolTxt".

Source Code

The SLANT is a whole brain segmentation pipeline that contains (1) pre-processing, (2) deep learning, (3) post-processing, which have all been contained in the Docker. The main scratch in Docker is the run_deep_brain_seg.sh. The related source code and binary files have been included in the Docker. They can also be found in the "matlab" and "python".

  • Pre- and Post-processing code can be found in "matlab"
  • Train and testing code for deep learning part can be found in "python" Secondary development for SLANT Docker [30 mins]

If you only have CPU, you can use the following CPU version of the docker. (50GB Memory might be required using CPU!)

sudo docker pull masidocker/public:deep_brain_seg_v1_1_0_CPU
sudo docker run -it --rm -v $input_dir:/INPUTS/ -v $output_dir:/OUTPUTS masidocker/public:deep_brain_seg_v1_1_0_CPU /extra/run_deep_brain_seg.sh

List of 45 Training Data and 5 Validation Data from OASIS study

45 Training

OAS1_0061_MR1|OAS1_0080_MR1|OAS1_0092_MR1|OAS1_0101_MR1|OAS1_0117_MR1|OAS1_0145_MR1|OAS1_0150_MR1|OAS1_0156_MR1|OAS1_0191_MR1|OAS1_0202_MR1|OAS1_0230_MR1|OAS1_0236_MR1|OAS1_0239_MR1|OAS1_0249_MR1|OAS1_0285_MR1|OAS1_0368_MR1|OAS1_0395_MR1|OAS1_0091_MR1|OAS1_0005_MR1|OAS1_0340_MR1|OAS1_0417_MR1|OAS1_0069_MR1|OAS1_0173_MR1|OAS1_0040_MR1|OAS1_0088_MR1|OAS1_0074_MR1|OAS1_0282_MR1|OAS1_0050_MR1|OAS1_0443_MR1|OAS1_0331_MR1|OAS1_0389_MR1|OAS1_0274_MR1|OAS1_0456_MR1|OAS1_0070_MR1|OAS1_0358_MR1|OAS1_0300_MR1|OAS1_0124_MR1|OAS1_0220_MR1|OAS1_0263_MR1|OAS1_0013_MR1|OAS1_0113_MR1|OAS1_0317_MR1|OAS1_0083_MR1|OAS1_0270_MR1|OAS1_0278_MR1

5 Validation

OAS1_0111_MR1|OAS1_0353_MR2|OAS1_0032_MR1|OAS1_0379_MR1|OAS1_0255_MR1

You can download the list HERE

Detailed environment setting

Testing platform

  • Ubuntu 16.04
  • cuda 8.0
  • Pytorch 0.2
  • Docker version 1.13.1-cs9
  • Nvidia-docker version 1.0.1 to 2.0.3
  • GPU: NVIDIA TITIAN 12GB

install Docker

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce

install Nvidia-Docker

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2

Detailed Results for Each ROI

The region look up table: Download TXT , the LUT file can be loaded in FreeSurfer's FreeView tool directly.

The detailed measurement of Figure 9 in NeuroImage paper

Joint Label Fusion Multi Atlas: Download CSV

Non Local Spatial STAPLE Multi Atlas: Download CSV

Patch CNN: Download CSV

Registration + U-Net: Download CSV

SLANT 8: Download CSV

SLANT 27: Download CSV

build singularity from docker

singularity build slant_v1.simg docker://vuiiscci/slant:deep_brain_seg_v1_1_0_CPU

run singularity

export INDIR=/data/mcr/huoy1/test_singularity/input_contain
export OUTDIR=/data/mcr/huoy1/test_singularity/output_contain
export slantDIR=/data/mcr/huoy1/SLANT_cpu
export tempDIR=/data/mcr/huoy1/test_singularity/tmp
singularity run --nv -e -B $INDIR:/INPUTS -B $OUTDIR:/OUTPUTS -B $tempDIR:/tmp  $slantDIR/slant_v1_contain.simg /extra/run_deep_brain_seg.sh

Previous versions

Updates 08/01/2020, fix the number of thread to 1 to solve the reproducibility issue cased by N4 correct

sudo docker pull vuiiscci/slant:deep_brain_seg_v1_0_0
sudo nvidia-docker run -it --rm -v $input_dir:/INPUTS/ -v $output_dir:/OUTPUTS vuiiscci/slant:deep_brain_seg_v1_0_0 /extra/run_deep_brain_seg.sh

More Repositories

1

3DUX-Net

Python
236
star
2

SynSeg-Net

SynSeg-Net: Synthetic Segmentation Without Target Modality Ground Truth
Python
64
star
3

Synb0-DISCO

Distortion correction of diffusion weighted MRI without reverse phase-encoding scans or field-maps
Python
57
star
4

PreQual

An automated pipeline for integrated preprocessing and quality assurance of diffusion weighted MRI images
Python
41
star
5

pyPheWAS

MASI Lab Implementation of PheWAS in Python
Python
26
star
6

UNesT

The official Pytorch implementation of UNesT
Python
16
star
7

S-EFOV

S-EFOV: Thoracic CT-based Body Composition Analysis with Semantically Extended FOV
13
star
8

SynBOLD-DisCo

Synthetic BOLD images for distortion correction of fMRI without additional calibration scans
Python
13
star
9

tumor-cifar

Python
11
star
10

deform-uxnet

Python
11
star
11

registration_tutorial

Step by step instructions for body/thorax registration
C++
10
star
12

cornn_tractography

Convolutional-recurrent neural networks approximate diffusion tractography from T1-weighted MRI and associated anatomical context
Python
10
star
13

SSNet

Splenomegaly Segmentation Network
Python
9
star
14

RepUX-Net

Python
8
star
15

ALARM

7
star
16

C-SliceGen

Python
7
star
17

N-GSBSS

Improved Gray Matter Surface based Spatial Statistics (N-GSBSS) in Neuroimaging Studies
MATLAB
7
star
18

QA_tool

Jupyter Notebook
6
star
19

Pandora-WhiteMatterAtlas

6
star
20

DA_CT_muscle_seg

Python
6
star
21

DeepLungIPN

Python
6
star
22

WM_learning_release

Python
6
star
23

lmsignatures

Python
5
star
24

tbi_ct_lesion_segmentation

Jupyter Notebook
5
star
25

MaCRUISE

3
star
26

coarse_to_fine_prior_seg

Python
3
star
27

mxdrnn_examplecode

This is the example code of the paper MXDRNN
Python
3
star
28

DeepLungScreening

Python
3
star
29

EmphysemaSeg

Python
3
star
30

tractem

Support code for Whole Brain Protocol for Tractography with Empirical MRI (TractEM)
MATLAB
3
star
31

GSBSS

Gray matter Surface Based Spatial Statistics
Shell
2
star
32

DCC_CL

Python
2
star
33

lvo-window-adjustment

Python
2
star
34

HARFI_Scripts

HARFI processing
MATLAB
2
star
35

ON_segmentation

Segmentation of the Optic Nerve in MRI
MATLAB
2
star
36

STrUDeL

Streamline Tractography Utilities for Deep Learning
Python
1
star
37

Containerized_DAX

Python
1
star
38

Capstone_WhiteMatterML

Interpretable machine learning approach to identifying white matter brain differences between healthy aging and Alzheimer’s onset through diffusion tensor imaging


Jupyter Notebook
1
star
39

ComparativeCalibration

Comparative Study of Confidence Calibration
Python
1
star
40

DeepOpenLung

Jupyter Notebook
1
star
41

DeepN4

Jupyter Notebook
1
star
42

AR_Mirror_Muscle_Demo_Clean

Clean muscle demo for the Adventure Science Center (Summer 2019)
C#
1
star
43

spie_2020_mtcsd_dl

This Repository contains the code that was written for the proposition of learning MT-CSD multi-shell FOD reconstruction from single shell DW-MRI
Python
1
star
44

DeepOpenLung_simple

Python
1
star
45

Organ_Surface_Rendering

Python
1
star
46

EigenThorax

Build tools for feature learning in thorax CT space
Python
1
star
47

DAPIArtifactRemoval

Shell
1
star
48

AtlasToDiffusionReg

singularity to register an atlas to the diffusion space of a subject
Jupyter Notebook
1
star
49

Augmented-Reality-Programming-Challenge-Walkthrough

For this maker challenge, students explore augmented reality (AR) physiology programs, including muscle and bone overlays and body tracking recording program, using Unity and Microsoft Visual Studio.
1
star
50

SLANTbrainSeg_TICV

MATLAB
1
star