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,
Niall Duncan, Elizabeth DuPre, In
ês Esteves, Vicente Ferrer, Sarah Goodale, Soichi Hayashi, Vittorio Iacovella,
Tomas Lenc, François Lespinasse, Ryan Lim, Ross Markello, Mary Miedema, Stefano Moia, Robert Oostenveld, Joana Pinto, David
Romero-Bascones, Taylor Salo, Rachael Stickland, Eneko Uruñuela, Hao-Ting Wang,
Merel van der Thiel, Kristina Zvolanek, & Marcel Zwiers.

Why physiopy

The exploration of physiological signals (e.g. cardiac pulse, respiration) in neuroimaging is still a niche topic → 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 has 5 main aims, that translate into four core components:

  1. A set of easily adoptable toolboxes
  2. Clear and approachable documentation
  3. Best practices based on consensus
  4. Community of users, developers, and researchers interested in physiology

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

physioQC

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), Labchart (ADInstruments), Spike2, and GE files.

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 automatic peak detection and manual result correction.

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.

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

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.

 

We are compiling best practices based on bimonthly discussions within the community.

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).

Thank you!

And thanks to all contributors!

github.com/physiopy
physiopy.slack.com
s.moia.research@gmail.com

Open meetings every third Thursday of the month at 16h00 UTC