mne-connectivity
mne-connectivity copied to clipboard
Phase-slope index using spectral_connectivity_time instead of spectral_connectivity_epochs?
Describe the problem
Currently, the function for computing phase-slope index is hard-coded to be computed over epochs to produce time-resolved PSI, and there's no option for computing the phase-slope index over time to produce PSI per epoch. This would be useful if you think the average directionality between two signals over the entire timecourse is informative. You could compute this by binning your trials into categories (i.e. good trials v. bad trials) and then computing PSI, but there's no way to compute PSI per epoch and relate it to continuous trial-level predictors. This should be possible unless I'm missing something
Describe your solution
-
Add a
_cohyfunction tomne_connectivity.spectral.timeby removing the absolute value from_coh -
Mimic conditional statements for
cohforcohyin_pairwise_conand_parallel_con -
Create a new function
phase_slope_index_timethat mimicsphase_slope_indexbut utilizes our new computation ofcohyusing spectral_connectivity_time instead of spectral_connectivity_epochs
Does this sound reasonable or am I missing some obvious reason not to do this? If so, I'm happy to implement this and test and make a pull request.
This seems reasonable to me. IIUC, the original PR just didn't add cohy to ere on the side of simplicity.
@tsbinns any thoughts?
I don't see any problems. With #163 merged spectral_connectivity_time can return complex values, would just need to list the new cohy method here alongside cacoh:
https://github.com/mne-tools/mne-connectivity/blob/2af1398e7784350ec8f38c71061668e677fa27c0/mne_connectivity/spectral/time.py#L563-L569
SG. Feel free to submit a PR @seqasim
Sorry for the delay - created a PR here: https://github.com/mne-tools/mne-connectivity/pull/210