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

Requested metric: respiratory-volume-per-time #1

Closed
tsalo opened this issue May 1, 2020 · 7 comments · Fixed by #21
Closed

Requested metric: respiratory-volume-per-time #1

tsalo opened this issue May 1, 2020 · 7 comments · Fixed by #21
Labels
Enhancement New feature or request

Comments

@tsalo
Copy link
Member

tsalo commented May 1, 2020

Respiratory-volume-per-time (RVT) is a "breath-to-breath metric of respiratory variation," and can be used to generate a regressor for denoising fMRI data.

Per Chang and Glover (2009):

First, peak detection was used to determine the maximum and minimum for each breath. The time series of maxima and minima (max(t) and min(t)) were then interpolated to the imaging TR. A time series of the breathing period (T(t)) was determined by taking the time difference between successive maxima, assigning the resulting value to the midpoint between the successive maxima, and interpolating the resulting time series to the imaging TR. The final RVT time series was then computed as RVT(t) = (max(t) − min(t))/T(t).

A relevant metric is RPV convolved with a respiratory response function:

In addition, RVT(t) was convolved with the RRF (Birn et al., 2008), forming a separate waveform (RVT*RRF(t)).

RVT*RRF is also often lagged when used to denoise fMRI data.

@CesarCaballeroGaudes
Copy link
Collaborator

@tsalo thank you for the request. The implementation of this approach, along with its counterpart for variations in cardiac rate also described in this paper, is within our plans for phys2denoise

@tsalo
Copy link
Member Author

tsalo commented May 2, 2020

I have functions sitting around for RV and RVT. I would be happy to open PRs for them to phys2denoise if you can give me an idea of how the package will be structured, so I know where to put them.

@smoia
Copy link
Member

smoia commented May 3, 2020

HI @tsalo ,
yes, that would be awesome!
I still need to think for a moment about how to structure this package.
If you have any suggestion don't hesitate to write down a line here or in Gitter!

@smoia
Copy link
Member

smoia commented May 4, 2020

The main thing I'm pondering is whether each metric should be on its own (i.e. the user should be able to invoke each of them via a command) or they should be argument of a general workflow (i.e. the user should call phys2denoise -rvt, for instance), or both.

@tsalo
Copy link
Member Author

tsalo commented May 4, 2020

I personally would end up calling them within Python, but for the CLI it might be good to have an argument that can take multiple values (e.g., phys2denoise --metrics rvt rpv rv).

@CesarCaballeroGaudes
Copy link
Collaborator

Agree with this suggestion

@tsalo
Copy link
Member Author

tsalo commented May 4, 2020

@smoia I posted about the infrastructure in the Gitter channel, but can open a separate issue here if you'd prefer.

@smoia smoia added the Enhancement New feature or request label Nov 10, 2020
@tsalo tsalo mentioned this issue Nov 13, 2020
18 tasks
smoia pushed a commit that referenced this issue Feb 25, 2021
Move metric call function to metrics.utils
smoia added a commit to eril892/phys2denoise that referenced this issue Apr 13, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Correct ref
smoia added a commit that referenced this issue Jul 8, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Correct ref
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants