Set of scripts for computation of quantitative MRI (qMRI) metrics from diffusion-weighted (DWI/dMRI) and magnetization transfer (MT) spinal cord data.
The work was presented at ISMRM 2021 - abstract 0649 (teaser, full abstract):
All results are available in the following archive.
To compute the normative qMRI metrics from a large cohort of healthy subjects scanned across multiple sites for various spinal cord ROI based on the PAM50 atlas and analyze their variability per individual vertebral levels (C2-C5) and per individual vendors (Siemens, Philips, GE).
Multi-center multi-vendor data of healthy subjects acquired and analyzed within the spine-generic project.
Spinal Cord Toolbox (SCT) v4.3
pandas
pyyaml
matplotlib
numpy
(All these packages are included in SCT virtual env (venv_sct
), activate it:
source ${SCT_DIR}/python/etc/profile.d/conda.sh
conda activate venv_sct
- Download multi-center multi-subject data from GitHub webpage using
git annex
:
cd ~
git clone https://github.com/spine-generic/data-multi-subject && cd data-multi-subject && git annex init && git annex get
- Create a folder where results will be generated:
mkdir ~/data-multi-subject_results
- Analyze multi-subject dataset in parallel mode using process_data.sh script:
sct_run_batch -jobs -1 -path-data ~/data-multi-subject/ -path-output ~/data-multi-subject_results/ -continue-on-error 1 -script <PATH_TO_SPINE-GENERIC>/process_data.sh
(Analysis will automatically use manually-corrected labels and segmentation located in derivatives/labels/
)
- Compute qMRI metrics from various ROI per individual vertebral levels across all subjects using the
extract_normative_metrics_wrapper.sh
script :
cd ~
git clone https://github.com/sct-pipeline/normative-metrics.git
cd normative-metrics
sct_run_batch -jobs -1 -path-data ~/data-multi-subject/ -path-output ~/data-multi-subject_results/ -continue-on-error 1 -script scripts/extract_normative_metrics_wrapper.sh
(You can run the script only for specific subjects using the -include <SUBJECT>
flag)
(Individual *perlevel.csv files will be stored in the /results/perlevel
folder)
- Generate figures and compute statistics
python generate_figures.py -path-results ~/data-multi-subject-master_results/results/perlevel -config ~/data-multi-subject_results/results/exclude.yml -participants-file ~/data-multi-subject_results/results/participants.tsv
where:
-path-results
- path to directory with *csv perlevel files (created in the previous step)
-participants-file
- path to .tsv file with participants characteristics (age, sex, ...)
-config
- path to .yml file containing subjects to exclude