Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
62daaf0
added cluster test api, first commit
CarinaFo Jun 14, 2024
d59978f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 14, 2024
2843905
tested dataframe function and results, cleaned up
CarinaFo Jun 14, 2024
1985da3
Merge branch 'new_cluster_stats_api_GSOC24' of https://github.com/Car…
CarinaFo Jun 14, 2024
fa5b215
added ToDos
CarinaFo Jun 14, 2024
1a1511d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 14, 2024
0ea220c
Merge branch 'new_cluster_stats_api_GSOC24' of https://github.com/Car…
CarinaFo Jun 14, 2024
a12cf95
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 14, 2024
3c5d4f1
Merge branch 'mne-tools:main' into new_cluster_stats_api_GSOC24
CarinaFo Jun 19, 2024
45ce63a
added formula support and implemented suggestions
CarinaFo Jun 19, 2024
2b7bae8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 19, 2024
38834ba
fixed linting errors
CarinaFo Jun 22, 2024
c00859f
ENH: Add dataset [skip azp] [skip actions]
larsoner Jun 25, 2024
9c8ec90
FIX: One more [skip azp] [skip actions]
larsoner Jun 25, 2024
47363b5
FIX: Title [skip azp] [skip actions]
larsoner Jun 25, 2024
1f6221d
first draft of formulaic paired t-test
CarinaFo Jun 30, 2024
37616e5
first draft without cluster plotting class implemented
CarinaFo Jul 6, 2024
6aaef9a
cleaned up plotting function
CarinaFo Jul 6, 2024
0f99c70
implemented cluser results class
CarinaFo Jul 6, 2024
4083691
added contribution
CarinaFo Jul 6, 2024
42d70f9
Merge branch 'mne-tools:main' into new_cluster_stats_api_GSOC24
CarinaFo Jul 18, 2024
8a57215
Merge branch 'new_cluster_stats_api_GSOC24' of https://github.com/Car…
CarinaFo Jul 18, 2024
7e9b2e5
fixed codespell
CarinaFo Jul 18, 2024
12f27dd
Merge branch 'main' into new_cluster_stats_api_GSOC24
CarinaFo Jul 19, 2024
8f510a9
first review
CarinaFo Jul 22, 2024
d6c0c4c
quick clean up
CarinaFo Jul 22, 2024
f17f38f
test compare_old_vs_new_cluster_API
CarinaFo Jul 22, 2024
9d592de
simplify tests
drammock Jul 25, 2024
d64ef84
refactor cluster_test
drammock Jul 25, 2024
dc8a799
make tutorial match modified API
drammock Jul 25, 2024
f12cf6e
remove unused test helper func
drammock Jul 25, 2024
5b97971
vulture allowlist update
drammock Jul 25, 2024
5f5b0fc
included BaseTFR in validate_cluster_df
CarinaFo Jul 28, 2024
ccccb5b
comments on cluster_test function
CarinaFo Jul 28, 2024
59b1a3a
updated clusterResult class and plot function
CarinaFo Jul 28, 2024
98d0879
updated function call for plotting
CarinaFo Jul 28, 2024
ec03242
changed color
CarinaFo Jul 28, 2024
a513518
Merge branch 'main' into new_cluster_stats_api_GSOC24
CarinaFo Jul 31, 2024
1a5dd9d
Merge branch 'new_cluster_stats_api_GSOC24' of https://github.com/Car…
CarinaFo Jul 31, 2024
5941f61
docstring/docdict cleanups and fixes
drammock Aug 1, 2024
368fa44
implemented Dan's comments
CarinaFo Aug 5, 2024
3aa32b6
implemented Dan's comments
CarinaFo Aug 5, 2024
a76afd3
test for handling different MNE objects - test is failing
CarinaFo Aug 5, 2024
b5fce8b
adjusted test to account for multiple subjects
CarinaFo Aug 6, 2024
3ce510c
refactor df validation to return bools
drammock Aug 10, 2024
feb1911
unrelated typing fix
drammock Aug 10, 2024
6f97811
rework test
drammock Aug 10, 2024
b09d20a
minor cleanup
drammock Aug 12, 2024
977e153
fix imports
drammock Aug 12, 2024
a288d85
use MRO in test too
drammock Aug 12, 2024
81ce0d0
Merge pull request #5 from drammock/new_cluster_stats_api_GSOC24
CarinaFo Aug 21, 2024
05586c8
added cluster test api, first commit
CarinaFo Jun 14, 2024
e8770fd
tested dataframe function and results, cleaned up
CarinaFo Jun 14, 2024
a081d7d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 14, 2024
d6d70c8
added ToDos
CarinaFo Jun 14, 2024
8345261
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 14, 2024
0373195
added formula support and implemented suggestions
CarinaFo Jun 19, 2024
8bc44f9
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 19, 2024
654a350
fixed linting errors
CarinaFo Jun 22, 2024
d1ed8a1
ENH: Add dataset [skip azp] [skip actions]
larsoner Jun 25, 2024
c634a44
FIX: One more [skip azp] [skip actions]
larsoner Jun 25, 2024
0c2eb4f
FIX: Title [skip azp] [skip actions]
larsoner Jun 25, 2024
f46a79c
first draft of formulaic paired t-test
CarinaFo Jun 30, 2024
5d1cbae
first draft without cluster plotting class implemented
CarinaFo Jul 6, 2024
268d0cf
cleaned up plotting function
CarinaFo Jul 6, 2024
2f722bd
implemented cluser results class
CarinaFo Jul 6, 2024
fb75cfd
fixed codespell
CarinaFo Jul 18, 2024
a87ffed
first review
CarinaFo Jul 22, 2024
1f857ad
quick clean up
CarinaFo Jul 22, 2024
450738b
test compare_old_vs_new_cluster_API
CarinaFo Jul 22, 2024
d41efbe
simplify tests
drammock Jul 25, 2024
9523fae
refactor cluster_test
drammock Jul 25, 2024
9661492
make tutorial match modified API
drammock Jul 25, 2024
cac0559
remove unused test helper func
drammock Jul 25, 2024
47ac838
vulture allowlist update
drammock Jul 25, 2024
033c158
included BaseTFR in validate_cluster_df
CarinaFo Jul 28, 2024
2c2f341
comments on cluster_test function
CarinaFo Jul 28, 2024
e9b5fa2
updated clusterResult class and plot function
CarinaFo Jul 28, 2024
2fd17d3
updated function call for plotting
CarinaFo Jul 28, 2024
150c530
changed color
CarinaFo Jul 28, 2024
3cc9e2c
docstring/docdict cleanups and fixes
drammock Aug 1, 2024
2c27a69
implemented Dan's comments
CarinaFo Aug 5, 2024
2664ee2
implemented Dan's comments
CarinaFo Aug 5, 2024
4927544
test for handling different MNE objects - test is failing
CarinaFo Aug 5, 2024
006acdf
adjusted test to account for multiple subjects
CarinaFo Aug 6, 2024
f0f4cba
refactor df validation to return bools
drammock Aug 10, 2024
346e3ce
unrelated typing fix
drammock Aug 10, 2024
a49d2cd
rework test
drammock Aug 10, 2024
a01182b
minor cleanup
drammock Aug 12, 2024
0984b61
fix imports
drammock Aug 12, 2024
6322499
use MRO in test too
drammock Aug 12, 2024
a04b8a3
fix vulture allowlist
drammock Aug 22, 2024
f1d39bf
fix nesting and type hints
drammock Aug 22, 2024
987ea43
strict=False
drammock Aug 22, 2024
78829b4
nest import in test file too
drammock Aug 22, 2024
eb98849
Merge branch 'new_cluster_stats_api_GSOC24' of https://github.com/Car…
CarinaFo Aug 23, 2024
ac943e3
Merge branch 'main' into new_cluster_stats_api_GSOC24
CarinaFo Sep 17, 2024
372bcca
clean up pyproject mess
CarinaFo Oct 2, 2024
4da8463
add n_permutations, plotting, added min_cluster_p_value
CarinaFo Oct 2, 2024
529d3e7
Merge branch 'main' into new_cluster_stats_api_GSOC24
wmvanvliet Sep 2, 2025
b3b29e2
Merge remote-tracking branch 'upstream/main' into new_cluster_stats_a…
scott-huberty Aug 24, 2026
7998605
hide module level sparse import behind TYPE_CHECKING
scott-huberty Aug 24, 2026
61bcca0
nest viz I gues?
scott-huberty Aug 24, 2026
736ad02
FIX: Formulaic deprecated .root property
scott-huberty Aug 24, 2026
ffb2a8a
Type hint suggestion by Richard
scott-huberty Aug 24, 2026
1297467
Dan suggestion
scott-huberty Aug 24, 2026
567fbd8
FIX: correct cluster_test() single-group (1-sample) dispatch
dnacombo Aug 24, 2026
3b73683
ENH: new-API tutorials mirroring the old cluster-permutation-test tut…
dnacombo Aug 24, 2026
78498cf
revise
SophieHerbst Aug 24, 2026
b095dec
Revert "ENH: new-API tutorials mirroring the old cluster-permutation-…
scott-huberty Aug 24, 2026
60ffdc6
Add changelog
scott-huberty Aug 25, 2026
4ca56ad
Require formulaic before running tests with cluster_test API
scott-huberty Aug 25, 2026
10de405
FIX: clarify API entry point
scott-huberty Aug 25, 2026
d8d6c17
FIX: doc fixes
scott-huberty Aug 25, 2026
296fade
FIX, API: expose ClusterResult
scott-huberty Aug 25, 2026
9694051
FIX: pandas ref
scott-huberty Aug 25, 2026
dbc325f
TRY: ClusterResult ref
scott-huberty Aug 25, 2026
37475b1
FIX: new contrib ref syntax
scott-huberty Aug 25, 2026
e891b7b
DOC, FIX: more numpydoc fixes
scott-huberty Aug 25, 2026
afc5fb9
Reapply "ENH: new-API tutorials mirroring the old cluster-permutation…
scott-huberty Aug 25, 2026
db5a6c2
ENH: support repeated-measures ANOVA interaction formulas in cluster_…
dnacombo Aug 24, 2026
41eaf7a
revise doc
SophieHerbst Aug 24, 2026
72466a8
ENH: let ClusterResult.plot_cluster_time_frequency() show any signifi…
dnacombo Aug 25, 2026
5997632
DOC: update tutorials 77/80 for cluster_idx-based cluster selection
dnacombo Aug 25, 2026
3572c89
FIX: note RMS-magnitude sign loss on grad topomaps in ClusterResult p…
dnacombo Aug 25, 2026
c0363bb
integrations fixes and cleanups
scott-huberty Aug 25, 2026
641bd44
FIX: import or skip
scott-huberty Aug 25, 2026
e2a03ba
FIX: docstring
scott-huberty Aug 26, 2026
ed5b635
Merge remote-tracking branch 'upstream/main' into new_cluster_stats_a…
scott-huberty Aug 26, 2026
3ef81d9
FIX: use new rng param
scott-huberty Aug 26, 2026
7cd5a3b
FIX: more seed -> rng param switches
scott-huberty Aug 26, 2026
c13941a
FIX: ugh one more seed param
scott-huberty Aug 26, 2026
0da6d3d
add legacy decorator
scott-huberty Aug 26, 2026
c8f8d26
rename test_cluster_level.py -> test_cluster_level_legacy.py
scott-huberty Aug 26, 2026
5b86df3
re-organize mne/stats/tests/
scott-huberty Aug 26, 2026
5e7a2a6
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 26, 2026
d77452c
Update mne/stats/cluster_level.py
scott-huberty Aug 26, 2026
7c30296
Update doc/changes/dev/12663.newfeature.rst
scott-huberty Aug 26, 2026
7e65301
DOC: notes
scott-huberty Aug 26, 2026
483abae
version added
scott-huberty Aug 26, 2026
9ef7eed
FIX: top level
scott-huberty Aug 26, 2026
5756853
Equivalency test
larsoner Aug 26, 2026
ec1746b
[autofix.ci] apply automated fixes
autofix-ci[bot] Aug 26, 2026
eac433e
Stash Viz methods for later PR
scott-huberty Aug 27, 2026
055b4e5
remove plot tests
scott-huberty Aug 27, 2026
1d79b48
WIP: reduce if needed for paired t-test
scott-huberty Aug 27, 2026
535950a
FIX: import
scott-huberty Aug 27, 2026
174a4e1
FIX: generator
scott-huberty Aug 27, 2026
5f4616a
version added
scott-huberty Aug 27, 2026
ba12c9b
add __repr__ and n_permutations
scott-huberty Aug 27, 2026
091515b
make ClusterResult.stat_obs shape (n_channels, n_times)
scott-huberty Aug 28, 2026
a4c7276
fixes to handle new stat_obs shape and also never return slices for c…
scott-huberty Aug 28, 2026
e07dccd
term
scott-huberty Aug 28, 2026
ab56460
capital
scott-huberty Aug 28, 2026
efdbd7a
docstring
scott-huberty Aug 28, 2026
66db155
fixes
scott-huberty Aug 28, 2026
21861de
more fixes
scott-huberty Aug 28, 2026
b1fee3e
better
scott-huberty Aug 28, 2026
c4a16a6
doc: better
scott-huberty Aug 28, 2026
2303f4d
review tutorial [skip CI]
CarinaFo Sep 5, 2026
31d1767
improve tutorial and test new cluster API
CarinaFo Sep 6, 2026
a0cdcd0
fixed some stuff [skip CI]
CarinaFo Sep 6, 2026
d81c91a
add a reference parameter to cluster_stats to set the reference for p…
CarinaFo Sep 12, 2026
c7ea335
add to cluster result
CarinaFo Sep 12, 2026
39fe203
fix return and add contrast
CarinaFo Sep 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions doc/api/statistics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ Non-parametric (clustering) resampling methods:
.. autosummary::
:toctree: ../generated/

