Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
77 changes: 41 additions & 36 deletions doc/overview/roadmap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 <https://github.com/fieldtrip/fieldtrip/tree/master/contrib/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
Expand Down Expand Up @@ -73,30 +58,15 @@ as well as:
- `BNCI Horizon <https://bnci-horizon-2020.eu/database/data-sets>`__
BCI datasets.

Integrate OpenMEEG via improved Python bindings
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
`OpenMEEG <http://openmeeg.github.io>`__ 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 <https://github.com/openmeeg/openmeeg>`__.
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 <http://martinos.org/mne/stable/auto_examples/index.html>`__
- 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
<https://ci.inria.fr/>`__


In progress
-----------

Eye-tracking support
^^^^^^^^^^^^^^^^^^^^
We had a GSoC student funded to improve support for eye-tracking data, see
`the GSoC proposal <https://summerofcode.withgoogle.com/programs/2023/projects/nUP0jGKi>`__
for details.

Diversity, Equity, and Inclusion (DEI)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
MNE-Python is committed to recruiting and retaining a diverse pool of
Expand Down Expand Up @@ -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 <http://openmeeg.github.io>`__ 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 <https://github.com/openmeeg/openmeeg>`__.
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 <https://github.com/fieldtrip/fieldtrip/tree/master/contrib/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
Expand Down
11 changes: 7 additions & 4 deletions mne/report/tests/test_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
Expand Down