mne-connectivity icon indicating copy to clipboard operation
mne-connectivity copied to clipboard

Add the wSMI (weighted Symbolic Mutual Information) marker computation function to the library

Open Laouen opened this issue 6 months ago • 8 comments

Describe the new feature or enhancement

The wSMI [1] is a connectivity measure developed by Jean-Rémi King and Jacobo D. Sitt and its used mainly to study markers of consciousness and conscious perception and its somehow complementary with the wPLI measure.

The wSMI is already been used by multiple researchs and there are a widely number of publications already including this measure in their projects using either the implementation of Federico Raimondo in PICNIC Lab (where the measure was developed) or their own implementations. We think that adding the measure to MNE instead of everyone using a different implementation would improve the reproducibility of the publications using the measure.

[1] King, J. R., Sitt, J. D., Faugeras, F., Rohaut, B., El Karoui, I., Cohen, L., ... & Dehaene, S. (2013). Information sharing in the brain indexes consciousness in noncommunicative patients. Current biology, 23(19), 1914-1919.

Describe your proposed implementation

wSMI is already publicly available in github (https://github.com/fraimondo/nice/blob/master/nice/measures/connectivity.py) developed by Federico Raimondo in python. Even do the measure is public, its not easy to use and installing all the repository for that measure is an overkill. Also, there is no documentation and its not correctly maintained.

Currently we are working on a refactor of our pipeline and we would be available to contribute with MNE integrating the wSMI (which is already implemented) into MNE ourselves.

Describe possible alternatives

We don't have a possible alternative but we are open to any

Additional context

No response

Laouen avatar May 14 '25 10:05 Laouen

Hello! 👋 Thanks for opening your first issue here! ❤️ We will try to get back to you soon. 🚴

welcome[bot] avatar May 14 '25 10:05 welcome[bot]

I think this makes more sense for mne-connectivity so I'll transfer there!

larsoner avatar May 14 '25 17:05 larsoner

@tsbinns any thoughts on adding this measure?

larsoner avatar May 14 '25 17:05 larsoner

Thanks for the transfer! Just to specif, when I say we I mean "Picnic lab". I'm currently a PhD student at that lab under Jacobo sitt supervision> I think this makes more sense for mne-connectivity so I'll transfer there!

Laouen avatar May 16 '25 10:05 Laouen

Sorry for the delay on this, had some trouble getting the old code working, so I definitely agree with @Laouen that this existing public implementation is not so practical to use. In terms of the measure itself, I see the benefits.

For an implementation in MNE-Connectivity, I imagine a standalone function like for envelope_correlation or phase_slope_index is most appropriate (definitely not a fit for spec_conn_epochs/times). Would that be okay @larsoner?

tsbinns avatar May 21 '25 08:05 tsbinns

Yeah a new function makes sense if needed

larsoner avatar May 21 '25 13:05 larsoner

Hi @Laouen, a PR would be welcome on this! I would suggest wSMI is implemented as a new connectivity function like envelope_correlation() or phase_slope_index().

MNE has a lot of useful information about adding, documenting, and testing new features in the contributing guide. If you have general questions about this process or anything specific for the wSMI implementation, I am happy to help!

tsbinns avatar May 22 '25 01:05 tsbinns

Hi @tsbinns, glad to hear that!

I agree with implementing wSMI as a new connectivity function.

The student that will work on this will start on June, so we will be doing a PR around mid June!

Laouen avatar May 22 '25 10:05 Laouen