🎂 MNE-Python is turning 1.0!

:birthday: MNE-Python is turning 1.0

In December 2010, freshly arrived in Boston to work as a postdoc at the Martinos Center with Matti Hamalainen, I started the MNE-Python project with NIH funding. Inspired by my early open-source development efforts on scikit-learn, I wanted to “replicate the scikit-learn model” for the field of MEG/EEG data analysis. I wanted to create a Python project developed in the open – on GitHub, with the support of a distributed community of contributors willing to give a bit of their time to share what works for them (and what doesn’t!). Very importantly, what I wanted was to encourage people outside of the Martinos Center at MGH to contribute to the MNE-Python code while getting public credit for their work. Before attracting users I needed to find contributors… and for this I needed to convince them that MNE-Python was not simply my own personal pet project, but rather something that belongs to its contributors.

It has now been more than 11 years since MNE-Python was started, and as of now 285 contributors distributed all over the world have made MNE-Python a mature and successful project. This long effort has also been made possible by the sustained funding from NIH in the USA, as well as the ERC and ANR funding agencies in Europe and France. Now, we believe it’s finally time for MNE-Python to grow up and turn 1.0! :birthday:

I am particularly grateful first to Matti Hamalainen for teaching me so much about MEG and providing the groundwork with the MNE-C code he made public in 2006. MNE-C had already started the worldwide MNE project before MNE-Python was conceived.

I am looking forward to seeing how MNE-Python will evolve in the future – and let’s see if we’ll wait 11 more years for version 2.0… :innocent:

Alex

Release notes

A few highlights

  • :package: New standalone installers for macOS, Windows, and Linux should make onboarding of new users much easier and allow for offline installations! Download from MNE-Python installers — MNE 1.0.0 documentation
  • :chart_with_upwards_trend: A new viewer for Raw, Epoched, Evoked, and ICA data makes interactive data exploration much easier and smoother. See GitHub - mne-tools/mne-qt-browser: A new backend for the 2D-Data-Browser in MNE-Python.
  • :brain: We redesigned and decluttered large parts of the coregistration GUI to make it easier for you to find the functionality you’re looking for!
  • :ledger: We also added numerous improvements to Reports, including a drastic speedup of Raw data plots.
  • :round_pushpin: Lastly, the iEEG contact localization GUI has seen a number of improvements, too.

Notable API changes

We have changed a few things that will require you to adjust your code.

  • The verbose attribute of classes (e.g., Raw, Epochs, etc.) has been deprecated. Explicitly pass verbose to methods as necessary instead.
  • In mne.viz.set_browser_backend(), the mne-qt-browser-based backend is now called 'qt’ rather than 'pyqtgraph' for simplicity.
  • mne.Info.pick_channels has been deprecated. Use inst.pick_channels to pick channels from Raw, Epochs, and Evoked.
  • All data_path functions now return modern pathlib.Path objects rather than strings.
  • The argument name event_list has been deprecated in favor of events in mne.write_events()
  • The max_ori_out parameter of mne.beamformer.apply_lcmv() and related functions is being removed as only signed estimates are supported.

Full list of API changes

Full changelog

For a full list of improvements and API changes, see What’s new?

Find the full documentation on our website

Installing the new release

Since quite a few things – including dependencies – have changed, we recommend creating a new environment with a “fresh” installation.

:package: Or if you fancy, download one of our fresh and shiny new installers!

See our installation instructions for full instructions and download links.

Feedback

If you have any questions or discovered a problem, please feel free to reach out to us on the MNE Forum.

As usual, we welcome your bug reports, feature requests, critiques, and, of course, new contributions. :grin: Development takes place on GitHub. If you would like to contribute, star :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, too: @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

Contributors

MNE-Python is a community-driven project. We are always very happy to welcome new contributors of code and documentation! 33 people contributed to this release – and 10 were first-timers! Thank you all so very much for your time and effort, we truly appreciate it!

First-time contributors

  • Adina Wagner
  • Etienne de Montalivet
  • Federico Zamberlan
  • Jan Zerfowski
  • John Veillette
  • Matthias Eberlein
  • Michiru Kaneda
  • Nikolai Chapochnikov
  • Scott Huberty
  • Senwen Deng

Recurring contributors

  • Adam Li
  • Alex Rockhill
  • Alexandre Gramfort
  • Britta Westner
  • Clemens Brunner
  • Daniel McCloy
  • Eduard Ort
  • Eric Larson
  • Guillaume Favelier
  • Jan Sosulski
  • Jeff Stout
  • Joshua Teves
  • Julia Guiomar Niso Galán
  • Luke Bloy
  • Marijn van Vliet
  • Martin Schulz
  • Mathieu Scheltienne
  • MikoĹ‚aj Magnuski
  • Richard Höchenberger
  • Robert Luke
  • Stefan Appelhoff
  • Steve Matindi
  • Thomas Hartmann
7 Likes

Congratulations to you and the team! It has been a pleasure interacting with the MNE-Python community and learning from each other. MNE-Python has demonstrated that it is possible to build an open source community even in a field that is not as popular as machine learning and with a significantly more diverse userbase consisting of cognitive neuroscientists, clinicians and methods developers :slight_smile:

Regards from the newest postdoc in Martinos,
Mainak

3 Likes

Happy Birthday MNE-Python - many happy returns! Thank you for all the support over the last decade.

Happy Birthday!
I so wish I had started with MNE-Python instead of that other popular system :slight_smile:

Also, thank you for using Discourse, rather than Discord.

1 Like