diff --git a/README.rst b/README.rst index 962887a4e62..f8fb3ad81d6 100644 --- a/README.rst +++ b/README.rst @@ -74,12 +74,12 @@ The minimum required dependencies to run MNE-Python are: - `Python `__ ≥ 3.10 - `NumPy `__ ≥ 1.26 -- `SciPy `__ ≥ 1.11 +- `SciPy `__ ≥ 1.13 - `Matplotlib `__ ≥ 3.8 - `Pooch `__ ≥ 1.5 -- `tqdm `__ -- `Jinja2 `__ -- `decorator `__ +- `tqdm `__ ≥ 4.66 +- `Jinja2 `__ ≥ 3.1 +- `decorator `__ ≥ 5.1 - `lazy-loader `__ ≥ 0.3 - `packaging `__ diff --git a/doc/changes/v1.12.rst b/doc/changes/v1.12.rst index bfce5f55252..22fea69fcca 100644 --- a/doc/changes/v1.12.rst +++ b/doc/changes/v1.12.rst @@ -23,12 +23,12 @@ Bugfixes - Fix bug where :func:`mne.viz.plot_raw` would access incorrect matplotlib attributes, by :newcontrib:`Thomas Caswell`. (`#13606 `__) - Allow reading alternative nasion label ("Nz") in SNIRF files when parsing landmarkPos3D, by :newcontrib:`Aniket Singh Yadav`. (`#13672 `__) - Change default-pick 'data' for "eyegaze" to false, following existing documentation. by :newcontrib:`Benedikt Ehinger`. (`#13723 `__) - by :newcontrib:`Christoph Huber-Huber`. (`#13759 `__) - Fix bug in when reading EDF/GDF files where non-positive lowpass values were not handled correctly, now mapping them to the Nyquist frequency to prevent errors during plotting, by :newcontrib:`Hansuja Budhiraja`. (`#13769 `__) - Clearer error message when no ECG events are found in :func:`~mne.preprocessing.find_ecg_events`, by :newcontrib:`Hansuja Budhiraja`. (`#13771 `__) - Fix bug in 3D overlay compositing that could produce NaN RGBA values when the resulting alpha is zero, by `Pragnya Khandelwal`_. (`#13714 `__) - Make :meth:`~mne.io.Raw.interpolate_bads` method flexible (ignore, warn, raise) about how to handle interpolation of channels with invalid positions, by :newcontrib:`Himanshu Mahor`. (`#13518 `__) - Fix bug where outdated ``seghead.mgz`` files were reused in :func:`mne.bem.make_scalp_surfaces`. Add a new parameter ``reuse_seghead`` to control whether to reuse existing ``seghead.mgz`` files, by `Victor Ferat`_. (`#13024 `__) +- When interpolating from axial to planar gradiometers, set info fields "chs", "ch_names", and "nchan", according to the interpolated data, reset info fields "device_info", "helium_info", "gantry_angle", "ctf_head_t", "dev_ctf_t", "bads", "projs", and "comps" to [] or None, and preserve all remaining info fields. by :newcontrib:`Christoph Huber-Huber`. (`#13759 `__) - Clarified an internal forward-model invariant in ``mne.forward._lead_dots`` by asserting that ``rref`` is ``None`` on the current code path, by :newcontrib:`Pragnya Khandelwal`. (`#13764 `__) - Fix bug preventing :func:`mne.time_frequency.read_spectrum` from reading saved :class:`mne.time_frequency.Spectrum` objects created from :meth:`mne.time_frequency.EpochsSpectrum.average`, by `Thomas Binns`_. (`#13521 `__) - Fix bug where :func:`mne.chpi.refit_hpi` did not take ``gof_limit`` into account when fitting HPI order, by `Eric Larson`_ (`#13525 `__) @@ -50,9 +50,6 @@ Bugfixes - Fix annotation removal logic in matplotlib based figures to correctly handle non-contiguous visible annotations, by `Johannes Herforth`_. (`#13703 `__) - Support mixed-type concatenation of :class:`mne.Annotations` and :class:`mne.HEDAnnotations`, preserving HED strings in ``extras["HED"]``, by `Bruno Aristimunha`_. (`#13736 `__) - Improved handling of dropped epochs in :func:`mne.viz.plot_ica_properties` and :meth:`mne.preprocessing.ICA.plot_properties`, allowing plots to be generated even with many bad annotations, by `Clemens Brunner`_. (`#13746 `__) -- When interpolating from axial to planar gradiometers, set info fields "chs", "ch_names", and "nchan", according to the interpolated data, - reset info fields "device_info", "helium_info", "gantry_angle", "ctf_head_t", "dev_ctf_t", "bads", "projs", and "comps" to [] or None, and - preserve all remaining info fields. - Avoid some unnecessary computations when ``n_jobs=None`` is equivalent to ``n_jobs=1``, by `Simon Kern`_. (`#13777 `__) - Fix clipped annotations and x-axis label in :meth:`mne.io.Raw.plot`, by `Clemens Brunner`_. (`#13787 `__) - Fix bug with reading large CNT files by adding ``recompute_n_samples`` to :func:`mne.io.read_raw_cnt` with stricter ``data_format`` handling by `Teon Brooks`_ and `Eric Larson`_. (`#13548 `__) @@ -67,7 +64,7 @@ New features - Add support for multi-wavelength NIRS processing to :func:`mne.preprocessing.nirs.beer_lambert_law`, :func:`mne.preprocessing.nirs.scalp_coupling_index`, and SNIRF reader :func:`mne.io.read_raw_snirf`, by :newcontrib:`Tamas Fehervari`. (`#13408 `__) - Add an optional ``show_channel_names`` parameter to :meth:`mne.viz.plot_alignment` to overlay channel labels at sensor locations in the 3D alignment view, by :newcontrib:`Aman Srivastava`. (`#13570 `__) - Add support for reading BCI2000 ``.dat`` files via :func:`mne.io.read_raw_bci2k`, and an example :file:`examples/io/read_bci2k.py` for downloading and visualizing BCI2000 data, by :newcontrib:`Hansuja Budhiraja`. (`#13699 `__) -- Add support for scalar or per-vertex ``alpha`` (shape ``(n_vertices,)``) in distributed overlays, including validation/errors for invalid shapes, tests, and a visualization example in ``examples/visualization/brain.py`` using :meth:`mne.viz.Brain.add_data`, by :newcontrib:`Pragnya Khandelwal`. (:gh:`13706`) (`#13706 `__) +- Add support for scalar or per-vertex ``alpha`` (shape ``(n_vertices,)``) in distributed overlays, including validation/errors for invalid shapes, tests, and a visualization example in ``examples/visualization/brain.py`` using :meth:`mne.viz.Brain.add_data`, by :newcontrib:`Pragnya Khandelwal`. (`#13706 `__) - Added ``cmap`` parameter to ``Evoked.animate_topomap`` to allow user-specified colormaps., by :newcontrib:`Hansuja Budhiraja`. (`#13756 `__) - Allow per-channel color overrides in :func:`mne.viz.plot_raw` via channel name keys in the ``color`` dict, by :newcontrib:`Hansuja Budhiraja`. (`#13765 `__) - Add example showing how to interoperate with R using ``rpy2``, by :newcontrib:`Aman Srivastava`. (`#13729 `__) @@ -83,7 +80,7 @@ Other changes - Created a quality control report tutorial :ref:`tut-qc-report`, by :newcontrib:`varshaa-1616`. (`#13532 `__) - Improved docs for :func:`mne.io.read_raw_nirx`, by :newcontrib:`Natneal B`. (`#13541 `__) - Refactor f-strings in ``mne/tests/test_import_nesting.py``, by :newcontrib:`Shruti Bhale`. (`#13551 `__) -- Remove legacy Python-version compatibility checks in ``mne.utils.misc._empty_hash`` now that ``usedforsecurity=False`` is always supported, by :newcontrib:`Varun Kasyap Pentamaraju` (:gh:`13566`). (`#13566 `__) +- Remove legacy Python-version compatibility checks in ``mne.utils.misc._empty_hash`` now that ``usedforsecurity=False`` is always supported, by :newcontrib:`Varun Kasyap Pentamaraju`. (`#13566 `__) - Add optional low-variance ("hat") regularization to :func:`mne.stats.f_oneway` via new ``sigma`` and ``method`` parameters, by :newcontrib:`Aniket Singh Yadav`. (`#13698 `__) - Improve documentation of return values to clarify that methods typically return the original instance type for chaining purposes, by :newcontrib:`Aniket Singh Yadav`. (`#13674 `__) - Examples Using section quirk fix in documentation, by :newcontrib:`Himanshu Mahor`. (`#13596 `__) diff --git a/doc/install/installers.rst b/doc/install/installers.rst index e976b1f2081..dfc87c8c3f2 100644 --- a/doc/install/installers.rst +++ b/doc/install/installers.rst @@ -17,7 +17,7 @@ Platform-specific installers :class-content: text-center :name: install-linux - .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0/MNE-Python-1.12.0_0-Linux.sh + .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0-post1/MNE-Python-1.12.0_1-Linux.sh :ref-type: ref :color: primary :shadow: @@ -25,20 +25,20 @@ Platform-specific installers |cloud-arrow-down| |ensp| Download for Linux - **Supported platforms:** Ubuntu 18.04 (Bionic Beaver) and newer + **Supported platforms:** Ubuntu 20.04 (Focal Fossa) and newer Run the installer in a terminal via: .. code-block:: console - $ sh ./MNE-Python-1.12.0_0-Linux.sh + $ sh ./MNE-Python-1.12.0_1-Linux.sh .. tab-item:: macOS (Intel) :class-content: text-center :name: install-macos-intel - .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0/MNE-Python-1.12.0_0-macOS_Intel.pkg + .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0-post1/MNE-Python-1.12.0_1-macOS_Intel.pkg :ref-type: ref :color: primary :shadow: @@ -54,7 +54,7 @@ Platform-specific installers :class-content: text-center :name: install-macos-apple - .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0/MNE-Python-1.12.0_0-macOS_M1.pkg + .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0-post1/MNE-Python-1.12.0_1-macOS_M1.pkg :ref-type: ref :color: primary :shadow: @@ -70,7 +70,7 @@ Platform-specific installers :class-content: text-center :name: install-windows - .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0/MNE-Python-1.12.0_0-Windows.exe + .. button-link:: https://github.com/mne-tools/mne-installers/releases/download/v1.12.0-post1/MNE-Python-1.12.0_1-Windows.exe :ref-type: ref :color: primary :shadow: @@ -128,6 +128,14 @@ bundles to the ``Applications`` folder on macOS. particularly long on Apple Silicon-based computers. Subsequent runs should usually be much faster. +The installer sets up a standard ``conda`` environment. If you want to activate the +environment manually (e.g., in headless setups) you can do as you would for any other +conda environment: + +.. code-block:: bash + + $ source /path-to-installation-dir/bin/activate + Uninstallation ^^^^^^^^^^^^^^ @@ -156,7 +164,7 @@ To remove the MNE-Python distribution provided by our installers above: .. code-block:: bash $ which python - /home/username/mne-python/1.12.0_0/bin/python + /home/username/mne-python/1.12.0_1/bin/python $ rm -Rf /home/$USER/mne-python $ rm /home/$USER/.local/share/applications/mne-python-*.desktop @@ -170,7 +178,7 @@ To remove the MNE-Python distribution provided by our installers above: .. code-block:: bash $ which python - /Users/username/Applications/MNE-Python/1.12.0_0/.mne-python/bin/python + /Users/username/Applications/MNE-Python/1.12.0_1/.mne-python/bin/python $ rm -Rf /Users/$USER/Applications/MNE-Python # if user-specific $ rm -Rf /Applications/MNE-Python # if system-wide diff --git a/doc/sphinxext/related_software.txt b/doc/sphinxext/related_software.txt index 8e282e64d96..2c38c82c089 100644 --- a/doc/sphinxext/related_software.txt +++ b/doc/sphinxext/related_software.txt @@ -1,5 +1,5 @@ -# cross-domain-saliency-maps requirements are onerous (torch and tensorflow) -# so we don't add it here, and install it separately in circleci_dependencies.sh +# related software with onerous dependencies (e.g., torch and tensorflow) +# should be added to related_software_nodeps.txt alphaCSC autoreject bycycle @@ -34,6 +34,7 @@ pycrostates pyprep pyriemann python-picard +rsatoolbox sesameeg sleepecg tensorpac diff --git a/mne/gui/tests/test_coreg.py b/mne/gui/tests/test_coreg.py index 4800bea29e1..feb28ed770f 100644 --- a/mne/gui/tests/test_coreg.py +++ b/mne/gui/tests/test_coreg.py @@ -34,7 +34,12 @@ snirf_nirsport2_raw_path = ( data_path / "SNIRF" / "NIRx" / "NIRSport2" / "1.0.3" / "2021-05-05_001.snirf" ) - +# PyVista <-> NumPy 2.4 dev (https://github.com/pyvista/pyvista/issues/8484) +pytestmark = [ + pytest.mark.filterwarnings( + "ignore:Setting the dtype on a NumPy array.*:DeprecationWarning" + ), +] pytest.importorskip("nibabel")