From 0fb2cc7efdbde2d38a2d69fa6085d93a356c9620 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 7 Jun 2023 12:30:53 -0400 Subject: [PATCH 1/5] MAINT: Update roadmap [skip azp] [skip actions] [skip cirrus] --- doc/overview/roadmap.rst | 77 +++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 36 deletions(-) diff --git a/doc/overview/roadmap.rst b/doc/overview/roadmap.rst index 26a301383ce..ea64fffb6a2 100644 --- a/doc/overview/roadmap.rst +++ b/doc/overview/roadmap.rst @@ -14,21 +14,6 @@ Code projects, while others require more extensive work. Open ---- -.. _time-frequency-viz: - -Time-frequency visualization -^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -We should implement a viewer for interactive visualization of volumetric -source-time-frequency (5-D) maps on MRI slices (orthogonal 2D viewer). -`NutmegTrip `__ -(written by Sarang Dalal) provides similar functionality in Matlab in -conjunction with FieldTrip. Example of NutmegTrip's source-time-frequency mode -in action (click for link to YouTube): - -.. image:: https://i.ytimg.com/vi/xKdjZZphdNc/maxresdefault.jpg - :target: https://www.youtube.com/watch?v=xKdjZZphdNc - :width: 50% - Clustering statistics API ^^^^^^^^^^^^^^^^^^^^^^^^^ The current clustering statistics code has limited functionality. It should be @@ -73,30 +58,15 @@ as well as: - `BNCI Horizon `__ BCI datasets. -Integrate OpenMEEG via improved Python bindings -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -`OpenMEEG `__ is a state-of-the art solver for -forward modeling in the field of brain imaging with MEG/EEG. It solves -numerically partial differential equations (PDE). It is written in C++ with -Python bindings written in `SWIG `__. -The ambition of the project is to integrate OpenMEEG into MNE offering to MNE -the ability to solve more forward problems (cortical mapping, intracranial -recordings, etc.). Some software tasks that shall be completed: - -- Cleanup Python bindings (remove useless functions, check memory managements, - etc.) -- Write example scripts for OpenMEEG that automatically generate web pages as - for `MNE `__ -- Understand how MNE encodes info about sensors (location, orientation, - integration points etc.) and allow OpenMEEG to be used. -- Help package OpenMEEG for Debian/Ubuntu -- Help manage `the continuous integration system - `__ - - In progress ----------- +Eye-tracking support +^^^^^^^^^^^^^^^^^^^^ +We had a GSoC student funded to improve support for eye-tracking data, see +`the GSoC proposal `__ +for details. + Diversity, Equity, and Inclusion (DEI) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ MNE-Python is committed to recruiting and retaining a diverse pool of @@ -187,6 +157,41 @@ Our documentation has many minor issues, which can be found under the tag Completed --------- +Integrate OpenMEEG via improved Python bindings +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +`OpenMEEG `__ is a state-of-the art solver for +forward modeling in the field of brain imaging with MEG/EEG. It solves +numerically partial differential equations (PDE). It is written in C++ with +Python bindings written in `SWIG `__. +The ambition of the project is to integrate OpenMEEG into MNE offering to MNE +the ability to solve more forward problems (cortical mapping, intracranial +recordings, etc.). Tasks that have been completed: + +- Cleanup Python bindings (remove useless functions, check memory managements, + etc.) +- Understand how MNE encodes info about sensors (location, orientation, + integration points etc.) and allow OpenMEEG to be used. +- Modernize CI systems (e.g., using ``cibuildwheel``). + +See `OpenMEEG`_ for details. + +.. _time-frequency-viz: + +Time-frequency visualization +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +We implemented a viewer for interactive visualization of volumetric +source-time-frequency (5-D) maps on MRI slices (orthogonal 2D viewer). +`NutmegTrip `__ +(written by Sarang Dalal) provides similar functionality in MATLAB in +conjunction with FieldTrip. Example of NutmegTrip's source-time-frequency mode +in action (click for link to YouTube): + +.. image:: https://i.ytimg.com/vi/xKdjZZphdNc/maxresdefault.jpg + :target: https://www.youtube.com/watch?v=xKdjZZphdNc + :width: 50% + +See :func:``mne-gui-addons:mne_gui_addons.view_vol_stc`. + Distributed computing support ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `MNE-BIDS-Pipeline`_ has been enhanced with support for cloud computing From b94b6a9a16ec5a678181a9e866e8dff80572fe04 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 7 Jun 2023 13:36:23 -0400 Subject: [PATCH 2/5] BUG: reST [skip azp] [skip actions] [skip cirrus] --- doc/overview/roadmap.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/overview/roadmap.rst b/doc/overview/roadmap.rst index ea64fffb6a2..103234a5742 100644 --- a/doc/overview/roadmap.rst +++ b/doc/overview/roadmap.rst @@ -190,7 +190,7 @@ in action (click for link to YouTube): :target: https://www.youtube.com/watch?v=xKdjZZphdNc :width: 50% -See :func:``mne-gui-addons:mne_gui_addons.view_vol_stc`. +See :func:`mne-gui-addons:mne_gui_addons.view_vol_stc`. Distributed computing support ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From bb7a9456a7687dbb86b0454275ac4a66a3d00557 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 7 Jun 2023 13:39:34 -0400 Subject: [PATCH 3/5] FIX: Test --- mne/report/tests/test_report.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/mne/report/tests/test_report.py b/mne/report/tests/test_report.py index c7357b53c41..789fef10825 100644 --- a/mne/report/tests/test_report.py +++ b/mne/report/tests/test_report.py @@ -401,7 +401,10 @@ def test_report_raw_psd_and_date(tmp_path): def test_render_add_sections(renderer, tmp_path): """Test adding figures/images to section.""" pytest.importorskip("nibabel") - from pyvista.plotting import plotting + try: + from pyvista.plotting.plotter import _ALL_PLOTTERS + except Exception: # PV < 0.40 + from pyvista.plotting.plotting import _ALL_PLOTTERS report = Report(subjects_dir=subjects_dir) # Check add_figure functionality @@ -427,15 +430,15 @@ def test_render_add_sections(renderer, tmp_path): report.add_image(image="foobar.xxx", title="H") evoked = read_evokeds(evoked_fname, condition="Left Auditory", baseline=(-0.2, 0.0)) - n_before = len(plotting._ALL_PLOTTERS) + n_before = len(_ALL_PLOTTERS) fig = plot_alignment( evoked.info, trans_fname, subject="sample", subjects_dir=subjects_dir ) n_after = n_before + 1 - assert n_after == len(plotting._ALL_PLOTTERS) + assert n_after == len(_ALL_PLOTTERS) report.add_figure(fig=fig, title="random image") - assert n_after == len(plotting._ALL_PLOTTERS) # not closed + assert n_after == len(_ALL_PLOTTERS) # not closed assert repr(report) fname = tmp_path / "test.html" report.save(fname, open_browser=False) From b7e4b4db21e626d539e7a02a761d87adac67c048 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 7 Jun 2023 13:45:09 -0400 Subject: [PATCH 4/5] TST: Ping From 4a0475de39199a170650cb647050d4c68b371f86 Mon Sep 17 00:00:00 2001 From: Eric Larson Date: Wed, 7 Jun 2023 14:41:53 -0400 Subject: [PATCH 5/5] TST: Ping