diff --git a/.github/workflows/credit.yml b/.github/workflows/credit.yml index f55cb535481..28d16ca2d37 100644 --- a/.github/workflows/credit.yml +++ b/.github/workflows/credit.yml @@ -3,7 +3,7 @@ name: Contributor credit on: # yamllint disable-line rule:truthy # Scheduled actions only run on the main repo branch, which is exactly what we want schedule: - - cron: '0 0 * * 0' # At 00:00 on Sunday + - cron: '0 0 1 * *' # At 00:00 on day-of-month 1 workflow_dispatch: permissions: diff --git a/.mailmap b/.mailmap index accf48d96e5..35425987578 100644 --- a/.mailmap +++ b/.mailmap @@ -249,7 +249,7 @@ Nathalie Gayraud Nathalie Naveen <172697+naveensrinivasan@users.noreply.github.com> Nicolas Barascud nbara Nicolas Barascud Nicolas Barascud <10333715+nbara@users.noreply.github.com> -Nicolas Fourcaud-Trocmé +Nicolas Fourcaud-Trocmé Fourcaud-Trocmé Nicolas Gensollen Gensollen Nicolas Legrand Legrand Nicolas Nicolas Legrand LegrandNico @@ -259,6 +259,7 @@ Niklas Wilming Niklas Wilming chapochn <23103092+chapochn@users.noreply.github.com> Nikolai Chapochnikov <23103092+chapochn@users.noreply.github.com> Nikolai M Chapochnikov <23103092+chapochn@users.noreply.github.com> Nikolas Chalas Nichalas +Noah Markowitz <34498671+nmarkowitz@users.noreply.github.com> NoahMarkowitz <34498671+nmarkowitz@users.noreply.github.com> Olaf Hauk Olaf Hauk Olaf Hauk olafhauk Omer Shubi Omer S diff --git a/CITATION.cff b/CITATION.cff index bea700c0427..a55d21e00c0 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,9 +1,9 @@ cff-version: 1.2.0 title: "MNE-Python" message: "If you use this software, please cite both the software itself, and the paper listed in the preferred-citation field." -version: 1.7.1 -date-released: "2024-06-14" -commit: 7c00b56d077eaf6a2ca691eadd567d974865a03c +version: 1.8.0 +date-released: "2024-08-18" +commit: 9a760d76971e845b67b619804c1156cc04c9c948 doi: 10.5281/zenodo.592483 keywords: - MEG @@ -32,7 +32,7 @@ authors: - family-names: Jas given-names: Mainak - family-names: Brooks - given-names: Teon + given-names: Teon L - family-names: Sassenhagen given-names: Jona - family-names: McCloy @@ -81,8 +81,6 @@ authors: given-names: Mikołaj - family-names: Westner given-names: Britta - - family-names: Billinger - given-names: Martin - family-names: Wakeman given-names: Dan G - family-names: Strohmeier @@ -107,6 +105,8 @@ authors: given-names: Fede - family-names: Nurminen given-names: Jussi + - family-names: Billinger + given-names: Martin - family-names: Montoya given-names: Jair - family-names: Woodman @@ -115,20 +115,20 @@ authors: given-names: Ingoo - family-names: Schulz given-names: Martin - - family-names: Foti - given-names: Nick - family-names: Huberty given-names: Scott + - family-names: Foti + given-names: Nick - family-names: Nangini given-names: Cathy - family-names: García Alanis given-names: José C + - family-names: Orfanos + given-names: Dimitri Papadopoulos - family-names: Hauk given-names: Olaf - family-names: Maddox given-names: Ross - - family-names: Orfanos - given-names: Dimitri Papadopoulos - family-names: LaPlante given-names: Roan - family-names: Drew @@ -137,12 +137,15 @@ authors: given-names: Christoph - family-names: Dumas given-names: Guillaume + - name: Martin - family-names: Benerradi given-names: Johann - family-names: Hartmann given-names: Thomas - family-names: Ort given-names: Eduard + - family-names: Billinger + given-names: Martin - family-names: Pasler given-names: Paul - family-names: Repplinger @@ -179,6 +182,8 @@ authors: given-names: Yaroslav - family-names: Luo given-names: Yu-Han + - family-names: Gramfort + given-names: Alexandre - family-names: Kasper given-names: Johannes - family-names: Doelling @@ -189,8 +194,6 @@ authors: given-names: Tanay - family-names: Nunes given-names: Adonay - - family-names: Gramfort - given-names: Alexandre - family-names: Gütlin given-names: Dirk - family-names: Heinila @@ -266,6 +269,8 @@ authors: given-names: Louis - family-names: Gerster given-names: Moritz + - family-names: Alibou + given-names: Nabil - family-names: Gayraud given-names: Nathalie - family-names: Ward @@ -294,6 +299,8 @@ authors: given-names: Evgenii - family-names: Mamashli given-names: Fahimeh + - family-names: O'Neill + given-names: George - family-names: Marinato given-names: Giorgio - family-names: Anevar @@ -314,8 +321,6 @@ authors: given-names: Lorenz - family-names: Dovgialo given-names: Marian - - family-names: Alibou - given-names: Nabil - family-names: Barascud given-names: Nicolas - family-names: Legrand @@ -332,6 +337,8 @@ authors: given-names: Steve - family-names: Bierer given-names: Steven + - family-names: Binns + given-names: Thomas S - family-names: Binns given-names: Thomas Samuel - family-names: Stenner @@ -364,8 +371,6 @@ authors: given-names: Ezequiel - family-names: Belonosov given-names: Gennadiy - - family-names: O'Neill - given-names: George - family-names: Schiratti given-names: Jean-Baptiste - family-names: Evans @@ -395,6 +400,8 @@ authors: given-names: Matt - family-names: Eberlein given-names: Matthias + - family-names: Žák + given-names: Michal - family-names: Sherif given-names: Mohamed - family-names: Kozhemiako @@ -409,6 +416,8 @@ authors: given-names: Peter J - family-names: Ablin given-names: Pierre + - family-names: Chu + given-names: Qian - family-names: Bertrand given-names: Quentin - family-names: Shoorangiz @@ -486,7 +495,7 @@ authors: - family-names: Braboszcz given-names: Claire - family-names: Schad - given-names: Daniel Carlström + given-names: Daniel C - family-names: Hasegan given-names: Daniel - family-names: Tse @@ -525,6 +534,8 @@ authors: given-names: Etienne - family-names: Goldstein given-names: Evgeny + - family-names: Negahbani + given-names: Farzin - family-names: Zamberlan given-names: Federico - family-names: Hofer @@ -554,6 +565,8 @@ authors: given-names: Hyonyoung - family-names: Elmas given-names: Hüseyin Orkun + - family-names: AZZ + given-names: Ilian - family-names: Machairas given-names: Ilias - family-names: Zubarev @@ -609,14 +622,13 @@ authors: - family-names: Koculak given-names: Marcin - family-names: Henney - given-names: Mark Alexander - - family-names: Oberg + given-names: Mark + - family-names: BaBer given-names: Martin - - family-names: Schulz + - family-names: Oberg given-names: Martin - family-names: van Harmelen given-names: Martin - - name: MartinBaBer - family-names: Courtemanche given-names: Matt - family-names: Tucker @@ -639,6 +651,8 @@ authors: given-names: Mingjian - family-names: Daneshzand given-names: Mohammad + - family-names: Fourcaud-Trocmé + given-names: Nicolas - family-names: Gensollen given-names: Nicolas - family-names: Proulx @@ -647,6 +661,8 @@ authors: given-names: Niels - family-names: Chalas given-names: Nikolas + - family-names: Markowitz + given-names: Noah - family-names: Shubi given-names: Omer - family-names: Mainar @@ -657,8 +673,6 @@ authors: given-names: Pedro - family-names: Das given-names: Proloy - - family-names: Chu - given-names: Qian - family-names: Li given-names: Quanliang - family-names: Barthélemy @@ -747,6 +761,8 @@ authors: given-names: Velu Prabhakar - family-names: Turner given-names: Will + - family-names: Zuazo + given-names: Xabier de - family-names: Xia given-names: Xiaokai - family-names: Zuo diff --git a/codemeta.json b/codemeta.json index c7ec3537dbf..0351ca98a1c 100644 --- a/codemeta.json +++ b/codemeta.json @@ -5,11 +5,11 @@ "codeRepository": "git+https://github.com/mne-tools/mne-python.git", "dateCreated": "2010-12-26", "datePublished": "2014-08-04", - "dateModified": "2024-06-14", - "downloadUrl": "https://github.com/mne-tools/mne-python/archive/v1.7.1.zip", + "dateModified": "2024-08-18", + "downloadUrl": "https://github.com/mne-tools/mne-python/archive/v1.8.0.zip", "issueTracker": "https://github.com/mne-tools/mne-python/issues", "name": "MNE-Python", - "version": "1.7.1", + "version": "1.8.0", "description": "MNE-Python is an open-source Python package for exploring, visualizing, and analyzing human neurophysiological data. It provides methods for data input/output, preprocessing, visualization, source estimation, time-frequency analysis, connectivity analysis, machine learning, and statistics.", "applicationCategory": "Neuroscience", "developmentStatus": "active", @@ -38,9 +38,9 @@ ], "softwareRequirements": [ "python>=3.9", - "numpy>=1.21.2", - "scipy>=1.7.1", - "matplotlib>=3.5.0", + "numpy>=1.23,<3", + "scipy>=1.9", + "matplotlib>=3.6", "tqdm", "pooch>=1.5", "decorator", @@ -88,7 +88,7 @@ { "@type":"Person", "email":"teon.brooks@gmail.com", - "givenName":"Teon", + "givenName":"Teon L", "familyName": "Brooks" }, { @@ -235,12 +235,6 @@ "givenName":"Britta", "familyName": "Westner" }, - { - "@type":"Person", - "email":"martin.billinger@tugraz.at", - "givenName":"Martin", - "familyName": "Billinger" - }, { "@type":"Person", "email":"dgwakeman@gmail.com", @@ -313,6 +307,12 @@ "givenName":"Jussi", "familyName": "Nurminen" }, + { + "@type":"Person", + "email":"flKazemakase@gmail.com", + "givenName":"Martin", + "familyName": "Billinger" + }, { "@type":"Person", "email":"montoya.jair.m@gmail.com", @@ -333,22 +333,22 @@ }, { "@type":"Person", - "email":"dev@earthman-music.de", + "email":"dev@mgschulz.de", "givenName":"Martin", "familyName": "Schulz" }, - { - "@type":"Person", - "email":"nfoti01@gmail.com", - "givenName":"Nick", - "familyName": "Foti" - }, { "@type":"Person", "email":"", "givenName":"Scott", "familyName": "Huberty" }, + { + "@type":"Person", + "email":"nfoti01@gmail.com", + "givenName":"Nick", + "familyName": "Foti" + }, { "@type":"Person", "email":"cnangini@gmail.com", @@ -361,6 +361,12 @@ "givenName":"José C", "familyName": "García Alanis" }, + { + "@type":"Person", + "email":"", + "givenName":"Dimitri Papadopoulos", + "familyName": "Orfanos" + }, { "@type":"Person", "email":"olaf.hauk@mrc-cbu.cam.ac.uk", @@ -373,12 +379,6 @@ "givenName":"Ross", "familyName": "Maddox" }, - { - "@type":"Person", - "email":"", - "givenName":"Dimitri Papadopoulos", - "familyName": "Orfanos" - }, { "@type":"Person", "email":"aestrivex@gmail.com", @@ -387,7 +387,7 @@ }, { "@type":"Person", - "email":"", + "email":"ashdrew@uw.edu", "givenName":"Ashley", "familyName": "Drew" }, @@ -403,6 +403,12 @@ "givenName":"Guillaume", "familyName": "Dumas" }, + { + "@type":"Person", + "email":"martin.billinger@tugraz.at", + "givenName":"", + "familyName": "Martin" + }, { "@type":"Person", "email":"johann.benerradi@gmail.com", @@ -421,6 +427,12 @@ "givenName":"Eduard", "familyName": "Ort" }, + { + "@type":"Person", + "email":"flkazemakase@gmail.com", + "givenName":"Martin", + "familyName": "Billinger" + }, { "@type":"Person", "email":"paul@ppasler.de", @@ -529,6 +541,12 @@ "givenName":"Yu-Han", "familyName": "Luo" }, + { + "@type":"Person", + "email":"agramfort@fb.com", + "givenName":"Alexandre", + "familyName": "Gramfort" + }, { "@type":"Person", "email":"jeythekey@tutanota.com", @@ -559,12 +577,6 @@ "givenName":"Adonay", "familyName": "Nunes" }, - { - "@type":"Person", - "email":"agramfort@fb.com", - "givenName":"Alexandre", - "familyName": "Gramfort" - }, { "@type":"Person", "email":"", @@ -741,7 +753,7 @@ }, { "@type":"Person", - "email":"", + "email":"kimjico@gmail.com", "givenName":"Cora", "familyName": "Kim" }, @@ -793,6 +805,12 @@ "givenName":"Moritz", "familyName": "Gerster" }, + { + "@type":"Person", + "email":"", + "givenName":"Nabil", + "familyName": "Alibou" + }, { "@type":"Person", "email":"nathalie.gayraud@inria.fr", @@ -807,7 +825,7 @@ }, { "@type":"Person", - "email":"", + "email":"santeri.ruuskanen@aalto.fi", "givenName":"Santeri", "familyName": "Ruuskanen" }, @@ -877,6 +895,12 @@ "givenName":"Fahimeh", "familyName": "Mamashli" }, + { + "@type":"Person", + "email":"g.o'neill@ucl.ac.uk", + "givenName":"George", + "familyName": "O'Neill" + }, { "@type":"Person", "email":"giorgio.marinato@unitn.it", @@ -933,16 +957,10 @@ }, { "@type":"Person", - "email":"mdovgialo@fabrizzio.zfb.fuw.edu.pl", + "email":"marian.dowgialo@gmail.com", "givenName":"Marian", "familyName": "Dovgialo" }, - { - "@type":"Person", - "email":"", - "givenName":"Nabil", - "familyName": "Alibou" - }, { "@type":"Person", "email":"", @@ -991,6 +1009,12 @@ "givenName":"Steven", "familyName": "Bierer" }, + { + "@type":"Person", + "email":"t.s.binns@outlook.com", + "givenName":"Thomas S", + "familyName": "Binns" + }, { "@type":"Person", "email":"t.s.binns@outlook.com", @@ -1077,7 +1101,7 @@ }, { "@type":"Person", - "email":"", + "email":"e.mikulan@gmail.com", "givenName":"Ezequiel", "familyName": "Mikulan" }, @@ -1087,12 +1111,6 @@ "givenName":"Gennadiy", "familyName": "Belonosov" }, - { - "@type":"Person", - "email":"g.o'neill@ucl.ac.uk", - "givenName":"George", - "familyName": "O'Neill" - }, { "@type":"Person", "email":"jean.baptiste.schiratti@gmail.com", @@ -1149,7 +1167,7 @@ }, { "@type":"Person", - "email":"", + "email":"lukas.gemein@gmx.de", "givenName":"Lukas", "familyName": "Gemein" }, @@ -1183,6 +1201,12 @@ "givenName":"Matthias", "familyName": "Eberlein" }, + { + "@type":"Person", + "email":"", + "givenName":"Michal", + "familyName": "Žák" + }, { "@type":"Person", "email":"molpsychistb@gmail.com", @@ -1225,6 +1249,12 @@ "givenName":"Pierre", "familyName": "Ablin" }, + { + "@type":"Person", + "email":"", + "givenName":"Qian", + "familyName": "Chu" + }, { "@type":"Person", "email":"quentinbertrand54@gmail.com", @@ -1287,7 +1317,7 @@ }, { "@type":"Person", - "email":"", + "email":"timon.merk@charite.de", "givenName":"Timon", "familyName": "Merk" }, @@ -1377,7 +1407,7 @@ }, { "@type":"Person", - "email":"", + "email":"anna.padee@gmail.com", "givenName":"Anna", "familyName": "Padee" }, @@ -1462,7 +1492,7 @@ { "@type":"Person", "email":"daniel.c.schad@protonmail.com", - "givenName":"Daniel Carlström", + "givenName":"Daniel C", "familyName": "Schad" }, { @@ -1551,7 +1581,7 @@ }, { "@type":"Person", - "email":"", + "email":"enricovarano@gmail.com", "givenName":"Enrico", "familyName": "Varano" }, @@ -1579,6 +1609,12 @@ "givenName":"Evgeny", "familyName": "Goldstein" }, + { + "@type":"Person", + "email":"farzin.negahbani@gmail.com", + "givenName":"Farzin", + "familyName": "Negahbani" + }, { "@type":"Person", "email":"", @@ -1641,7 +1677,7 @@ }, { "@type":"Person", - "email":"", + "email":"hasrat407@gmail.com", "givenName":"Hasrat Ali", "familyName": "Arzoo" }, @@ -1669,6 +1705,12 @@ "givenName":"Hüseyin Orkun", "familyName": "Elmas" }, + { + "@type":"Person", + "email":"", + "givenName":"Ilian", + "familyName": "AZZ" + }, { "@type":"Person", "email":"", @@ -1834,20 +1876,20 @@ { "@type":"Person", "email":"mah@optoceutics.com", - "givenName":"Mark Alexander", + "givenName":"Mark", "familyName": "Henney" }, { "@type":"Person", - "email":"", + "email":"Martinb.nmb@gmail.com", "givenName":"Martin", - "familyName": "Oberg" + "familyName": "BaBer" }, { "@type":"Person", - "email":"dev@mgschulz.de", + "email":"", "givenName":"Martin", - "familyName": "Schulz" + "familyName": "Oberg" }, { "@type":"Person", @@ -1855,12 +1897,6 @@ "givenName":"Martin", "familyName": "van Harmelen" }, - { - "@type":"Person", - "email":"Martinb.nmb@gmail.com", - "givenName":"", - "familyName": "MartinBaBer" - }, { "@type":"Person", "email":"", @@ -1881,7 +1917,7 @@ }, { "@type":"Person", - "email":"", + "email":"matthias.dold@gmx.net", "givenName":"Matthias", "familyName": "Dold" }, @@ -1927,6 +1963,12 @@ "givenName":"Mohammad", "familyName": "Daneshzand" }, + { + "@type":"Person", + "email":"celicolimmo@free.fr", + "givenName":"Nicolas", + "familyName": "Fourcaud-Trocmé" + }, { "@type":"Person", "email":"nicolas.gensollen@gmail.com", @@ -1951,6 +1993,12 @@ "givenName":"Nikolas", "familyName": "Chalas" }, + { + "@type":"Person", + "email":"", + "givenName":"Noah", + "familyName": "Markowitz" + }, { "@type":"Person", "email":"omer.shubi@gmail.com", @@ -1981,12 +2029,6 @@ "givenName":"Proloy", "familyName": "Das" }, - { - "@type":"Person", - "email":"", - "givenName":"Qian", - "familyName": "Chu" - }, { "@type":"Person", "email":"glia@dtu.dk", @@ -2193,7 +2235,7 @@ }, { "@type":"Person", - "email":"", + "email":"twang5@swarthmore.edu", "givenName":"T", "familyName": "Wang" }, @@ -2251,6 +2293,12 @@ "givenName":"Will", "familyName": "Turner" }, + { + "@type":"Person", + "email":"xabier@zuazo.org", + "givenName":"Xabier de", + "familyName": "Zuazo" + }, { "@type":"Person", "email":"xia@xiaokai.me", diff --git a/doc/_static/versions.json b/doc/_static/versions.json index 48e4006f494..ba4f9fc5d99 100644 --- a/doc/_static/versions.json +++ b/doc/_static/versions.json @@ -1,14 +1,19 @@ [ { - "name": "1.8 (devel)", + "name": "1.9 (devel)", "version": "dev", "url": "https://mne.tools/dev/" }, { - "name": "1.7 (stable)", + "name": "1.8 (stable)", "version": "stable", "url": "https://mne.tools/stable/" }, + { + "name": "1.7", + "version": "1.7", + "url": "https://mne.tools/1.7/" + }, { "name": "1.6", "version": "1.6", diff --git a/doc/changes/devel.rst b/doc/changes/devel.rst deleted file mode 100644 index 0e80d522b51..00000000000 --- a/doc/changes/devel.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. See doc/development/contributing.rst for description of how to add entries. - -.. _current: - -.. towncrier-draft-entries:: Version |release| (development) diff --git a/doc/changes/devel/12300.apichange.rst b/doc/changes/devel/12300.apichange.rst deleted file mode 100644 index f9d082a4b96..00000000000 --- a/doc/changes/devel/12300.apichange.rst +++ /dev/null @@ -1,3 +0,0 @@ -A new argument ``events_as_annotations`` has been added to :func:`mne.io.read_raw_egi` -with a default value of ``False`` that will change to ``True`` in version 1.9, by -`Scott Huberty`_ and `Eric Larson`_. diff --git a/doc/changes/devel/12300.bugfix.rst b/doc/changes/devel/12300.bugfix.rst deleted file mode 100644 index c5c167d0114..00000000000 --- a/doc/changes/devel/12300.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix bug where an event that occurred only once was excluded in :func:`mne.io.read_raw_egi`, by :newcontrib:`Ping-Keng Jao`. diff --git a/doc/changes/devel/12338.newfeature.rst b/doc/changes/devel/12338.newfeature.rst deleted file mode 100644 index 899884d8b61..00000000000 --- a/doc/changes/devel/12338.newfeature.rst +++ /dev/null @@ -1 +0,0 @@ -Adding :meth:`mne.channels.Layout.copy` and :meth:`mne.channels.Layout.pick` to copy and select channels from a :class:`mne.channels.Layout` object. Plotting 2D topographies of evoked responses with :func:`mne.viz.plot_evoked_topo` with both arguments ``layout`` and ``exclude`` now ignores excluded channels from the :class:`mne.channels.Layout`. By `Mathieu Scheltienne`_. diff --git a/doc/changes/devel/12554.dependency.rst b/doc/changes/devel/12554.dependency.rst deleted file mode 100644 index 5c77efd325f..00000000000 --- a/doc/changes/devel/12554.dependency.rst +++ /dev/null @@ -1,6 +0,0 @@ -Minimum versions for dependencies were bumped to those ~2 years old at the time of release (by `Eric Larson`_), including: - -- NumPy ≥ 1.23 -- SciPy ≥ 1.9 -- Matplotlib ≥ 3.6 -- scikit-learn ≥ 1.1 \ No newline at end of file diff --git a/doc/changes/devel/12556.newfeature.rst b/doc/changes/devel/12556.newfeature.rst deleted file mode 100644 index cbd86d984e7..00000000000 --- a/doc/changes/devel/12556.newfeature.rst +++ /dev/null @@ -1 +0,0 @@ -In :class:`~mne.Report` you can now easily navigate through images and figures connected to a slider with the left and right arrow keys. Clicking on the slider or respective image will focus the slider, enabling keyboard navigation, by `Richard Höchenberger`_ diff --git a/doc/changes/devel/12561.bugfix.rst b/doc/changes/devel/12561.bugfix.rst deleted file mode 100644 index e647b2770e1..00000000000 --- a/doc/changes/devel/12561.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix scrolling behavior in :class:`~mne.Report` when clicking on a TOC entry multiple times, by `Richard Höchenberger`_. diff --git a/doc/changes/devel/12562.bugfix.rst b/doc/changes/devel/12562.bugfix.rst deleted file mode 100644 index 8b58e1bc109..00000000000 --- a/doc/changes/devel/12562.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix bug where :func:`mne.decoding.get_coef` did not work properly with :class:`mne.decoding.CSP`, by `Eric Larson`_. diff --git a/doc/changes/devel/12569.other.rst b/doc/changes/devel/12569.other.rst deleted file mode 100644 index acbd7d79663..00000000000 --- a/doc/changes/devel/12569.other.rst +++ /dev/null @@ -1 +0,0 @@ -Added `vulture `__ as a pre-commit hook and removed related dead code, by `Eric Larson`_. diff --git a/doc/changes/devel/12573.newfeature.rst b/doc/changes/devel/12573.newfeature.rst deleted file mode 100644 index 147db983edc..00000000000 --- a/doc/changes/devel/12573.newfeature.rst +++ /dev/null @@ -1,3 +0,0 @@ -When plotting EOG and ECG artifact scores for ICA in :meth:`mne.Report.add_ica`, -the channel names used for artifact detection are now displayed in the titles of -each respective subplot, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12576.newfeature.rst b/doc/changes/devel/12576.newfeature.rst deleted file mode 100644 index 06ea4bb85b0..00000000000 --- a/doc/changes/devel/12576.newfeature.rst +++ /dev/null @@ -1 +0,0 @@ -Use ``aseg='auto'`` for :meth:`mne.viz.Brain.add_volume_labels` and :func:`mne.get_montage_volume_labels` to use ``aparc+aseg`` by default or if not present use ``wmparc`` because freesurfer uses ``wmparc`` in the latest version, by `Alex Rockhill`_. diff --git a/doc/changes/devel/12578.bugfix.rst b/doc/changes/devel/12578.bugfix.rst deleted file mode 100644 index e22dffdd020..00000000000 --- a/doc/changes/devel/12578.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -The color scaling of Evoked topomaps added to reports via :meth:`mne.Report.add_evokeds` -was sometimes sub-optimal if bad channels were present in the data. This has now been fixed -and should be more consistent with the topomaps shown in the joint plots, by `Richard Höchenberger`_. diff --git a/doc/changes/devel/12583.apichange.rst b/doc/changes/devel/12583.apichange.rst deleted file mode 100644 index 92d64f5caf3..00000000000 --- a/doc/changes/devel/12583.apichange.rst +++ /dev/null @@ -1,2 +0,0 @@ -``mne.Info.ch_names`` will now return an empty list instead of raising a ``KeyError`` if no channels -are present, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12583.newfeature.rst b/doc/changes/devel/12583.newfeature.rst deleted file mode 100644 index 27a0258f8ab..00000000000 --- a/doc/changes/devel/12583.newfeature.rst +++ /dev/null @@ -1,4 +0,0 @@ -The HTML representations of :class:`~mne.io.Raw`, :class:`~mne.Epochs`, -and :class:`~mne.Evoked` (which you will see e.g. when working with Jupyter Notebooks or -:class:`~mne.Report`) have been updated to be more consistent and contain -slightly more information, by `Richard Höchenberger`_. (:gh:`12624`) diff --git a/doc/changes/devel/12584.newfeature.rst b/doc/changes/devel/12584.newfeature.rst deleted file mode 100644 index 88f286afbbe..00000000000 --- a/doc/changes/devel/12584.newfeature.rst +++ /dev/null @@ -1,4 +0,0 @@ -When adding :class:`~mne.Evoked` data to a :class:`~mne.Report` via -:meth:`~mne.Report.add_evokeds`, we now also include an "Info" section -with some basic summary info, as has already been the case for raw and -epochs data, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12593.bugfix.rst b/doc/changes/devel/12593.bugfix.rst deleted file mode 100644 index e43d6110716..00000000000 --- a/doc/changes/devel/12593.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix error causing :meth:`mne.Epochs.interpolate_bads` not to work for ``seeg`` channels and fix a single contact on neighboring shafts sometimes being included in interpolation, by `Alex Rockhill`_ \ No newline at end of file diff --git a/doc/changes/devel/12597.bugfix.rst b/doc/changes/devel/12597.bugfix.rst deleted file mode 100644 index 77997893f0f..00000000000 --- a/doc/changes/devel/12597.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix bug where :func:`mne.io.read_raw_fil` could not assign bad channels on import, by `George O'Neill`_. \ No newline at end of file diff --git a/doc/changes/devel/12600.other.rst b/doc/changes/devel/12600.other.rst deleted file mode 100644 index e31e0fa7030..00000000000 --- a/doc/changes/devel/12600.other.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed issue template links by :newcontrib:`Michal Žák` diff --git a/doc/changes/devel/12605.bugfix.rst b/doc/changes/devel/12605.bugfix.rst deleted file mode 100644 index 0251eed410e..00000000000 --- a/doc/changes/devel/12605.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed a bug where :meth:`mne.Evoked.animate_topomap` did not work with :func:`mne.preprocessing.compute_current_source_density` - modified data, by `Michal Žák`_. diff --git a/doc/changes/devel/12609.bugfix.rst b/doc/changes/devel/12609.bugfix.rst deleted file mode 100644 index 1cd7e50d664..00000000000 --- a/doc/changes/devel/12609.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix bug where :func:`mne.stats.permutation_cluster_test` (and related functions) uses excessive amount of memory for large 2D data when TFCE method is selected, by :newcontrib:`Nicolas Fourcaud-Trocmé`. \ No newline at end of file diff --git a/doc/changes/devel/12612.bugfix.rst b/doc/changes/devel/12612.bugfix.rst deleted file mode 100644 index 5868fb93a2a..00000000000 --- a/doc/changes/devel/12612.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix overflow when plotting source estimates where data is all zero (or close to zero), and fix the range of allowed values for the colorbar sliders, by `Marijn van Vliet`_. diff --git a/doc/changes/devel/12616.bugfix.rst b/doc/changes/devel/12616.bugfix.rst deleted file mode 100644 index b7c5fc7fced..00000000000 --- a/doc/changes/devel/12616.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix adding channels to :class:`~mne.time_frequency.EpochsTFR` objects, by `Clemens Brunner`_. \ No newline at end of file diff --git a/doc/changes/devel/12620.bugfix.rst b/doc/changes/devel/12620.bugfix.rst deleted file mode 100644 index 0e8d53f02b1..00000000000 --- a/doc/changes/devel/12620.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix for new sklearn metadata routing protocol in decoding search_light, by `Alex Gramfort`_ diff --git a/doc/changes/devel/12628.newfeature.rst b/doc/changes/devel/12628.newfeature.rst deleted file mode 100644 index 82bab838318..00000000000 --- a/doc/changes/devel/12628.newfeature.rst +++ /dev/null @@ -1,4 +0,0 @@ -We added new installation variants for a full installation with the PySide6 Qt binding -(``"mne[full-pyside6]"``), with the PyQt6 binding (``"mne[full-pyqt6]"``, equivalent to -``"mne[full]"``), and without any Qt binding (``"mne[full-no-qt]"``), which may be useful -in certain situations by `Richard Höchenberger`_. diff --git a/doc/changes/devel/12633.bugfix.rst b/doc/changes/devel/12633.bugfix.rst deleted file mode 100644 index dfc69bc2fe7..00000000000 --- a/doc/changes/devel/12633.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix bug where :func:`mne.time_frequency.csd_multitaper`, :func:`mne.time_frequency.csd_fourier`, :func:`mne.time_frequency.csd_array_multitaper`, and :func:`mne.time_frequency.csd_array_fourier` would return cross-spectral densities with the ``fmin`` and ``fmax`` frequencies missing, by `Thomas Binns`_ \ No newline at end of file diff --git a/doc/changes/devel/12646.bugfix.rst b/doc/changes/devel/12646.bugfix.rst deleted file mode 100644 index a02ec58f77c..00000000000 --- a/doc/changes/devel/12646.bugfix.rst +++ /dev/null @@ -1,10 +0,0 @@ -Output types of sparse arrays were changed from ``matrix`` to ``array`` in -:func:`~mne.channels.read_ch_adjacency`, :func:`~mne.channels.find_ch_adjacency`, -:func:`~mne.stats.combine_adjacency`, :func:`~mne.spatio_temporal_src_adjacency`, -and related functions to comply with the pending deprecation of ``np.matrix``. -The returned objects now behave like standard :class:`~numpy.ndarray` objects, and -in particular ``*`` now operates element-wise instead of performing matrix -multiplication. You can use ``@`` as a backward compatible matrix multiplication -for both ``np.matrix`` and ``np.ndarray`` objects, and if a matrix is desired -the outputs can be cast directly, for example as ``scipy.sparse.csr_matrix(out)``. -Changed by `Eric Larson`_. diff --git a/doc/changes/devel/12649.newfeature.rst b/doc/changes/devel/12649.newfeature.rst deleted file mode 100644 index 33908f8dc89..00000000000 --- a/doc/changes/devel/12649.newfeature.rst +++ /dev/null @@ -1 +0,0 @@ -Adding argument ``'random'`` to :func:`~mne.epochs.equalize_epoch_counts` and to :meth:`~mne.Epochs.equalize_event_counts` to randomly select epochs or events. By `Mathieu Scheltienne`_. diff --git a/doc/changes/devel/12650.other.rst b/doc/changes/devel/12650.other.rst deleted file mode 100644 index b97a204dff4..00000000000 --- a/doc/changes/devel/12650.other.rst +++ /dev/null @@ -1 +0,0 @@ -Enhance documentation on decimation filtering to prevent aliasing, by :newcontrib:`Xabier de Zuazo`. diff --git a/doc/changes/devel/12652.newfeature.rst b/doc/changes/devel/12652.newfeature.rst deleted file mode 100644 index 6273aa7b87f..00000000000 --- a/doc/changes/devel/12652.newfeature.rst +++ /dev/null @@ -1 +0,0 @@ -Add new parameter ``ignore_marker_types`` to :func:`~mne.io.read_raw_brainvision` to ignore marker types (and only use marker descriptions) when reading BrainVision files, by `Clemens Brunner`_. \ No newline at end of file diff --git a/doc/changes/devel/12655.newfeature.rst b/doc/changes/devel/12655.newfeature.rst deleted file mode 100644 index b2711d2f2ed..00000000000 --- a/doc/changes/devel/12655.newfeature.rst +++ /dev/null @@ -1,2 +0,0 @@ -Added support for passing ``axes`` to :func:`mne.viz.plot_head_positions` when -``mode='field'``, by `Eric Larson`_. diff --git a/doc/changes/devel/12659.other.rst b/doc/changes/devel/12659.other.rst deleted file mode 100644 index f538d3adc1e..00000000000 --- a/doc/changes/devel/12659.other.rst +++ /dev/null @@ -1 +0,0 @@ -Add link to BEst-Python in the list of related software. by `Ilian Azz`_. \ No newline at end of file diff --git a/doc/changes/devel/12661.bugfix.rst b/doc/changes/devel/12661.bugfix.rst deleted file mode 100644 index 5dae12d05ec..00000000000 --- a/doc/changes/devel/12661.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix incorrect RuntimeWarning (different channel filter settings) in EDF/BDF import, by `Clemens Brunner`_. \ No newline at end of file diff --git a/doc/changes/devel/12664.other.rst b/doc/changes/devel/12664.other.rst deleted file mode 100644 index 1647e12cda0..00000000000 --- a/doc/changes/devel/12664.other.rst +++ /dev/null @@ -1 +0,0 @@ -Improved clarity of parameter documentation for `mne.decoding.SSD.fit`, by `Thomas Binns`_. \ No newline at end of file diff --git a/doc/changes/devel/12669.newfeature.rst b/doc/changes/devel/12669.newfeature.rst deleted file mode 100644 index a5829f22060..00000000000 --- a/doc/changes/devel/12669.newfeature.rst +++ /dev/null @@ -1,2 +0,0 @@ -Added internals to allow modifying single-channel annotations in the Qt -raw browser, by :newcontrib:`Noah Markowitz`. \ No newline at end of file diff --git a/doc/changes/devel/12676.bugfix.rst b/doc/changes/devel/12676.bugfix.rst deleted file mode 100644 index 44ccc9feee5..00000000000 --- a/doc/changes/devel/12676.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -In :func:`mne.export.export_raw` (``fmt='edf'``), when padding data to create equal-length data blocks, -edge-padding is favored over zero-padding in order to avoid accidentally enlarging physical range, by `Qian Chu`_. \ No newline at end of file diff --git a/doc/changes/devel/12686.newfeature.rst b/doc/changes/devel/12686.newfeature.rst deleted file mode 100644 index bb67cc622df..00000000000 --- a/doc/changes/devel/12686.newfeature.rst +++ /dev/null @@ -1,2 +0,0 @@ -The HTML representation of :class:`~mne.Epochs` (visible e.g. in Jupyter or in :class:`~mne.Report`) now -indicates whether metadata is attached to the epochs, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12687.bugfix.rst b/doc/changes/devel/12687.bugfix.rst deleted file mode 100644 index a7d049f8ae5..00000000000 --- a/doc/changes/devel/12687.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -In :func:`mne.io.read_raw_eyelink`, gracefully handle missing datetime in file by `Scott Huberty`_. \ No newline at end of file diff --git a/doc/changes/devel/12688.other.rst b/doc/changes/devel/12688.other.rst deleted file mode 100644 index 620eca7e3f7..00000000000 --- a/doc/changes/devel/12688.other.rst +++ /dev/null @@ -1 +0,0 @@ -Disable the "Back to top" button in the documentation, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12694.bugfix.rst b/doc/changes/devel/12694.bugfix.rst deleted file mode 100644 index 18abfed7ebc..00000000000 --- a/doc/changes/devel/12694.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix regression with :class:`mne.decoding.CSP` where using ``rank="full"`` errantly -raised an error, by `Eric Larson`_. \ No newline at end of file diff --git a/doc/changes/devel/12697.other.rst b/doc/changes/devel/12697.other.rst deleted file mode 100644 index 643b9a07af2..00000000000 --- a/doc/changes/devel/12697.other.rst +++ /dev/null @@ -1 +0,0 @@ -Improve argument ``ylim`` documentation through :class:`~mne.Evoked` plotting function and validate type to :class:`dict` or ``None`` to prevent misuage, by `Mathieu Scheltienne`_. diff --git a/doc/changes/devel/12699.apichange.rst b/doc/changes/devel/12699.apichange.rst deleted file mode 100644 index 37f489afeb6..00000000000 --- a/doc/changes/devel/12699.apichange.rst +++ /dev/null @@ -1 +0,0 @@ -Documented that :func:`~mne.match_channel_orders` can also work on Epochs, and Evoked objects. Reflecting this, deprecated the ``raws`` parameter in favor of an ``insts`` parameter, by `Stefan Appelhoff`_. diff --git a/doc/changes/devel/12703.newfeature.rst b/doc/changes/devel/12703.newfeature.rst deleted file mode 100644 index 0c6afa4468b..00000000000 --- a/doc/changes/devel/12703.newfeature.rst +++ /dev/null @@ -1 +0,0 @@ -Montage plots created with :meth:`~mne.channels.DigMontage.plot` now scale both the channel dots *and* channel names with the new ``scale`` parameter. The default is ``scale=1`` (factors less than 1 will scale down, whereas factors greater than 1 will scale up). The previous ``scale_factor`` parameter only affected marker size, and this parameter is now deprecated. By `Clemens Brunner`_. \ No newline at end of file diff --git a/doc/changes/devel/12707.newfeature.rst b/doc/changes/devel/12707.newfeature.rst deleted file mode 100644 index 3e367296378..00000000000 --- a/doc/changes/devel/12707.newfeature.rst +++ /dev/null @@ -1 +0,0 @@ -Add :func:`~mne.stats.erp.compute_sme` to compute the analytical standardized measurement error (SME) as a data quality measure for ERP studies, by `Clemens Brunner`_. \ No newline at end of file diff --git a/doc/changes/devel/12719.apichange.rst b/doc/changes/devel/12719.apichange.rst deleted file mode 100644 index d1512070f03..00000000000 --- a/doc/changes/devel/12719.apichange.rst +++ /dev/null @@ -1,2 +0,0 @@ -The ``block`` argument to :class:`mne.viz.Brain` is deprecated and will be removed in -1.9, use :func:`matplotlib.pyplot.show` with ``block=True`` instead, by `Eric Larson`_. \ No newline at end of file diff --git a/doc/changes/devel/12720.bugfix.rst b/doc/changes/devel/12720.bugfix.rst deleted file mode 100644 index 41aa30ac14c..00000000000 --- a/doc/changes/devel/12720.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix in-memory anonymization of data read with :func:`mne.io.read_raw_edf` by `Eric Larson`_. diff --git a/doc/changes/devel/12720.newfeature.rst b/doc/changes/devel/12720.newfeature.rst deleted file mode 100644 index 39b4709caba..00000000000 --- a/doc/changes/devel/12720.newfeature.rst +++ /dev/null @@ -1,2 +0,0 @@ -Use :class:`python:datetime.date` for ``info["subject_info"]["birthday"]`` rather than -a tuple of ``(year, month, day)`` by `Eric Larson`_. diff --git a/doc/changes/devel/12721.bugfix.rst b/doc/changes/devel/12721.bugfix.rst deleted file mode 100644 index c3fbe513d03..00000000000 --- a/doc/changes/devel/12721.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fix bug with overplotting of butterfly labels in :func:`mne.viz.plot_raw` and related -functions and methods, by `Eric Larson`_. diff --git a/doc/changes/devel/12724.bugfix.rst b/doc/changes/devel/12724.bugfix.rst deleted file mode 100644 index 8799c2830ec..00000000000 --- a/doc/changes/devel/12724.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix a bug where the ``ylim`` parameter would sometimes apply to the wrong channel types in :func:`mne.viz.plot_evoked_topo`, by `Marijn van Vliet`_. diff --git a/doc/changes/devel/12725.newfeature.rst b/doc/changes/devel/12725.newfeature.rst deleted file mode 100644 index 3775b851a59..00000000000 --- a/doc/changes/devel/12725.newfeature.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add default ``spatial_colors="auto"`` to :func:`mne.viz.plot_evoked_white` and -:meth:`mne.Evoked.plot_white` to enable spatial colors by default, by `Eric Larson`_. diff --git a/doc/changes/devel/12727.bugfix.rst b/doc/changes/devel/12727.bugfix.rst deleted file mode 100644 index c0fb6847c87..00000000000 --- a/doc/changes/devel/12727.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -Fix bug where ad-hoc regularization of a covariance with -:func:`mne.cov.regularize` did not properly account for bad channels -in rank calculations, by `Eric Larson`_. diff --git a/doc/changes/devel/12727.newfeature.rst b/doc/changes/devel/12727.newfeature.rst deleted file mode 100644 index 0d1e9529389..00000000000 --- a/doc/changes/devel/12727.newfeature.rst +++ /dev/null @@ -1,3 +0,0 @@ -:func:`mne.minimum_norm.make_inverse_operator` and related functions now more robustly -warn if the whitener computed from the noise covariance has an incorrect rank, -by `Eric Larson`_. diff --git a/doc/changes/devel/12730.bugfix.rst b/doc/changes/devel/12730.bugfix.rst deleted file mode 100644 index b6180815110..00000000000 --- a/doc/changes/devel/12730.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix bug when reading NIRX files saved in a non-western encoding, by `Daniel McCloy`_. diff --git a/doc/changes/devel/12733.newfeature.rst b/doc/changes/devel/12733.newfeature.rst deleted file mode 100644 index be9faafedcf..00000000000 --- a/doc/changes/devel/12733.newfeature.rst +++ /dev/null @@ -1,3 +0,0 @@ -When indexing :class:`~mne.Epochs` (e.g. by doing ``epochs[0]``), static code analysis tools like Pylance -should now be able to infer that the returned object is an epoch, too, and provide editor support -like automated code completions, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12734.newfeature.rst b/doc/changes/devel/12734.newfeature.rst deleted file mode 100644 index 7c78c8f1503..00000000000 --- a/doc/changes/devel/12734.newfeature.rst +++ /dev/null @@ -1,3 +0,0 @@ -When using the ``data_path()`` in any dataset included in :py:mod:`mne.datasets`, -static analysis tools like Pylance will now correctly infer that a `pathlib.Path` will -be returned and provide editor support like automated code completions, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12735.bugfix.rst b/doc/changes/devel/12735.bugfix.rst deleted file mode 100644 index ce2a565bd9a..00000000000 --- a/doc/changes/devel/12735.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -:func:`~mne.set_log_file` and :func:`~mne.set_log_level` can now be correctly detected by -static analysis tools like Pylance, by `Richard Höchenberger`_. \ No newline at end of file diff --git a/doc/changes/devel/12742.dependency.rst b/doc/changes/devel/12742.dependency.rst deleted file mode 100644 index 98b10481751..00000000000 --- a/doc/changes/devel/12742.dependency.rst +++ /dev/null @@ -1,2 +0,0 @@ -Official support for PySide2 has been dropped in this release (though it might continue -to work), by `Eric Larson`_. diff --git a/doc/changes/devel/12747.newfeature.rst b/doc/changes/devel/12747.newfeature.rst deleted file mode 100644 index 2957117b778..00000000000 --- a/doc/changes/devel/12747.newfeature.rst +++ /dev/null @@ -1,3 +0,0 @@ -Add support for storing Fourier coefficients in :class:`mne.time_frequency.Spectrum`, -:class:`mne.time_frequency.EpochsSpectrum`, :class:`mne.time_frequency.SpectrumArray`, -and :class:`mne.time_frequency.EpochsSpectrumArray` objects, by `Thomas Binns`_. \ No newline at end of file diff --git a/doc/changes/devel/12754.bugfix.rst b/doc/changes/devel/12754.bugfix.rst deleted file mode 100644 index 9cce20925e8..00000000000 --- a/doc/changes/devel/12754.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Safeguard loading of ``meas_date`` in :func:`mne.io.read_raw_edf`, by `Mathieu Scheltienne`_. diff --git a/doc/changes/devel/12759.bugfix.rst b/doc/changes/devel/12759.bugfix.rst deleted file mode 100644 index f2d59280fd0..00000000000 --- a/doc/changes/devel/12759.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Assure that blink times are handled correctly :func:`mne.preprocessing.eyetracking.interpolate_blinks`, even when the raw object is cropped by `Scott Huberty`_ and :newcontrib:`Sammi Chekroud`. diff --git a/doc/changes/devel/12760.bugfix.rst b/doc/changes/devel/12760.bugfix.rst deleted file mode 100644 index 3afe215c57e..00000000000 --- a/doc/changes/devel/12760.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix bug in :func:`~mne.preprocessing.maxwell_filter_prepare_emptyroom` where a difference in sampling frequencies between data and emptyroom files was ignored, by `Daniel McCloy`_. \ No newline at end of file diff --git a/doc/changes/devel/12763.bugfix.rst b/doc/changes/devel/12763.bugfix.rst deleted file mode 100644 index 405abd19313..00000000000 --- a/doc/changes/devel/12763.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fix check for dropping all channels in :meth:`mne.io.Raw.drop_channels` and related methods, by :newcontrib:`Farzin Negahbani`. \ No newline at end of file diff --git a/doc/changes/devel/12771.apichange.rst b/doc/changes/devel/12771.apichange.rst deleted file mode 100644 index 49110fff558..00000000000 --- a/doc/changes/devel/12771.apichange.rst +++ /dev/null @@ -1,4 +0,0 @@ -:func:`mne.datasets.fetch_fsaverage` now returns a :class:`python:pathlib.Path` object -rather than a string. Support for string concatenation with plus (``+``) is thus -deprecated and will be removed in 1.9, use the forward-slash ``/`` operator instead, -by `Eric Larson`_. diff --git a/doc/changes/devel/12774.other.rst b/doc/changes/devel/12774.other.rst deleted file mode 100644 index 57172476b54..00000000000 --- a/doc/changes/devel/12774.other.rst +++ /dev/null @@ -1,2 +0,0 @@ -Code contributions are now measured using PRs and reported on the :ref:`contributors` -page, by `Eric Larson`_. diff --git a/doc/changes/devel/12781.other.rst b/doc/changes/devel/12781.other.rst deleted file mode 100644 index 565f253678d..00000000000 --- a/doc/changes/devel/12781.other.rst +++ /dev/null @@ -1 +0,0 @@ -Authorship headers in MNE-Python code have been standardized, by `Eric Larson`_. diff --git a/doc/changes/v1.8.rst b/doc/changes/v1.8.rst new file mode 100644 index 00000000000..5d3cf620b3e --- /dev/null +++ b/doc/changes/v1.8.rst @@ -0,0 +1,173 @@ +.. _changes_1_8_0: + +Version 1.8.0 (2024-08-18) +========================== + +Dependencies +------------ + +- Minimum versions for dependencies were bumped to those ~2 years old at the time of release (by `Eric Larson`_), including: + + - NumPy ≥ 1.23 + - SciPy ≥ 1.9 + - Matplotlib ≥ 3.6 + - scikit-learn ≥ 1.1 (`#12554 `__) +- Official support for PySide2 has been dropped in this release (though it might continue + to work), by `Eric Larson`_. (`#12742 `__) + + +Bugfixes +-------- + +- Fix bug where an event that occurred only once was excluded in :func:`mne.io.read_raw_egi`, by :newcontrib:`Ping-Keng Jao`. (`#12300 `__) +- Fix bug where :func:`mne.stats.permutation_cluster_test` (and related functions) uses excessive amount of memory for large 2D data when TFCE method is selected, by :newcontrib:`Nicolas Fourcaud-Trocmé`. (`#12609 `__) +- Assure that blink times are handled correctly :func:`mne.preprocessing.eyetracking.interpolate_blinks`, even when the raw object is cropped by `Scott Huberty`_ and :newcontrib:`Sammi Chekroud`. (`#12759 `__) +- Fix check for dropping all channels in :meth:`mne.io.Raw.drop_channels` and related methods, by :newcontrib:`Farzin Negahbani`. (`#12763 `__) +- Fix scrolling behavior in :class:`~mne.Report` when clicking on a TOC entry multiple times, by `Richard Höchenberger`_. (`#12561 `__) +- Fix bug where :func:`mne.decoding.get_coef` did not work properly with :class:`mne.decoding.CSP`, by `Eric Larson`_. (`#12562 `__) +- The color scaling of Evoked topomaps added to reports via :meth:`mne.Report.add_evokeds` + was sometimes sub-optimal if bad channels were present in the data. This has now been fixed + and should be more consistent with the topomaps shown in the joint plots, by `Richard Höchenberger`_. (`#12578 `__) +- Fix error causing :meth:`mne.Epochs.interpolate_bads` not to work for ``seeg`` channels and fix a single contact on neighboring shafts sometimes being included in interpolation, by `Alex Rockhill`_ (`#12593 `__) +- Fix bug where :func:`mne.io.read_raw_fil` could not assign bad channels on import, by `George O'Neill`_. (`#12597 `__) +- Fixed a bug where :meth:`mne.Evoked.animate_topomap` did not work with :func:`mne.preprocessing.compute_current_source_density` - modified data, by `Michal Žák`_. (`#12605 `__) +- Fix overflow when plotting source estimates where data is all zero (or close to zero), and fix the range of allowed values for the colorbar sliders, by `Marijn van Vliet`_. (`#12612 `__) +- Fix adding channels to :class:`~mne.time_frequency.EpochsTFR` objects, by `Clemens Brunner`_. (`#12616 `__) +- Fix for new sklearn metadata routing protocol in decoding search_light, by `Alex Gramfort`_ (`#12620 `__) +- Fix bug where :func:`mne.time_frequency.csd_multitaper`, :func:`mne.time_frequency.csd_fourier`, :func:`mne.time_frequency.csd_array_multitaper`, and :func:`mne.time_frequency.csd_array_fourier` would return cross-spectral densities with the ``fmin`` and ``fmax`` frequencies missing, by `Thomas Binns`_ (`#12633 `__) +- Output types of sparse arrays were changed from ``matrix`` to ``array`` in + :func:`~mne.channels.read_ch_adjacency`, :func:`~mne.channels.find_ch_adjacency`, + :func:`~mne.stats.combine_adjacency`, :func:`~mne.spatio_temporal_src_adjacency`, + and related functions to comply with the pending deprecation of ``np.matrix``. + The returned objects now behave like standard :class:`~numpy.ndarray` objects, and + in particular ``*`` now operates element-wise instead of performing matrix + multiplication. You can use ``@`` as a backward compatible matrix multiplication + for both ``np.matrix`` and ``np.ndarray`` objects, and if a matrix is desired + the outputs can be cast directly, for example as ``scipy.sparse.csr_matrix(out)``. + Changed by `Eric Larson`_. (`#12646 `__) +- Fix incorrect RuntimeWarning (different channel filter settings) in EDF/BDF import, by `Clemens Brunner`_. (`#12661 `__) +- In :func:`mne.export.export_raw` (``fmt='edf'``), when padding data to create equal-length data blocks, + edge-padding is favored over zero-padding in order to avoid accidentally enlarging physical range, by `Qian Chu`_. (`#12676 `__) +- In :func:`mne.io.read_raw_eyelink`, gracefully handle missing datetime in file by `Scott Huberty`_. (`#12687 `__) +- Fix regression with :class:`mne.decoding.CSP` where using ``rank="full"`` errantly + raised an error, by `Eric Larson`_. (`#12694 `__) +- Fix in-memory anonymization of data read with :func:`mne.io.read_raw_edf` by `Eric Larson`_. (`#12720 `__) +- Fix bug with overplotting of butterfly labels in :func:`mne.viz.plot_raw` and related + functions and methods, by `Eric Larson`_. (`#12721 `__) +- Fix a bug where the ``ylim`` parameter would sometimes apply to the wrong channel types in :func:`mne.viz.plot_evoked_topo`, by `Marijn van Vliet`_. (`#12724 `__) +- Fix bug where ad-hoc regularization of a covariance with + :func:`mne.cov.regularize` did not properly account for bad channels + in rank calculations, by `Eric Larson`_. (`#12727 `__) +- Fix bug when reading NIRX files saved in a non-western encoding, by `Daniel McCloy`_. (`#12730 `__) +- :func:`~mne.set_log_file` and :func:`~mne.set_log_level` can now be correctly detected by + static analysis tools like Pylance, by `Richard Höchenberger`_. (`#12735 `__) +- Safeguard loading of ``meas_date`` in :func:`mne.io.read_raw_edf`, by `Mathieu Scheltienne`_. (`#12754 `__) +- Fix bug in :func:`~mne.preprocessing.maxwell_filter_prepare_emptyroom` where a difference in sampling frequencies between data and emptyroom files was ignored, by `Daniel McCloy`_. (`#12760 `__) + + +API changes by deprecation +-------------------------- + +- A new argument ``events_as_annotations`` has been added to :func:`mne.io.read_raw_egi` + with a default value of ``False`` that will change to ``True`` in version 1.9, by + `Scott Huberty`_ and `Eric Larson`_. (`#12300 `__) +- ``mne.Info.ch_names`` will now return an empty list instead of raising a ``KeyError`` if no channels + are present, by `Richard Höchenberger`_. (`#12583 `__) +- Documented that :func:`~mne.match_channel_orders` can also work on Epochs, and Evoked objects. Reflecting this, deprecated the ``raws`` parameter in favor of an ``insts`` parameter, by `Stefan Appelhoff`_. (`#12699 `__) +- The ``block`` argument to :class:`mne.viz.Brain` is deprecated and will be removed in + 1.9, use :func:`matplotlib.pyplot.show` with ``block=True`` instead, by `Eric Larson`_. (`#12719 `__) +- :func:`mne.datasets.fetch_fsaverage` now returns a :class:`python:pathlib.Path` object + rather than a string. Support for string concatenation with plus (``+``) is thus + deprecated and will be removed in 1.9, use the forward-slash ``/`` operator instead, + by `Eric Larson`_. (`#12771 `__) + + +New features +------------ + +- Added internals to allow modifying single-channel annotations in the Qt + raw browser, by :newcontrib:`Noah Markowitz`. (`#12669 `__) +- Adding :meth:`mne.channels.Layout.copy` and :meth:`mne.channels.Layout.pick` to copy and select channels from a :class:`mne.channels.Layout` object. Plotting 2D topographies of evoked responses with :func:`mne.viz.plot_evoked_topo` with both arguments ``layout`` and ``exclude`` now ignores excluded channels from the :class:`mne.channels.Layout`. By `Mathieu Scheltienne`_. (`#12338 `__) +- In :class:`~mne.Report` you can now easily navigate through images and figures connected to a slider with the left and right arrow keys. Clicking on the slider or respective image will focus the slider, enabling keyboard navigation, by `Richard Höchenberger`_ (`#12556 `__) +- When plotting EOG and ECG artifact scores for ICA in :meth:`mne.Report.add_ica`, + the channel names used for artifact detection are now displayed in the titles of + each respective subplot, by `Richard Höchenberger`_. (`#12573 `__) +- Use ``aseg='auto'`` for :meth:`mne.viz.Brain.add_volume_labels` and :func:`mne.get_montage_volume_labels` to use ``aparc+aseg`` by default or if not present use ``wmparc`` because freesurfer uses ``wmparc`` in the latest version, by `Alex Rockhill`_. (`#12576 `__) +- The HTML representations of :class:`~mne.io.Raw`, :class:`~mne.Epochs`, + and :class:`~mne.Evoked` (which you will see e.g. when working with Jupyter Notebooks or + :class:`~mne.Report`) have been updated to be more consistent and contain + slightly more information, by `Richard Höchenberger`_. (:gh:`12624`) (`#12583 `__) +- When adding :class:`~mne.Evoked` data to a :class:`~mne.Report` via + :meth:`~mne.Report.add_evokeds`, we now also include an "Info" section + with some basic summary info, as has already been the case for raw and + epochs data, by `Richard Höchenberger`_. (`#12584 `__) +- We added new installation variants for a full installation with the PySide6 Qt binding + (``"mne[full-pyside6]"``), with the PyQt6 binding (``"mne[full-pyqt6]"``, equivalent to + ``"mne[full]"``), and without any Qt binding (``"mne[full-no-qt]"``), which may be useful + in certain situations by `Richard Höchenberger`_. (`#12628 `__) +- Adding argument ``'random'`` to :func:`~mne.epochs.equalize_epoch_counts` and to :meth:`~mne.Epochs.equalize_event_counts` to randomly select epochs or events. By `Mathieu Scheltienne`_. (`#12649 `__) +- Add new parameter ``ignore_marker_types`` to :func:`~mne.io.read_raw_brainvision` to ignore marker types (and only use marker descriptions) when reading BrainVision files, by `Clemens Brunner`_. (`#12652 `__) +- Added support for passing ``axes`` to :func:`mne.viz.plot_head_positions` when + ``mode='field'``, by `Eric Larson`_. (`#12655 `__) +- The HTML representation of :class:`~mne.Epochs` (visible e.g. in Jupyter or in :class:`~mne.Report`) now + indicates whether metadata is attached to the epochs, by `Richard Höchenberger`_. (`#12686 `__) +- Montage plots created with :meth:`~mne.channels.DigMontage.plot` now scale both the channel dots *and* channel names with the new ``scale`` parameter. The default is ``scale=1`` (factors less than 1 will scale down, whereas factors greater than 1 will scale up). The previous ``scale_factor`` parameter only affected marker size, and this parameter is now deprecated. By `Clemens Brunner`_. (`#12703 `__) +- Add :func:`~mne.stats.erp.compute_sme` to compute the analytical standardized measurement error (SME) as a data quality measure for ERP studies, by `Clemens Brunner`_. (`#12707 `__) +- Use :class:`python:datetime.date` for ``info["subject_info"]["birthday"]`` rather than + a tuple of ``(year, month, day)`` by `Eric Larson`_. (`#12720 `__) +- Add default ``spatial_colors="auto"`` to :func:`mne.viz.plot_evoked_white` and + :meth:`mne.Evoked.plot_white` to enable spatial colors by default, by `Eric Larson`_. (`#12725 `__) +- :func:`mne.minimum_norm.make_inverse_operator` and related functions now more robustly + warn if the whitener computed from the noise covariance has an incorrect rank, + by `Eric Larson`_. (`#12727 `__) +- When indexing :class:`~mne.Epochs` (e.g. by doing ``epochs[0]``), static code analysis tools like Pylance + should now be able to infer that the returned object is an epoch, too, and provide editor support + like automated code completions, by `Richard Höchenberger`_. (`#12733 `__) +- When using the ``data_path()`` in any dataset included in :py:mod:`mne.datasets`, + static analysis tools like Pylance will now correctly infer that a `pathlib.Path` will + be returned and provide editor support like automated code completions, by `Richard Höchenberger`_. (`#12734 `__) +- Add support for storing Fourier coefficients in :class:`mne.time_frequency.Spectrum`, + :class:`mne.time_frequency.EpochsSpectrum`, :class:`mne.time_frequency.SpectrumArray`, + and :class:`mne.time_frequency.EpochsSpectrumArray` objects, by `Thomas Binns`_. (`#12747 `__) + + +Other changes +------------- + +- Fixed issue template links by :newcontrib:`Michal Žák` (`#12600 `__) +- Enhance documentation on decimation filtering to prevent aliasing, by :newcontrib:`Xabier de Zuazo`. (`#12650 `__) +- Added `vulture `__ as a pre-commit hook and removed related dead code, by `Eric Larson`_. (`#12569 `__) +- Add link to BEst-Python in the list of related software. by `Ilian Azz`_. (`#12659 `__) +- Improved clarity of parameter documentation for `mne.decoding.SSD.fit`, by `Thomas Binns`_. (`#12664 `__) +- Disable the "Back to top" button in the documentation, by `Richard Höchenberger`_. (`#12688 `__) +- Improve argument ``ylim`` documentation through :class:`~mne.Evoked` plotting function and validate type to :class:`dict` or ``None`` to prevent misuage, by `Mathieu Scheltienne`_. (`#12697 `__) +- Code contributions are now measured using PRs and reported on the :ref:`contributors` + page, by `Eric Larson`_. (`#12774 `__) +- Authorship headers in MNE-Python code have been standardized, by `Eric Larson`_. (`#12781 `__) + +Authors +------- + +* Alex Rockhill +* Alexandre Gramfort +* Clemens Brunner +* Daniel McCloy +* Dimitri Papadopoulos Orfanos +* Eric Larson +* Farzin Negahbani+ +* George O'Neill +* Ilian AZZ +* Marijn van Vliet +* Mathieu Scheltienne +* Michal Žák+ +* Nabil Alibou +* Nicolas Fourcaud-Trocmé+ +* Noah Markowitz+ +* Ping-Keng Jao+ +* Qian Chu +* Richard Höchenberger +* Sammi Chekroud+ +* Scott Huberty +* Stefan Appelhoff +* Thomas S. Binns +* Xabier de Zuazo+ diff --git a/doc/development/whats_new.rst b/doc/development/whats_new.rst index 659157e5e39..87246377b9e 100644 --- a/doc/development/whats_new.rst +++ b/doc/development/whats_new.rst @@ -8,7 +8,7 @@ Changes for each version of MNE-Python are listed below. .. toctree:: :maxdepth: 1 - ../changes/devel.rst + ../changes/v1.8.rst ../changes/v1.7.rst ../changes/v1.6.rst ../changes/v1.5.rst diff --git a/doc/documentation/cited.rst b/doc/documentation/cited.rst index 31c19589b16..565698d9c67 100644 --- a/doc/documentation/cited.rst +++ b/doc/documentation/cited.rst @@ -3,7 +3,7 @@ Papers citing MNE-Python ======================== -Estimates provided by Google Scholar as of 19 April 2024: +Estimates provided by Google Scholar as of 18 August 2024: -- `MNE (1730) `_ -- `MNE-Python (2570) `_ +- `MNE (1810) `_ +- `MNE-Python (2860) `_ diff --git a/doc/sphinxext/update_credit_rst.py b/doc/sphinxext/update_credit_rst.py index a7f7cc85e7c..a79715d546d 100644 --- a/doc/sphinxext/update_credit_rst.py +++ b/doc/sphinxext/update_credit_rst.py @@ -174,6 +174,7 @@ def generate_credit_rst(app=None, *, verbose=False): if "autofix-ci[bot]" not in email and "pre-commit-ci[bot]" not in email and "dependabot[bot]" not in email + and "github-actions[bot]" not in email ) assert len(unknown_emails) == 0, "Unknown emails\n" + "\n".join( sorted(unknown_emails) diff --git a/mne/beamformer/tests/test_dics.py b/mne/beamformer/tests/test_dics.py index 681ae1d8d3b..7d5800a597c 100644 --- a/mne/beamformer/tests/test_dics.py +++ b/mne/beamformer/tests/test_dics.py @@ -674,7 +674,7 @@ def test_apply_dics_timeseries(_load_forward, idx): proj_matrix = make_projector(p, evoked_proj.ch_names)[0] evoked_proj.add_proj(p) filters_proj = make_dics(evoked_proj.info, fwd_surf, csd20, label=label) - assert_array_equal(filters_proj["proj"], proj_matrix) + assert_allclose(filters_proj["proj"], proj_matrix, rtol=1e-7) stc_proj = apply_dics(evoked_proj, filters_proj) assert np.any(np.not_equal(stc_noproj.data, stc_proj.data)) diff --git a/mne/decoding/tests/test_ssd.py b/mne/decoding/tests/test_ssd.py index f7819c37423..e306dffa2db 100644 --- a/mne/decoding/tests/test_ssd.py +++ b/mne/decoding/tests/test_ssd.py @@ -2,6 +2,8 @@ # License: BSD-3-Clause # Copyright the MNE-Python contributors. +import sys + import numpy as np import pytest from numpy.testing import assert_array_almost_equal, assert_array_equal @@ -469,4 +471,6 @@ def test_non_full_rank_data(): assert np.linalg.matrix_rank(X) == rank ssd = SSD(info, filt_params_signal, filt_params_noise) + if sys.platform == "darwin": + pytest.skip("Unknown linalg bug (Accelerate?)") ssd.fit(X)