physiopy: open development solutions for physiology in MRI

The physiopy contributors:

Daniel Alcalá, Apoorva Ayyagari, Katie Bottenhorn, Molly Bright, César Caballero-Gaudes, Inés Chavarría,
Elizabeth DuPre, Vicente Ferrer, Soichi Hayashi, Vittorio Iacovella, Tomas Lenc, François Lespinasse, Ryan Lim,
Ross Markello, Stefano Moia, Robert Oostenveld, David
Romero-Bascones, Taylor Salo, Rachael Stickland,
Eneko Uruñuela, Merel van der Thiel, Kristina Zvolanek, & Marcel Zwiers.

Why physiopy

MRI-related physiology is still a niche → we need more researchers and clinicians to become interested in the topic.

*Open Source Software Development is the idea of developing a software publicly, sharing it from the beginning of the development, fostering a democratic community of contributors in support of the project, using version control and software testing.

One aim of physiopy is to ease this process using a Community driven, BIDS-based, Open Development* approach.

Sharing physiological data, toolboxes, and documentation following the concepts of Open Science could improve the exposition to this topic.

physiopy's aims and components

physiopy's has 5 main aims, that translate into three core components:

  1. A BIDSificator, phys2bids
  2. (Pre)processing tools for physiological data based on BIDS
  3. Documentation that ease the interaction with physiological data

physiopy's community

In physiopy, we adopt the all-contributors acknowledgement system: each and all contributions of any kind and size are recognised.
At the moment (this could change) during outreach activities (e.g. abstracts), all authors are listed in alphabetical order, beside the (corresponding) author of the piece.

We are not a community that aims to compete with or take the place of others.
Instead, we prefer collaborations with any other community/individual that
is eager to collaborate.
We mainly refer to the ICP network, ISMRM, OHBM, and the Brainhack as user bases and theoretical sources (although we are more executive in nature).

All contributors are volunteers that dedicate their free time to the community.

For this reason, there is no strict deadline (but soft deadlines) and development is adaptive to the time (and interest) of the contributors.

However, we don't exclude the use of dedicated funds.

physiopy's libraries

Raw data

BIDSification

physiological data preprocessing

phys. denoising

phys. imaging

Data acquisition

Process description

physiopy's libraries

Raw data

phys2bids


peakdet
 

phys2denoise

phys. imaging

Data acquisition

physiopy's documentation

BIDSifying physiological data: phys2bids

physiopy/phys2bids is our flagship repository, introduced in December 2019.

Its aim is reorganising physiological recordings into BIDS format, and it currently supports AcqKnowledge (BIOPAC) and Labchart (ADInstruments) files.

There is an open PR to support Spike files, and help has been obtained to develop par/rec support.

Possible development:

  • Extend file support to MRI vendors.
  • Extend modality support (e.g. asl and beh).
  • phys2bids 3.0: revisit CLI and heuristics.

BIDScoin¹ integrates phys2bids as a plugin, granting it a GUI and facilitating its use.

1. Zwiers, Moia, & Oostenveld, 2022 (Front Neuroinform)

Preprocess physio data: peakdet

physiopy/peakdet was "donated" by its maintaner, Ross Markello, and is currently maintained by physiopy.

Its aim is denoising physiological data and detect peaks in the signal.

It supports basic automatic peak detection and manual result correction.

Possible development:

  • Improve physiological preprocessing and automatic peak detection with neurokit¹ algorithms.
  • Improve GUI to ease different operations and support multiple timeseries.
  • Possibly, rewrite the whole package around a common physiopy object.

There is an open PR to add manual peak selection.

1. Makowski et al, 2021 (Behav. Res. Methods)

Denoising fMRI data: phys2denoise

physiopy/phys2denoise is our second repository, introduced in May 2020.

Its aim is creating denoising regressors for fMRI from physiological recordings, NOT run the denoising step itself.

It is in alpha stage (partially tested code), and it supports common denoising methods based (at the moment) on cardiac and respiratory data.

Possible development:

  • Improve the library testing suite.
  • Add newer/less common denoising methods.
  • Rework output to be both at MRI and higher sampling frequency and handle lagged regressors.

physiopy's documentation

physiopy's documentation is an important pillar of physiopy's aim, as it is meant to guide new users in their physiological data approach

Possible development:

  • Conclude documentation update (from phys2bids to physiopy).
  • Make documentation easier to navigate.
  • Add physiological and MRI denoising specific documentation.
  • Add datasets monitoring.

Actions across the whole board

Running actions:

  • Automatic signal discrimination
  • Back-end libraries improvements (CD/CI, standardisation)
  • Collaborations with other communities (e.g. physiotoolbox)

Possible development:

  • Make tools (only?) BIDS-compatible (derivatives).
  • Contribute to other communities/tools (e.g. BIDS, COBIDAS).
  • Extend tool integration (e.g. AFNI, nipreps, heudiconv, brainlife, ...).
  • Improve community validation (e.g. outreaching).

Time for some discussion

In the meantime, thanks to all contributors!