Hello everyone, we are very pleased to announce the new 0.23 release of MNE-Python!
This release includes 72 pull requests merged as part of our New Developers Code Sprint in March, and more than a dozen additional contributions from those new developers after the code sprint.
Big thanks to all who participated!
- The MNE team has started offering regular fortnightly “office ours” on Discord to answer user questions. The next office hour will take place this Friday at 16:00 UTC. Come say “Hi!” at https://discord.gg/2hF3V4yT9Q
- The community has now moved to a new forum to answer users’ questions and make announcements (e.g., when office hours will be) at https://mne.discourse.group/.
- The documentation at https://mne.tools now features a new theme . We are continuously working to improve layout, usability, and accessibility of our documentation. If you discover anything you don’t like, that just doesn’t work for you, or that might present a barrier to some users, please do reach out to us! We’re looking forward to receiving your feedback.
- Gone is the 15-character limitation for channel names when writing FIFF files.
- Raw, Epochs, and Info objects now have a beautiful tabular representation in Jupyter Notebooks.
- Ever wanted to add Annotations to individual channels? This is now possible with the new
- Annotations can now be exported to a pandas DataFramevia
- Interested in summary descriptive statistics for all your channels? Have a look at the new
- Epochs and Evoked now allow you to easily apply transformations to their data using the brand-new
- Epochs metadata can now be generated automatically from events using
- Raw.get_data() now has a
unitsparameter to return data in the desired unit.
- Dark mode! Source estimate plots can now detect the operating system theme preferences and will apply a dark theme automatically if the OS is currently in dark mode. Dark mode can also be activated manually via the
- Much improved interactive 3D plots in Jupyter Notebooks. (We’re still trying to get Jupyter Lab to work nicely as well – it currently behaves rather erratically, though!)
- The new
mne.viz.Braincan be used to display sharp edges and to improve perception.
- New method
mne.Dipole.to_mni()for more convenient conversion from
- We have a new infant template MRI dataset downloader,
- Add digitizer information to
- We now allow reading digitization from files other than
*.fifin the coregistration GUI.
- We managed to speed up
mne.inverse_sparse.tf_mixed_norm()using STFT/ISTFT linearity.
- Moving over from EEGLAB? No problem! We’ve added support for reading new (2021) EEGLAB file format.
- Moving back to EEGLAB? No problem either! You can now export Raw and Epochs to the EEGLAB format, thanks to the new
export()methods and the
mne.channels.read_custom_montage()got more versatile! It now supports CSV, TSV, and XYZ support formats.
- StarStim / enobio NEDF files can now be read via
- There is now a new
dbschannel type for deep brain stimulation recordings.
mne.beamformer.tf_dics()has been deprecated
- The default of
mne.beamformer.make_dics()will change to
Truein the next version of MNE-Python.
mne.io.anonymize_info()now also anonymizes the
- Evoked objects have gained a new
baselineattribute that is automatically assembled based on the baseline of the averaged Epochs.
mne.read_selection()has been deprecated in favor of
- Fitting ICA on baseline-corrected Epochs, and / or applying it on baseline-corrected Epochs or Evoked data will now display a warning.
For a full list of improvements and API changes, see:
Find the full documentation at https://mne.tools/
Since quite a few things – including dependencies – have changed, we recommend creating a new environment with a “fresh” installation. Please follow the installation instructions on our website:
As usual, we welcome your bug reports, feature requests, critiques, and contributions. Development takes place on GitHub. If you would like to contribute, star the project, or just take a peek at the code, visit GitHub - mne-tools/mne-python: MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python.
You may follow us on Twitter: https://twitter.com/mne_news
We hope you will enjoy the new features and many, many small improvements we have added, and are looking forward to receiving your feedback.
Stay safe and take care!
The MNE-Python developers
MNE-Python is a community-driven project. We are always very happy to welcome new contributors of code and documentation! 41 people contributed to this release, and 11 of them contributed for the very first time – thank you so much for your time and effort, we truly appreciate it!
This is the list of contributors in alphabetical order (first-time contributors marked with a “+”):
- Adam Li
- Alex Rockhill
- Alexandre Gramfort
- Ana Radanovic
- Andres Rodriguez +
- Anna Padee +
- Apoorva Karekal +
- Britta Westner
- Catalina Magalvan
- Christian Brodbeck
- Christian Mista
- Christian O’Reilly
- Christina Zhao
- Christopher J. Bailey
- Clemens Brunner
- Cora Kim +
- Daniel McCloy
- Denis A. Engemann
- Dominik Welke +
- Eduard Ort
- Enrico Varano +
- Eric Larson
- Erica Peterson +
- Evgenii Kalenkovich
- Felix Klotzsche +
- Giorgio Marinato
- Guillaume Favelier
- Jack Zhang+
- Jean-Remi King
- Johann Benerradi
- Joris Van den Bossche
- Judy D Zhu +
- Liberty Hamilton
- Luke Bloy
- Maggie Clarke +
- Mainak Jas
- Manorama Kadwani
- Marijn van Vliet
- Martin Schulz
- Matt Sanderson +
- Matteo Anelli +
- Nicolas Gensollen
- Ram Pari +
- Richard Höchenberger
- Richard Koehler +
- Robert Luke
- Rotem Falach +
- Sebastien Treguer
- Silvia Cotroneo +
- Stefan Appelhoff
- Steven Bierer
- Sumalyo Datta +
- Timon Merk
- Tristan Stenner
- Valerii Chirkov+
- Victoria Peterson
- Yu-Han Luo
- Zhi Zhang +