The TAPAS PhysIO Toolbox for Physiological Noise Modeling in fMRI
Last updated on
Jan 24, 2024
Title
The TAPAS PhysIO Toolbox for Physiological Noise Modeling in fMRI
Leaders
Lars Kasper @mrikasper
Johanna Bayer @likeajumprope
Collaborators
Joram Soch @JoramSoch (for MACS integration)
Brainhack Global 2023 Event
BrainHack Toronto
Project Description
TL;DR: Watch the videos on PhysIO
and MACS
to learn about these 2 toolboxes that we are trying to integrate and make more accessible in this Hackathon.
The PhysIO Toolbox offers model-based physiological noise correction for functional MRI (fMRI) data, based on peripheral physiological recordings, such as cardiac and respiratory traces (ECG, pulse oximeter, breathing belt). Major noise models, such as RETROICOR, respiratory volume per time (RVT) or heart-rate variability (HRV) modulations of BOLD are supported.
PhysIO is written in Matlab, but also offered as standalone version via a containerized solution (Neurodesk
) or web-based processing interface (CBRAIN
). Through its integration as a toolbox in SPM, it both offers interactive operation via the Batch Editor GUI, as well as batch execution within fMRI preprocessing pipelines.
Through its more than 10 years of development as part of the Translational Algorithms for Psychiatry-Advancing Science (TAPAS) Software Package, PhysIO has seen many improvements and new releases, but user requests for new features always outnumber our core developer capacity.
In this Brainhack, we would like to add two of the most highly-desired features to PhysIO:
Finding the best physiological noise model for your data using MACS
Creating an interactive tutorial of PhysIO in action using Matlab Online and open datasets, for example based on this prototype code
If you want to start small, there is also a user wish list
of changes to the interface and documentation that we would be happy to see implemented.
All of the following goals are equally worthwhile. We will base our prioritization on user interest and expertise:
Model Selection of the best Physiological noise model for your data (tracked in this issue
)
With the large variety of physiological noise models and parameters offered by PhysIO, a common question
for users is which model is right for their data.
Overly simplistic models might not remove noise effectively, overly complex models, on the other hand, might reduce your sensitivity to detect fMRI activation by removing degrees of freedom in your task model or signal correlated to your task.
Bayesian model selection is a formal way to compare different modeling choices and select the best model for your data.
MACS (Model Assessment, Comparison and Selection) is an SPM toolbox offering Bayesian Model Selection for the general linear models (GLMs) used in fMRI analysis.
In this milestone, we want to complete the following:
Identify a suitable multi-subject open fMRI dataset (e.g., on OpenNeuro) with peripheral recordings
Run different physiological noise models (GLMs) on multiple subjects
Assess the GLMs for single subjects and the group via MACS
Perform model comparison for a couple of typical models (RETROICOR different orders, plus RVT, plus HRV, different delays RVT/HRV delays)
Write a programmatic interface within PhysIO to call MACS for model assessment/selection
Write a batch editor interface for PhysIO model assessment using MACS
Interactive Online Tutorial of the PhysIO pipeline with openly available fMRI data (tracked in this issue
)
There are some barriers to make it a great user experience for your first contact with the PhysIO Toolbox, in particular
the slow initialization because of downloading git submodules from GitHub (including SPM)
the choice of appropriate (good physiological recordings) and small open fMRI datasets, e.g., from OpenNeuro
Fulfilling some PhysIO users’ long-standing small, but impactful feature requests from the wish list
, such as
A consistent interface for multiband fMRI data (this issue
)
A direct read-in of BIDS scan timing data from .json sidecar files, similar to the CBRAIN
implementation
Exporting preprocessed physiological traces and derived measures (heart-rate variability, respiratory volume per time) at base resolution before physiological modeling (this issue
)
the choice of an appropriate (good physiological recordings) and small open fMRI dataset for the PhysIO-Live Demo (single subject) and the Model Selection goal, e.g., from OpenNeuro
Basics of physiological noise correction in fMRI (RETROICOR, RVT, HRV)
Basics of model comparison/model selection
Using PhysIO as a Matlab script, in a GUI, at the Batch Editor Level with SPM
Using Matlab Online with open-source code and data repositories
Data to use
TBD (it’s one of the tasks)
Number of collaborators
4
Credit to collaborators
As outlined in our TAPAS CONTRIBUTING
document, new members shall add themselves to the Contributor License Agreement
alongside their first pull request contribution to the TAPAS PhysIO Code. This document is also referenced in the PhysIO README
.
We aim at making the project development environment available via Matlab Online or standalone (browser- or container-based, no license required), but if there is specific expertise, we could also aim at full Octave-compatibility of the toolbox.
Things to do after the project is submitted and ready to review.
Add a comment below the main post of your issue saying: Hi @brainhackorg/project-monitors my project is ready!