TractoFlow

TractoFlow
a pipeline to process diffusion MRI from RAW to tractography


our needs
-
Easy to use
-
Reproducible
-
Scalable
-
Easy to adapte
-
Easy to share
}
- Pipeline engine
- Container

- Almost like writing a program
- Very flexible
- Pipeline management built in
- Supports reproducibility (singularity, logging built in)
- Automatic parallelization
- Can reuse most of bash scripts
- Light
pipeline engine
process Denoise_DWI {
cpus params.processes_denoise_dwi
input:
set sid, file(dwi) from dwi_for_denoise
output:
set sid, "${sid}__dwi_denoised.nii.gz" into\
dwi_for_eddy,
dwi_for_topup,
dwi_for_eddy_topup
script:
"""
MRTRIX_NTHREADS=$task.cpus
dwidenoise $dwi dwi_denoised.nii.gz -extent $params.extent
fslmaths dwi_denoised.nii.gz -thr 0 ${sid}__dwi_denoised.nii.gz
"""
}container

standalone file containing everything needed to run a program or system
- Hard to exactly reproduce results after a few months
- Software versions
- Dependencies
- Hard to reproduce exactly same results with collaborators
- More and more Journals require reproducibility

- Versions are fixed -

combining all together
nextflow -C tractoflow/nextflow.config run tractoflow/main.nf \
-with-singularity singularity-tractoflow.img \
--bids CCNA_data-
Reproducible
-
Scalable
-
Easy to adapte
-
Easy to share
-
Easy to use
TractoFlow

Inputs

or BIDS
T1 Processing

-
N4BiadFieldCorrection from ANTs
-
NLMEANS from scilpy
-
scil_resample_volume from scilpy
-
BET from FSL

T1 Processing
-
antsRegistration from ANTs
-
FAST from FSL
-
compute_maps_for_particule_filter_tracking from scilpy

DWI Processing
-
scilpy scripts
-
dwidenoise from MRtrix
-
Eddy/Topup from FSL
-
Bet from FSL
-
N4BiadFieldCorrection from ANTs

DWI Processing
-
dwinormalise from MRtrix
-
scil_resample_volume from scilpy
-
scil_extract_dwi_shell from scilpy
-
scil_compute_dti_metrics from scilpy
-
scil_extract_dwi_shell from scilpy
-
scil_compute_mean_frf from scilpy
-
scil_compute_fodf from scilpy
-
scil_compute_fodf_metrics from scilpy
-
scil_compute_ssst_frf from scilpy
TractoFlow
B DWI processes
A Input files
C T1 processes
- DWI
- bvec/bval
- T1
Tracking
TractoFlow
Optional:
- FreeWater
- NODDI
- Freesurfer
- RecoBundle
- Tractometry + Stats
RecoBundle
Garyfallidis et al., Neuroimage, 2017.
Tractometry


Heatmap of p-values projected on different pathways of a specific subject
Cousineau et al Neuroimage Clin. 2017
TractoFlow - Reproducibiliy
- All DWI preprocesses steps are 100% reproducible
- T1 BET and registration introduce small differences
- Maximum MAE: 0.00063
- Minimum CC: 0.99988
- Tracking reproducibility
- Seeding
the pipeline can reach 100% reproducibility with a 50% slower runtime
98% reproducibility with default parameters
3 datasets and 3 computer configurations
Thank you


M.Descoteaux
J-C.Houde


G.Theaud
F.Rheault
F. Morency


scil.usherbrooke.ca
TractoFlow

a pipeline to process diffusion MRI from RAW to tractography


based on
soon available on

using


ANTs
TractoFlow
By Arnaud Boré
TractoFlow
- 839