GSoC 2024 Project Idea 17.1 Semi-Automated Workflows for Physiological Signals (175 h)

Physiopy is an international community formed around developing solutions to acquire, process, and utilize physiological files (e.g. cardiac, respiratory, etc) in neuroimaging contexts (e.g functional magnetic resonance imaging, fMRI). For the past five years, Physiopy has been developing several physiology-oriented modular toolboxes to this end, including 1) phys2bids, a toolbox to standardize physiological files in BIDS format 2) peakdet, a toolbox for automatic detection and manual correction of peaks in physiological data and 3) phys2denoise, a toolbox to prepare derivatives of physiological data for use in fMRI denoising. Currently, we have no complete workflows encompassing all steps of physiological data processing and model estimations. The goal of this project is to update toolboxes and facilitate a unified workflow across these for semi-automated physiological signal processing.

Tasks:

  • Update and upgrade the current codebase of peakdet and phys2denoise, including better harmonization between toolboxes
  • Create a semi-automated workflow based on peakdet and phys2denoise to process respiratory and cardiac signals and obtain regressors to model physiological signal variance for neuroimaging analysis (e.g. respiratory volume per time, heart rate variability, etc)
  • Improve accessibility of toolboxes through detailed documentation

Minimal set of deliverables:

  • Update and implement a single object class shared between peakdet and phys2denoise
  • Create a command line interface (CLI) for the workflows
  • Update documentation/tutorials for the toolboxes on Read the Docs

Optional aims:

  • Create a graphical report of the workflows output
  • BIDS-App-lify the workflows: we want to create an entry point to transform the workflow into a BIDS Application
  • Pydra-ify the libraries: to learn the strength of Pydra as a workflow manager, we can create a version of the workflow using Pydra.
  • Add support for eye-tracking and skin conductance data
  • Contribute to specification of BIDS standards for physiological data derivatives

For this project, experience working with physiological and/or neuroimaging data are helpful but not necessary. We follow the all-contributors specification to report contributions, and adopt physiopy’s contributors guide and code of conduct.

What can I do before GSoC?

You can join the Physiopy mailing list and Slack by emailing physiopy@gmail.com, as well as attend our monthly community meetings. You can become familiar with the existing Physiopy toolboxes and/or the use of physiological data in brain imaging by following some of our tutorials.

Expected results: A workflow for processing physiological signals with up-to-date documentation/tutorials and unit test coverage.

Skill level: Intermediate

Required skills: Python

Time commitment: Half-time (175 h)

Lead mentor: Mary Miedema (mary.miedema@mail.mcgill.ca), Marie-Eve Picard (marie-eve.picard.2@umontreal.ca), Stefano Moia (s.moia.research@gmail.com)

Project website: The physiopy community · GitHub

Backup mentors: TBD

Tech keywords: Python, open source, data analysis, signal processing, biomedical

4 Likes

Errata corrige: the email of the Physiopy Community is physiopy.community@gmail.com, not physiopy@gmail.com

1 Like

Thanks for the correction!