Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plot physiological signals on top of the carpet plot #120

Open
oesteban opened this issue May 15, 2024 · 2 comments
Open

Plot physiological signals on top of the carpet plot #120

oesteban opened this issue May 15, 2024 · 2 comments

Comments

@oesteban
Copy link
Member

Modify the reportlet (https://github.com/nipreps/nireports/blob/main/nireports/reportlets/modality/func.py) so that physiological signals are also "pluggable". This implies:

  • Feeding the physio signal as a "confound"
  • Allow for necessary metadata:
    • Sampling frequency - I believe BOLD's TR is currently assumed, so this will need be improved.
    • Start time - I don't think now we can have this synchronization.
@m-miedema
Copy link

I think it makes more sense to add a physio property rather than treating physio as a confound - this gives more flexibility for instituting the extra steps we need (searching for physio, allowing different meta-data, calculating different derivatives).

@m-miedema
Copy link

Some thoughts I hope will be helpful for any MRIQC shifts to plotting raw/minimally preprocessed physio signals on top of the carpet plot:

  • Explicitly initializing a dataframe for each physio signal within FMRISummary() in a set of allowable use cases seems like the simplest way to implement this, considering that the sampling rate could potentially vary across each modality (we discussed cardiac, respiratory, and eye-tracking) and so dataframes unfortunately can't necessarily be shared (certainly not with the confounds)
  • To avoid being too clunky, it might be beneficial to be proscriptive in choosing a representative signal within any cardiac/respiratory brackets (e.g. privileging PPG within cardiac to avoid having to do to much artefact-related processing)
  • Within fMRIplot(), confoundplot() is very flexible as it does not actually scale the x-axis in any meaningful way. So, as long as data is pre-cropped to align with the scan, there's no need to use a separate plotting function

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants