Skip to content

Code organization

Nipoppy docs are moving

Nipoppy is undergoing a major refactor to move from scripts to a command-line interface (CLI) and Python API. The new documentation website (work in progress) can be found at

If you are using the (soon-to-be legacy) scripts from Nipoppy 0.1.0, this is still the correct place to be. But we encourage you to check out the new website!

Code organization

The Nipoppy codebase is divided into data processing workflows and data availability trackers.


  • MRI data organization (dicom_org and bids_conv)
    • Custom script to organize raw DICOMs (i.e. scanner output) into a flat participant-level directory.
    • Convert DICOMs into BIDS using Heudiconv
  • MRI data processing (proc_pipe)
    • Runs a set of containerized MRI image processing pipelines
  • Tabular data (tabular)
    • Custom scripts to organize raw tabular data (e.g. clinial assessments)
    • Custom scripts to normalize and standardize data and metadata for downstream harmonization (see NeuroBagel)


  • Track available raw, standardized, and processed data
  • Generate bagels for Neurobagel graph and dashboard.

Legend - Red: dataset-specific code and configuration files - Yellow: Neurobagel interface