physiopy: open development solutions for physiology in MRI
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:
- A BIDSificator, phys2bids
- (Pre)processing tools for physiological data based on BIDS
- 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
physioQC
physiological data for testing
News in phys2bids
Enhancements:
- GE MRI file support
- Optimised txt file reading and channel selection
(Almost) ready for merge:
- Spike2 file support
- peakdet-based GUI to manually slice sessions
- REPORTS
- Adopt Black & pre-commits
Possible/necessary extensions:
- Extend file support to other MRI vendors
- Extend BIDS modality support (e.g.
asl
andbeh
) - phys2bids 3.0: revisit CLI and heuristics/add "maps"
News in peakdet
Enhancements:
- Functions to interface with neurokit (saved) data
(currently bugged)
(Almost) ready for merge:
- ...
"Unofficial" enhancements:
- Manual peaks addition
- "Support" timeseries addition
Possible/necessary extensions:
- Improve neurokit integration by supporting objects rather than (just) files.
- Add physiological preprocessing and automatic peak detection with neurokit
- BIDS application
- Improve GUI to ease different operations and support multiple timeseries
- Possibly, rewrite the whole package around a common physiopy object
News in phys2denoise
Enhancements:
- Functions to interface with neurokit (saved) data
(currently bugged)
(Almost) ready for merge:
- Heart-Beat-Interval based regressor.
Possible/necessary extensions:
- Improve the library testing suite
- Add newer/less common models for denoising
- Rework output to be both at MRI and higher sampling frequency and handle lagged regressors.
- Possibly, use common physiopy object to avoid pandas
- Possibly, have a method to "check" impact of regressors on fMRI
- BIDS application
News in physiopy's documentation
Enhancements:
- New documentation website (and documentation)
(Almost) ready for merge:
- More pages!
Possible/necessary extensions:
- Conclude documentation update (from phys2bids to physiopy)
- Add best practices
- Make documentation easier to navigate
- Add physiological and MRI denoising specific documentation
- Improve datasets monitoring
Actions across the whole board
Done:
- OHBM 2022 EC + OSR
- EOSS 5th cycle submission (rejected)
- First codesprint/brainhack!
To-dos, code-related:
- PhysioQC: quality control for physiological files
- Adopt Pre-commit and formatters (balck, isort)
- Automatic signal discrimination to classify signals
- Make tools BIDS-compatible (derivatives)
To-dos, others:
- Generic physiological dataset for testing purposes
- Collaborations with other communities/toolboxes (e.g. physIO, neurokit, AFNI, BIDScoin, NiPrep)
- Improve community validation: publications, endorsement.
Time for some discussion
In the meantime, thanks to all contributors!
physiopy stirring meeting 2023
By Stefano Moia
physiopy stirring meeting 2023
- 121