Version 1.5.0 (2023-08-14)#
Enhancements#
Add reader for NSx files (Blackrock Microsystems Data Acquisition Systems) (#11432 by new contributor Proloy Das)
Add
cmap
argument for themne.viz.plot_sensors()
(#11720 by new contributor Gennadiy Belonosov)Return unmodified instance if new sampling frequency is identical to the original in
mne.io.Raw.resample()
,mne.Epochs.resample()
,mne.Evoked.resample()
andmne.SourceEstimate.resample()
(#11736 by new contributor Gennadiy Belonosov)When failing to locate a file, we now print the full path in quotation marks to help spot accidentally added trailing spaces (#11718 by Richard Höchenberger)
Add standard montage lookup table for
easycap-M43
(#11744 by new contributor Diptyajit Das)Added
mne.preprocessing.eyetracking.Calibration
to store eye-tracking calibration info, andmne.preprocessing.eyetracking.read_eyelink_calibration()
to read calibration data from EyeLink systems (#11719 by Scott Huberty)Ocular
mne.Annotations
read in bymne.io.read_raw_eyelink()
are now channel aware. This means if the left eye blinked, the associated annotation will store this in the'ch_names'
key. (#11746 by Scott Huberty)Added
mne.preprocessing.eyetracking.interpolate_blinks()
to linear interpolate eyetrack signals during blink periods. (#11740 by Scott Huberty)Added a section for combining eye-tracking and EEG data to the preprocessing tutorial “working with eye tracker data in MNE-Python” (#11770 by Scott Huberty)
Added a
show_bytes
option to mne show_fiff to show byte offsets (#11800 by Eric Larson)Add
mne.Annotations.count()
andmne.count_annotations()
to count unique annotations (#11796 by Clemens Brunner)Split the display of
mne.preprocessing.ICA.plot_overlay()
between sensor types and display the RMS for MEG sensors and the GFP for EEG sensors in the second panel instead of the channel average (#11830 by Mathieu Scheltienne)Add
mne.Info.set_channel_types()
,mne.Info.rename_channels()
,mne.Info.plot_sensors()
,mne.Info.anonymize()
,mne.Info.set_meas_date()
(#11839 by Alex Rockhill)Curry and NEDF raw files can now also be read with the generic
mne.io.read_raw()
function (#11841 by Richard Höchenberger)
Bugs#
Fix bug in
mne.bem.convert_flash_mris()
to handle missing “flash5_reg.mgz” when processing “flash30” data. (#11842 by new contributor Hamza Abdelhedi)Fix bug where epochs
event_id
was not kept bymne.channels.combine_channels()
(#11786 by new contributor Samuel Louviot)Fix bug where user-provided codec was not used to read annotations when loading EEGLAB
.set
files (#11773 by new contributor Yiping Zuo)Fix bug that required curv.*h files to create Brain object (#11704 by new contributor Aaron Earle-Richardson)
Extended test to highlight bug in
mne.stats.permutation_t_test()
(#11575 by new contributor Joshua Calder-Travis)Fix bug that used wrong indices for line/label styles (sometimes causing an
IndexError
) inmne.preprocessing.ICA.plot_sources()
under certain conditions (#11808 by new contributor Joshua Calder-Travis)Fix bug with
read_raw_snirf()
to handle files with measurement time containing milliseconds (#11804 by new contributor Daniel Tse)Fix loading of EDF with mixed sampling frequencies with
mne.io.read_raw_edf()
: Upsampling is now applied to the entire signal and no longer block based, significantly reducing edge artifacts (#11549 by Simon Kern)Fix bug where
mne.io.read_raw_cnt()
imports unnecessary durations (#11828 by Jacob Woessner)Fix bug where
mne.viz.Brain.add_volume_labels()
used an incorrect orientation (#11730 by Alex Rockhill)Fix bug with
mne.forward.restrict_forward_to_label()
where cortical patch information was not adjusted (#11694 by Eric Larson)Fix bug with PySide6 compatibility (#11721 by Eric Larson)
Fix bug with
mne.io.Raw
,mne.SourceEstimate
, and related classes where thedecimate
andshift_time
methods were errantly added (#11853 by Eric Larson)Fix hanging interpreter with matplotlib figures using
mne/viz/_mpl_figure.py
in spyder console and jupyter notebooks (#11696 by Mathieu Scheltienne)Fix bug with overlapping text for
mne.Evoked.plot()
(#11698 by Alex Rockhill)Fix bug with
mne.preprocessing.corrmap()
where the template iteration had non-standard map averaging (#11857 by Eric Larson)For
mne.io.read_raw_eyelink()
, the default value of thegap_description
parameter is now'BAD_ACQ_SKIP'
, following MNE convention (#11719 by Scott Huberty)Fix bug with
mne.io.read_raw_fil()
where datasets without sensor positions would not import (#11733 by George O’Neill)Fix bug with
mne.chpi.compute_chpi_snr()
where cHPI being off for part of the recording or bad channels being defined led to an error or incorrect behavior (#11754, #11755 by Eric Larson)Allow int-like for the argument
id
ofmake_fixed_length_events
(#11748 by Mathieu Scheltienne)Fix bugs with
mne.decoding
classes (#11846 by Eric Larson): -mne.decoding.ReceptiveField
now setsrf.fit_intercept_
duringfit()
rather than overwritingrf.fit_intercept
-mne.decoding.SlidingEstimator
now returns the samedtype
asX
(usuallyfloat64
) insl.transform(X)
rather than always returningint
Fix bug with
mne.beamformer.make_lcmv()
where the source space was not checked properly when thelabel
argument was provided (#11852 by Eric Larson)Fix bug where
mne.io.read_raw_egi()
did not properly set the EEG reference location for the reference channel itself (#11822 by Eric Larson)Fix bug with legacy
plot_psd()
method where passed axes were not used (#11778 by Daniel McCloy)blink
mne.Annotations
read in bymne.io.read_raw_eyelink()
now begin with'BAD_'
, i.e.'BAD_blink'
, because ocular data are missing during blinks. (#11746 by Scott Huberty)Fix bug where mne show_fiff could fail with an ambiguous error if the file is corrupt (#11800 by Eric Larson)
Fix bug where annotation FIF files lacked an end block tag (#11800 by Eric Larson)
Fix display of
Annotations
inmne.preprocessing.ICA.plot_sources
when theraw
hasraw.first_samp != 0
and doesn’t have a measurement date (#11766 by Mathieu Scheltienne)Fix bug in read_raw_eyelink, where STATUS information of samples was always assumed to be in the file. Performance and memory improvements were also made. (#11823 by Scott Huberty)
Fix closing of a topographic map created from an interactive drag on an Evoked or PSD plot (#11862 by Mathieu Scheltienne)
API changes#
The
baseline
argument can now be array-like (e.g.list
,tuple
,np.ndarray
, …) instead of only atuple
(#11713 by Clemens Brunner)The
events
andevent_id
parameters ofEpochs.plot()
now accept boolean values; see docstring for details (#11445 by Daniel McCloy and Clemens Brunner)Deprecated
gap_description
keyword argument ofmne.io.read_raw_eyelink()
, which will be removed in mne version 1.6, in favor of usingmne.Annotations.rename()
(#11719 by Scott Huberty)