What’s new?#
Version 0.18 (unreleased)#
Detailed list of changes#
🚀 Enhancements#
mne_bids.write_raw_bids()has a new parameter electrodes_tsv_task which allows adding the task entity to the electrodes.tsv filepath, by Alex Lopez Marquez (#1424)Extended the configuration to recognise motion as a valid BIDS datatype by Julius Welzel (#1430)
Better control of verbosity in several functions, by Bruno Aristimunha (#1449)
Added parallel reading and writing in all the open operations using _open_lock mechanism from mne, creating a small wrapper to manage the locks by Bruno Aristimunha (#1451)
mne_bids.BIDSPath.match()now short-circuits root directory scans whensubject,session, ordatatypeentities are known, reducing lookup time on large datasets, by Bruno Aristimunha and Maximilien Chaumon (#1450)
🧐 API and behavior changes#
tracksysaccepted as argument inmne_bids.BIDSPath()by Julius Welzel (#1430)mne_bids.read_raw_bids()has a new parameteron_ch_mismatchthat controls behaviour when there is a mismatch between channel names inchannels.tsvand the raw data; accepted values are'raise'(default),'reorder', and'rename', by Kalle Mäkelä.Column names read from
.tsvare now converted fromnumpy.str_class to built-instrclass, by Daniel McCloy (#1475).
🛠 Requirements#
MNE-BIDS now requires Python 3.11 or higher.
Including
filelockas a dependency to handle atomic file writing and parallel processing support by Bruno Aristimunha (#1451)None yet
🪲 Bug fixes#
Fixed a bug that modified the name and help message of some of the available commands, by Alex Lopez Marquez (#1441)
Updated MEG/iEEG writers to satisfy the stricter checks in the latest BIDS validator releases: BTi/4D run folders now retain their
.pdfsuffix (falling back to the legacy naming when an older validator is detected), KIT marker files encode the run via theacqentity instead ofrun, datasets lacking iEEG montages receive placeholderelectrodes.tsv/coordsystem.jsonfiles, and theAssociatedEmptyRoomentry stores dataset-relative paths by Bruno Aristimunha (#1449)Made the lock helpers skip reference counting when the optional
filelockdependency is missing, preventing spuriousAttributeErrorcrashes during reads, by Bruno Aristimunha (#1469)Fixed a bug in
mne_bids.read_raw_bids()that caused it to fail when reading BIDS datasets where the acquisition time was specified in local time rather than UTC only in Windows, by Bruno Aristimunha (#1452)Fixed bug in
write_raw_bids()where incorrect unit was sometimes written intochannels.tsvfile when converting data to BrainVision, EDF, or EEGLAB formats, by Daniel McCloy (#1475)Converting data to EDF format while also anonymizing it will now yield valid EDF files (with
startdateset to 1985-01-01 00:00:00); the BIDS-compliant anonymized date will still be stored inscans.tsvfile and restored to the in-memory Raw object when read usingread_raw_bids(), by Daniel McCloy (#1479)
⚕️ Code health#
Made
mne_bids.copyfiles.copyfile_brainvision()output more meaningful error messages when encountering problematic files, by Stefan Appelhoff (#1444)Raised the minimum
edfiorequirement to0.4.10, eeglabio to0.1.0by Bruno Aristimunha (#1449)Relaxed EDF padding warnings in the test suite to accommodate upstream changes by Bruno Aristimunha (#1449)
Adapt to upstream switch to new reader package for Neuroscan-Curry-format files, by Daniel McCloy (#1475)