Skip to content

spinalcordtoolbox/PAM50-normalized-metrics

Repository files navigation

PAM50 normalized metrics

This repository contains morphometric measures in the PAM50 anatomical dimensions computed from adults (healthy controls and patients) and children across multiple datasets.

👉 If you find this work and/or code useful for your research, please cite our paper:

Valošek, Bédard et al., (2024). A database of the healthy human spinal cord morphometry in the PAM50 template space. Imaging Neuroscience, 2 1–15, https://doi.org/10.1162/imag_a_00075

DOI

👉 For interactive figures, please visit the NeuroLibre preprint:

Valošek, Bédard et al., (2023). A database of the healthy human spinal cord morphometry in the PAM50 template space. NeuroLibre Reproducible Preprints, 17, https://doi.org/10.55458/neurolibre.00017

DOI

Usage

As part of SCT

The repository is downloaded automatically during the SCT installation.

CSV files from this repository are used by the following SCT functions:

  • sct_process_segmentation -normalize-PAM50 1, example:
sct_process_segmentation -i sub-001_T2w_label-SC_seg.nii.gz -vertfile sub-001_T2w_label-SC_seg_labeled.nii.gz -perslice 1 -normalize-PAM50 1 -o sub-001_T2w_metrics_PAM50.csv
  • sct_compute_compression -normalize-hc 1, example:
sct_compute_compression -i sub-001_T2w_label-SC_seg.nii.gz -vertfile sub-001_T2w_label-SC_seg_labeled.nii.gz -l sub-001_T2w_label-compression.nii.gz -normalize-hc 1 -o sub-001_T2w_compression_metrics.csv

Standalone usage

If you want to use the morphometric measures outside of SCT in your own research, you can simply download this repository and use the CSV files directly:

git clone https://github.com/spinalcordtoolbox/PAM50-normalized-metrics.git

Datasets Overview

The table below summarizes all datasets included in this repository. It is also available as datasets.tsv and can be regenerated by running python code/generate_datasets_summary.py.

metric name num_subjects num_sessions num_sites population sex (M/F/unknown) age (mean±SD [min–max]) coverage contrast resolution link
spinal_canal spine-generic multi-subject 203 203 43 healthy adults 105/98/0 28.7±5.6 [19–52] cervical spine T2w 0.8mm iso spine-generic/data-multi-subject
spinal_cord spine-generic multi-subject 203 203 43 healthy adults 105/98/0 28.7±5.6 [19–52] cervical spine T2w 0.8mm iso spine-generic/data-multi-subject
spinal_cord whole-spine 58 58 2 healthy adults 30/18/10 27.2±6.7 [21–56] whole spine T2w 1.0mm iso openneuro/ds005616
spinal_cord MASiVar 96 144 n/a healthy adults and children 55/41/0 9.6±8.7 [5–47] cervical spine T1w 1.0mm iso openneuro/ds003416

Datasets Structure

PAM50-normalized-metrics/
├── datasets.tsv                          # master dataset overview (auto-generated)
├── spinal_canal/                         # spinal canal morphometric measures
│   └── spine-generic_multi-subject/
│       ├── dataset_description.json      # dataset metadata (coverage, contrast, resolution, ...)
│       ├── participants.tsv              # subject metadata
│       ├── sub-amu01_T2w_PAM50.csv
│       └── ...
└── spinal_cord/                          # spinal cord morphometric measures
    ├── spine-generic_multi-subject/
    │   ├── dataset_description.json
    │   ├── participants.tsv
    │   ├── sub-amu01_T2w_PAM50.csv
    │   └── ...
    └── whole-spine/
        ├── dataset_description.json
        ├── participants.tsv
        ├── sub-amuAL_T2w_PAM50.csv
        └── ...

Each CSV file contains per-slice morphometric measures for one subject, normalized to the PAM50 template space.

Adding a New Dataset

  1. Create a new dataset folder — under the appropriate metric directory (e.g., spinal_cord/<new-dataset>/), add the per-subject CSV files, a participants.tsv with subject metadata, and a dataset_description.json with the dataset metadata:

    spinal_cord/
    └── <new-dataset>/
        ├── dataset_description.json  # dataset metadata
        ├── participants.tsv          # subject metadata (participant_id, sex, age, institution, ...)
        ├── sub-001_T2w_PAM50.csv
        └── ...
    

    The dataset_description.json should contain:

    {
        "name": "<human-readable dataset name>",
        "coverage": "<anatomical coverage>",
        "contrast": "<MRI contrast>",
        "resolution": "<voxel size>",
        "population": "<subject population>",
        "link": "<URL to raw dataset>",
        "link_text": "<display text for the link>"
    }
  2. Regenerate datasets.tsv and update README — run the script from the repository root; it will auto-compute subject counts, sex, and age statistics from participants.tsv, fetch the dataset metadata from dataset_description.json, and automatically update the summary table in the Datasets Overview section above:

    python code/generate_datasets_summary.py

About

Spinal cord morphometry in the PAM50 template space

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors