The dHCP Structural Pipeline has been moved here. The present repository is deprecated and not maintained.
The dHCP structural pipeline is a software for the structural analysis of the neonatal brain MRI (T1 and T2) that consists of:
- cortical and sub-cortical volume segmentation
- cortical surface extraction (white matter and pial surface)
- cortical surface inflation and
- projection to sphere
The pipeline is described in detail in:
A. Makropoulos and E. C. Robinson et al. "The Developing Human Connectome Project: a Minimal Processing Pipeline for Neonatal Cortical Surface Reconstruction (link)
Antonios Makropoulos: main author, development of the structural pipeline, and segmentation software more
Andreas Schuh: contributor, development of the cortical surface extraction, and surface inflation software more
Robert Wright: contributor, development of the spherical projection software
The dHCP structural pipeline is distributed under the terms outlined in LICENSE.txt
The dHCP structural pipeline uses the FSL software. This can be installed by following the instructions:
Ubuntu / Debian GNU
Mac OS X / Red Hat Enterprise Linux / CENTOS
The FSL software needs to be configured for shell usage:
The dHCP structural requires installation of the following packages.
Mac OS X (tested on version 10.9.5)
- # install brew if needed with the following command:
- ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- brew update
- brew install gcc5 git cmake unzip tbb boost expat cartr/qt4/qt
- sudo easy_install pip
- pip install contextlib2
Ubuntu (tested on version 16.04)
- sudo apt-get -y update
- sudo apt-get -y install g++-5 git cmake unzip bc python python-contextlib2 libtbb-dev libboost-dev zlib1g-dev libxt-dev libexpat1-dev libgstreamer1.0-dev libqt4-dev
Debian GNU (tested on version 8)
- sudo apt-get -y update
- sudo apt-get -y install git cmake unzip bc python python-contextlib2 libtbb-dev libboost-dev zlib1g-dev libxt-dev libexpat1-dev libgstreamer1.0-dev libqt4-d
- # g++-5 is not in the default packages of Debian, install with the following commands:
- echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" | sudo tee -a /etc/apt/sources.list
- sudo apt-get -y update
- sudo apt-get -y install g++-5
CENTOS (tested on version 7)
- sudo yum -y update
- sudo yum -y install git cmake unzip bc python tbb-devel boost-devel qt-devel zlib-devel libXt-devel expat-devel gstreamer1-devel
- sudo yum -y install epel-release
- sudo yum -y install python-contextlib2
- # g++-5 is not in the default packages of CENTOS, install with the following commands:
- sudo yum -y install centos-release-scl
- sudo yum -y install devtoolset-4-gcc*
- # then activate it at the terminal before running the installation script
- scl enable devtoolset-4 bash
Red Hat Enterprise Linux (tested on version 7.3)
- sudo yum -y update
- sudo yum -y install it cmake unzip bc python tbb-devel boost-devel qt-devel zlib-devel libXt-devel expat-devel gstreamer1-devel
- # the epel-release-latest-7.noarch.rpm is for version 7 of RHEL, this needs to be adjusted for the user's OS version
- curl -o epel.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- sudo yum -y install epel.rpm
- sudo yum -y install python-contextlib2
- # g++-5 is not in the default packages of RHEL, install with the following commands:
- sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
- sudo yum -y install devtoolset-4-gcc*
- # then activate it at the terminal before running the installation script
- scl enable devtoolset-4 bash
The installation requires FSL and the packages specified in the Dependencies section.
After installing these dependencies, the pipeline is installed by running:
- ./setup.sh -j [num_cores]
where [num_cores] the number of CPU cores used to compile the pipeline software
The setup script installs the following software packages.
Software | Version |
---|---|
ITK | 4.11.1 |
VTK | 7.0.0 |
Connectome Workbench | 1.2.2 |
MIRTK | dhcp-v1 |
SphericalMesh | dhcp-v1.1 |
The '-h' argument can be specified to provide more setup options:
- ./setup.sh -h
Once the installation is successfully completed, if desired, the different commands/tools built (workbench, MIRTK and pipeline commands) can be included in the shell PATH by running:
- . parameters/path.sh
The pipeline can be run with the following command:
./dhcp-pipeline.sh [subject_ID] [session_ID] [scan_age] -T2 [T2_image] ( -T1 [T1_image] ) ( -t [num_threads] )
where:
Argument | Type | Description |
---|---|---|
subject_ID | string | Subject ID |
session_ID | string | Session ID |
scan_age | double | Subject post-menstrual age (PMA) in weeks (number between 28-44). If the age is <28w or >44w, it will be set to 28w or 44w respectively. |
T2_image | nifti image | The T2 image of the subject |
T1_image | nifti image | The T1 image of the subject (Optional) |
num_threads | integer | Number of threads (CPU cores) used (default: 1) (Optional) |
Examples:
- ./dhcp-pipeline.sh subject1 session1 44 -T2 subject1-T2.nii.gz -T1 subject1-T1.nii.gz -t 8
- ./dhcp-pipeline.sh subject2 session1 36 -T2 subject2-T2.nii.gz -T1 subject2-T1.nii.gz
- ./dhcp-pipeline.sh subject3 session4 28 -T2 subject3-T2.nii.gz
The output of the pipeline is the following directories:
- sourcedata : folder containing the source images (T1,T2) of the processed subjects
- derivatives : folder containing the output of the pipeline processing
Measurements and reporting for the dHCP Structural Pipeline can be additionally computed using this package.