Skip to content

Develop SpineChart dashboard #1

Description

@jcohenadad

Project proposal: SpinalCordChart — normative modeling of spinal cord morphometry

Motivation

BrainChart (https://brainchart.shinyapps.io/brainchart/) has become a landmark project for normative modeling of brain structure across the lifespan, enabling z-scores, centile curves, and individualized deviation maps.

👉 There is currently no equivalent resource for the spinal cord, despite:

  • its central role in neurological diseases (MS, SCI, DCM, ALS, etc.)
  • increasing availability of standardized spinal cord MRI metrics
  • mature processing tools (Spinal Cord Toolbox)

This project aims to build the spinal cord analogue of BrainChart, using existing open datasets already normalized to the PAM50 template.


📊 Available data

We already have a large collection of CSV files available here:

🔗 https://github.com/spinalcordtoolbox/PAM50-normalized-metrics

  • Each CSV corresponds to one subject and contains morphometric metrics (e.g., CSA, AP diameter, RL diameter, etc.) values at each axial slice of the PAM50 template (ensuring standardized spatial correspondence across subjects)

Structure:

  • rows: axial slices (template space)
  • columns: morphometric metrics
  • participants.tsv file with metadata such as subject ID, age, sex (when available)

This makes the dataset ideal for normative modeling.


🎯 Project objectives

  1. Aggregate and curate the dataset

    • Parse all CSV files
    • Harmonize metadata (age, sex, site if available)
  2. Develop normative models of spinal cord morphology

    • Model metrics as a function of:
      • age
      • sex
      • spinal level (slice or vertebral level)
    • Explore approaches:
      • GAM / GAMLSS
      • Gaussian process regression
      • Mixed-effects models
  3. Compute individual deviation scores

    • Z-scores / centiles per slice and per metric
    • Whole-cord and level-specific summaries
  4. Interactive visualization

    • Web app inspired by BrainChart
    • Example features:
      • centile curves across age
      • slice-wise profiles along the cord
      • subject-specific deviation maps
    • Technologies (flexible):
      • R Shiny or
      • Python (Dash / Streamlit)

See example below:

Image
  1. Open-science deliverables
    • Reproducible pipeline
    • Well-documented code
    • Public web demo
    • Dataset + documentation for reuse

🧠 Scientific impact

  • First normative spinal cord morphometry atlas
  • Enables:
    • individualized deviation mapping
    • better disease effect quantification
    • longitudinal monitoring
  • Direct applications to:
    • multiple sclerosis
    • spinal cord injury
    • degenerative cervical myelopathy
    • aging studies

🛠️ Technical stack (suggested)

  • Data processing: Python (pandas, numpy) or R (tidyverse)
  • Modeling:
    • R: mgcv, gamlss
    • Python: pygam, gpytorch, statsmodels
  • Visualization:
    • R Shiny or
    • Python Dash / Streamlit
  • Version control: GitHub
  • Optional:
    • Docker for reproducibility
    • CI for basic validation

🎓 Student profile

We are looking for a student with:

  • strong interest in neuroimaging / biomedical data science
  • experience with:
    • Python or R
    • data visualization
    • statistics / machine learning
  • interest in open science and reproducible research

📦 Expected outcomes

  • A SpinalCordChart web application
  • A reusable normative modeling framework
  • A peer-reviewed publication (target: Imaging Neuroscience / Human Brain Mapping / MRM)
  • Contribution to the Spinal Cord Toolbox ecosystem

🙌 Mentorship & environment

The project will be supervised within the NeuroPoly / Spinal Cord Toolbox ecosystem, with:

  • access to large multi-site datasets
  • strong computational infrastructure
  • active open-source community
  • opportunities for conference presentations (ISMRM, OHBM)

Related threads/discussions

Normative modeling of the spinal cord: sct-pipeline/dcm-metric-normalization#23
Explore ComBat for data harmonization: neuropoly/idea-projects#56


📬 Interested?

If you are interested, please:

  • comment on this issue or
  • contact us with a short description of your background and interests

Let’s build the BrainChart of the spinal cord 🧠➡️🦴

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions