What’s new?#
Version 0.17 (2025-09-10)#
Detailed list of changes#
🚀 Enhancements#
mne_bids.write_raw_bids()can now handle mne Raw objects with eyegaze and pupil channels, by Christian O’Reilly (#1344)mne_bids.get_entity_vals()has a new parameterignore_suffixesto easily ignore sidecar files, by Daniel McCloy (#1362)Empty-room matching now preferentially finds recordings in the subject directory tagged as task-noise before looking in the sub-emptyroom directories. This adds support for a part of the BIDS specification for ER recordings, by Berk Gerçek (#1364)
Path matching is now implemenented in a more efficient manner within
mne_bids.BIDSPath.match()andmne_bids.find_matching_paths(), by Arne Gottwald (#1355)mne_bids.get_entity_vals()has a new parameterinclude_matchto prefilter item matching and ignore non-matched items from begin of directory scan, by Arne Gottwald (#1355)Data from
events.tsvcan now be read into an OrderedDict usingmne_bids.events_file_to_annotation_kwargs(), by Matthias Dold (#1389)Read the optionally present extra columns from
events.tsvand pass them tomne.Annotations, by Pierre Guetschel (#1401)_filter_fnames()now correctly checks the default extension, correcting suffix filtering, by Nathan Azrak (#1427)
🧐 API and behavior changes#
mne_bids.make_dataset_description()will now auto-generate basicGeneratedByfields ifgenerated_by=None. To suppress the auto-generated fields, pass an empty list. By Daniel McCloy (#1384)Add requirements that
root,subject,taskattributes must be set when usingmne_bids.read_raw_bids()to avoid implicit behavior and file ambiguity, by Teon Brooks (#1414)
🛠 Requirements#
MNE-BIDS now requires
mne1.8 or higher.
🪲 Bug fixes#
mne_bids.read_raw_bids()can optionally return anevent_iddictionary suitable for use withmne.events_from_annotations(), and if avaluescolumn is present inevents.tsvit will be used as the source of the integer event ID codes, by Daniel McCloy (#1349)BIDS dictates that the recording entity should be displayed as “_recording-” in the filename. This PR makes
mne_bids.BIDSPathcorrectly display “_recording-” (instead of “_rec-”) in BIDSPath.fpath. By Scott Huberty (#1348)mne_bids.make_dataset_description()now correctly encodes the dataset description as UTF-8 on disk, by Scott Huberty (#1357)Corrects extension when filtering filenames in
mne_bids.BIDSPath.match()andmne_bids.find_matching_paths(), by Arne Gottwald (#1355)Fix
mne_bids.BIDSPathpartially matching a value, by Pierre Guetschel (#1388)Ensures that
checkparameter inmne_bids.BIDSPath.update()is passed tomne_bids.BIDSPath, by Teon Brooks (#1411)minor: added T2w to the suffix allowlist, by Harrison Ritz (#1420)
⚕️ Code health#
Tests that were adding or deleting files to/from a session-scoped dataset now properly clean up after themselves, by Daniel McCloy (#1347)