ClusterResult
cluster_test
combine_adjacency
permutation_cluster_test
permutation_cluster_1samp_test
Expand Down
1 change: 1 addition & 0 deletions doc/changes/dev/12663.newfeature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add new API for cluster permutation statistics of sensor data: :func:`mne.stats.cluster_test`, see the tutorial :ref:`tut-new-cluster-test-api`, by `Carina Forster`_, `Sophie Herbst`_, :newcontrib:`Maximilien Chaumon`, and `Scott Huberty`_.
1 change: 1 addition & 0 deletions doc/changes/names.inc
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@
.. _Matti Toivonen: https://github.com/mattitoi
.. _Maureen Shader: https://github.com/mshader
.. _Mauricio Cespedes Tenorio: https://github.com/mcespedes99
.. _Maximilien Chaumon: https://github.com/dnacombo
.. _Melih Yayli: https://github.com/yaylim
.. _Michael Krause: https://github.com/octomike
.. _Michael Straube: https://github.com/mistraube
Expand Down
1 change: 1 addition & 0 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@
"RawPersyst": "mne.io.Raw",
"RawSNIRF": "mne.io.Raw",
"Calibration": "mne.preprocessing.eyetracking.Calibration",
"ClusterResult": "mne.stats.ClusterResult",
# dipy
"dipy.align.AffineMap": "dipy.align.imaffine.AffineMap",
"dipy.align.DiffeomorphicMap": "dipy.align.imwarp.DiffeomorphicMap",
Expand Down
1 change: 1 addition & 0 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ dependencies:
- eeglabio
- ffmpeg ==8.1.2
- filelock >=3.18.0
- formulaic
- h5io >=0.2.4
- h5py >=2.4
- imageio >=2.6.1
Expand Down
4 changes: 2 additions & 2 deletions mne/datasets/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@
# here: ↓↓↓↓↓↓↓↓
RELEASES = dict(
testing="0.176",
misc="0.27",
misc="0.30",
phantom_kit="0.2",
ucl_opm_auditory="0.2",
)
Expand Down Expand Up @@ -129,7 +129,7 @@
)
MNE_DATASETS["misc"] = dict(
archive_name=f"{MISC_VERSIONED}.tar.gz", # 'mne-misc-data',
hash="md5:e343d3a00cb49f8a2f719d14f4758afe",
hash="md5:201d35531d3c03701cf50e38bb73481f",
url=(
f"https://codeload.github.com/mne-tools/mne-misc-data/tar.gz/{RELEASES['misc']}"
),
Expand Down
4 changes: 4 additions & 0 deletions mne/stats/__init__.pyi
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
__all__ = [
"ClusterResult",
"_ci",
"_parametric_ci",
"_st_mask_from_s_inds",
"bonferroni_correction",
"bootstrap_confidence_interval",
"cluster_test",
"combine_adjacency",
"erp",
"f_mway_rm",
Expand All @@ -24,7 +26,9 @@ __all__ = [
from . import erp
from ._adjacency import combine_adjacency
from .cluster_level import (
ClusterResult,
_st_mask_from_s_inds,
cluster_test,
permutation_cluster_1samp_test,
permutation_cluster_test,
spatio_temporal_cluster_1samp_test,
Expand Down
Loading