mne-tools / mne-tools/mne-python

[ENH] Spatio-temporal cluster permutation testing: Define minimum "nodes" to define a cluster

Open
#10,604 29 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ENH sprint-2023
Dominant language
Python
Stars
3.5k
Forks
1.6k
Avg merge
1d 6h
Merged PRs (30d)
100

Description

For spatio-temporal cluster permutation testing, it's important to consider how many "nodes" make up a cluster.

For example:

  • In the time domain (considering 1 "channel"): Are two neighboring significant time points already a cluster? Or does it start with "3", "4", "N"?
  • In the spatial domain: the same but for neighboring channels who have are significant at the same point in time

Currently I can only assume that in MNE-Python, any neighboring relationship (2 timepoints, or 2 channels) makes up a cluster.

It would be really nice to

  1. document this
  2. offer a parameter to customize this

In FieldTrip, this is done as so:

cfg.minnbchan        = 2;          % minimum number of neighborhood channels that is
                                   % required for a selected sample to be included
                                   % in the clustering algorithm (default=0).

https://www.fieldtriptoolbox.org/tutorial/cluster_permutation_timelock/

xref https://github.com/mne-tools/mne-python/issues/4859

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No implementation file or test is named. Start by locating the current spatio-temporal cluster permutation entry points and reviewing the linked FieldTrip reference; the work is done when the existing behavior is documented and the minimum-node behavior is specified, implemented, and covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.