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

Support complex-valued decomposition on analytic signal to account for lagged signals #1022

Open
tsalo opened this issue Feb 9, 2024 · 0 comments
Labels
decomposition issues related to decomposition methods discussion issues that still need to be discussed effort: high More than 40h total work enhancement issues describing possible enhancements to the project impact: high Enhancement or functionality improvement that will affect most users

Comments

@tsalo
Copy link
Member

tsalo commented Feb 9, 2024

Summary

I've been thinking about lagged signals (e.g., systemic low-frequency oscillations) and how tedana might account for them. I wonder if we could incorporate a decomposition method that supports complex-valued data (e.g., complex PCA and/or complex ICA) to decompose the optimally combined data into components that might have lags?

Just to clarify, this wouldn't be applied to complex-valued fMRI data (i.e., fMRI data with magnitude and phase reconstruction enabled)- it would involve a Hilbert transform on the magnitude-only optimally-combined signal.

Additional Detail

Tong, Hocke, & Frederick (2019) discuss systemic low-frequency oscillations (sLFOs), which are slow-moving waves stemming from non-neuronal sources. These waves move slowly enough that methods that don't take that into account (e.g., GSR) will average over those lags, blurring the extracted signal. Blaise Frederick developed the tool rapidtide to perform dynamic global signal regression.

More recently, Bolt et al. (2022) and Bolt et al. (2023) applied complex-valued PCA (code available at tsb46/complex_pca) to fMRI data to investigate the impact of sLFOs on global signal as well.

Scikit-learn's implementation of FastICA doesn't support complex-valued data, unfortunately, but I came across a repo that ostensibly extends FastICA to complex data (https://github.com/afbujan/complex_ica).

Between the Tong and Bolt papers, it seems like most (if not all) slow-moving signals in fMRI data are both non-neuronal and BOLD-based, in which case tedana couldn't flag them as noise (at least using TE-[in]dependence models). That might limit the utility of this approach within tedana, but I think it could still be useful for the blind source separation. We might end up with more "Likely BOLD" components, even if they're fundamentally non-neuronal, but I think they'd better represent the underlying signals.

@tsalo tsalo added enhancement issues describing possible enhancements to the project discussion issues that still need to be discussed decomposition issues related to decomposition methods effort: high More than 40h total work impact: high Enhancement or functionality improvement that will affect most users labels Feb 9, 2024
@tsalo tsalo changed the title Support complex-valued decomposition to account for lagged signals Support complex-valued decomposition on analytic signal to account for lagged signals Mar 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
decomposition issues related to decomposition methods discussion issues that still need to be discussed effort: high More than 40h total work enhancement issues describing possible enhancements to the project impact: high Enhancement or functionality improvement that will affect most users
Projects
None yet
Development

No branches or pull requests

1 participant