Version 0.13 (2016-09-27)#
Changelog#
Add new class
AcqParserFIF
to parse Elekta/Neuromag MEG acquisition info, allowing e.g. collecting epochs according to acquisition-defined averaging categories by Jussi NurminenAdds automatic determination of FIR filter parameters
filter_length
,l_trans_bandwidth
, andh_trans_bandwidth
and addsphase
argument in e.g. inmne.io.Raw.filter()
by Eric LarsonAdds faster
n_fft='auto'
option tomne.io.Raw.apply_hilbert()
by Eric LarsonAdds new function
mne.time_frequency.csd_array
to compute the cross-spectral density of multivariate signals stored in an array, by Nick FotiAdd order params ‘selection’ and ‘position’ for
mne.viz.plot_raw()
to allow plotting of specific brain regions by Jaakko LeppakangasAdded the ability to decimate
mne.Evoked
objects withmne.Evoked.decimate()
by Eric LarsonAdd generic array-filtering function
mne.filter.filter_data()
by Eric Larsonmne.viz.plot_trans
now also shows head position indicators by Christian BrodbeckAdd label center of mass function
mne.Label.center_of_mass()
by Eric LarsonAdded
mne.viz.plot_ica_properties()
that allows plotting of independent component properties similar topop_prop
in EEGLAB. Alsomne.preprocessing.ICA
hasmne.preprocessing.ICA.plot_properties()
method now. Added by Mikołaj MagnuskiAdd second-order sections (instead of
(b, a)
form) IIR filtering for reduced numerical error by Eric LarsonAdd interactive colormap option to image plotting functions by Jaakko Leppakangas
Add support for the University of Maryland KIT system by Christian Brodbeck
Add support for *.elp and *.hsp files to the KIT2FIFF converter and
mne.channels.read_dig_montage
by Teon Brooks and Christian BrodbeckAdd option to preview events in the KIT2FIFF GUI by Christian Brodbeck
Add approximation of size of
io.Raw
,Epochs
, andEvoked
inrepr()
by Eric LarsonAdd possibility to select a subset of sensors by lasso selector to
mne.viz.plot_sensors()
andmne.viz.plot_raw()
when using order=’selection’ or order=’position’ by Jaakko LeppakangasAdd the option to plot brain surfaces and source spaces to
viz.plot_bem()
by Christian BrodbeckAdd the
--filterchpi
option to mne browse_raw, by Felix RaimundoAdd the
--no-decimate
option to mne make_scalp_surfaces to skip the high-resolution surface decimation step, by Eric LarsonAdd new class
mne.decoding.EMS
to transform epochs with the event-matched spatial filters and add ‘cv’ parameter tomne.decoding.compute_ems()
, by Jean-Remi KingAdded
mne.time_frequency.EpochsTFR
and average parameter inmne.time_frequency.tfr_morlet()
andmne.time_frequency.tfr_multitaper()
to compute time-frequency transforms on single trial epochs without averaging, by Jean-Remi King and Alex GramfortAdded
mne.decoding.TimeFrequency
to transform signals in scikit-learn pipelines, by Jean-Remi KingAdded
mne.decoding.UnsupervisedSpatialFilter
providing interface for scikit-learn decomposition algorithms to be used with MNE data, by Jean-Remi King and Asish PandaAdded support for multiclass decoding in
mne.decoding.CSP
, by Jean-Remi King and Alexandre BarachantComponents obtained from
mne.preprocessing.ICA
are now sorted by explained variance, by Mikołaj MagnuskiAdding an EEG reference channel using
mne.add_reference_channels()
will now use its digitized location from the FIFF file, if present, by Chris BaileyAdded interactivity to
mne.preprocessing.ICA.plot_components()
- passing an instance ofio.Raw
orEpochs
ininst
argument allows to open component properties by clicking on component topomaps, by Mikołaj MagnuskiAdds new function
mne.viz.plot_compare_evokeds()
to show multiple evoked time courses at a single location, or the mean over a ROI, or the GFP, automatically averaging and calculating a CI if multiple subjects are given, by Jona SassenhagenAdded
transform_into
parameter intomne.decoding.CSP
to retrieve the average power of each source or the time course of each source, by Jean-Remi KingAdded support for reading MaxShield (IAS) evoked data (e.g., from the acquisition machine) in
mne.read_evokeds()
by Eric LarsonAdded support for functional near-infrared spectroscopy (fNIRS) channels by Jaakko Leppakangas
Added
mne.io.Raw.acqparser
convenience attribute formne.AcqParserFIF
by Eric LarsonAdded example of Representational Similarity Analysis, by Jean-Remi King
BUG#
Fixed a bug where selecting epochs using hierarchical event IDs (HIDs) was and-like instead of or-like. When doing e.g.
epochs[('Auditory', 'Left')]
, previously all trials that contain'Auditory'
and'Left'
(like'Auditory/Left'
) would be selected, but now any conditions matching'Auditory'
or'Left'
will be selected (like'Auditory/Left'
,'Auditory/Right'
, and'Visual/Left'
). This is now consistent with how epoch selection was done without HID tags, e.g.epochs[['a', 'b']]
would select all epochs of type'a'
and type'b'
. By Eric LarsonFixed Infomax/Extended Infomax when the user provides an initial weights matrix by Jair Montoya Martinez
Fixed the default raw FIF writing buffer size to be 1 second instead of 10 seconds by Eric Larson
Fixed channel selection order when MEG channels do not come first in
mne.preprocessing.maxwell_filter()
by Eric LarsonFixed color ranges to correspond to the colorbar when plotting several time instances with
mne.viz.plot_evoked_topomap()
by Jaakko LeppakangasAdded units to
mne.io.read_raw_brainvision()
for reading non-data channels and enable default behavior of inferring channel type by unit by Jaakko Leppakangas and Pablo-AriasFixed minor bugs with
mne.Epochs.resample()
andmne.Epochs.decimate()
by Eric LarsonFixed a bug where duplicate vertices were not strictly checked by
mne.simulation.simulate_stc()
by Eric LarsonFixed a bug where some FIF files could not be read with
mne.io.show_fiff()
by Christian Brodbeck and Eric LarsonFixed a bug where
merge_grads=True
causesmne.viz.plot_evoked_topo()
to fail when plotting a list of evokeds by Jaakko LeppakangasFixed a bug when setting multiple bipolar references with
set_bipolar_reference()
by Marijn van Vliet.Fixed image scaling in
mne.viz.plot_epochs_image()
when plotting more than one channel by Jaakko LeppakangasFixed
mne.preprocessing.Xdawn
to fit shuffled epochs by Jean-Remi KingFixed a bug with channel order determination that could lead to an
AssertionError
when usingmne.Covariance
matrices by Eric LarsonFixed the check for CTF gradient compensation in
mne.preprocessing.maxwell_filter()
by Eric LarsonFixed the import of EDF files with encoding characters in
mne.io.read_raw_edf()
by Guillaume DumasFixed
mne.Epochs
to ensure that detrend parameter is not a boolean by Jean-Remi KingFixed bug with
mne.realtime.FieldTripClient.get_data_as_epoch
whenpicks=None
which crashed the function by Mainak JasFixed reading of units in
.elc
montage files (fromUnitsPosition
field) so thatmne.channels.Montage
objects are now returned with thepos
attribute correctly in meters, by Chris MullinsFixed reading of BrainVision files by Phillip Alday:
Greater support for BVA files, especially older ones: alternate text coding schemes with fallback to Latin-1 as well as units in column headers
Use online software filter information when present
Fix comparisons of filter settings for determining “strictest”/”weakest” filter
Weakest filter is now used for heterogeneous channel filter settings, leading to more consistent behavior with filtering methods applied to a subset of channels (e.g.
Raw.filter
withpicks != None
).Fixed plotting and timing of
Annotations
and restricted addition of annotations outside data range to prevent problems with cropping and concatenating data by Jaakko LeppakangasFixed ICA plotting functions to refer to IC index instead of component number by Andreas Hojlund and Jaakko Leppakangas
Fixed bug with
picks
when interpolating MEG channels by Mainak Jas.Fixed bug in padding of Stockwell transform for signal of length a power of 2 by Johannes Niediek
API#
The
add_eeg_ref
argument in core functions likemne.io.read_raw_fif()
andmne.Epochs
has been deprecated in favor of usingmne.set_eeg_reference()
and equivalent instance methods likeraw.set_eeg_reference()
. In functions likemne.io.read_raw_fif()
where the default in 0.13 and older versions isadd_eeg_ref=True
, the default will change toadd_eeg_ref=False
in 0.14, and the argument will be removed in 0.15.Multiple aspects of FIR filtering in MNE-Python has been refactored:
New recommended defaults for
l_trans_bandwidth='auto'
,h_trans_bandwidth='auto'
, andfilter_length='auto'
. This should generally reduce filter artifacts at the expense of slight decrease in effective filter stop-band attenuation. For details see Defaults in MNE-Python. The default values ofl_trans_bandwidth=h_trans_bandwidth=0.5
andfilter_length='10s'
will change to'auto'
in 0.14.The
filter_length=None
option (i.e. uselen(x)
) has been deprecated.An improved
phase='zero'
zero-phase FIR filtering has been added. Instead of running the designed filter forward and backward, the filter is applied once and we compensate for the linear phase of the filter. The previousphase='zero-double'
default will change tophase='zero'
in 0.14.A warning is provided when the filter is longer than the signal of interest, as this is unlikely to produce desired results.
Previously, if the filter was as long or longer than the signal of interest, direct FFT-based computations were used. Now a single code path (overlap-add filtering) is used for all FIR filters. This could cause minor changes in how short signals are filtered.
Support for Python 2.6 has been dropped, and the minimum supported dependencies are NumPy 1.8, SciPy 0.12, and Matplotlib 1.3 by Eric Larson
When CTF gradient compensation is applied to raw data, it is no longer reverted on save of
mne.io.Raw.save()
by Eric LarsonAdds
mne.time_frequency.csd_epochs
to replacemne.time_frequency.csd_compute_epochs
for naming consistency.mne.time_frequency.csd_compute_epochs
is now deprecated and will be removed in mne 0.14, by Nick FotiWeighted addition and subtraction of
Evoked
asev1 + ev2
andev1 - ev2
have been deprecated, use explicitmne.combine_evoked(..., weights='nave')
instead by Eric LarsonDeprecated support for passing a list of filenames to
mne.io.Raw
constructor, usemne.io.read_raw_fif()
andmne.concatenate_raws()
instead by Eric LarsonAdded options for setting data and date formats manually in
mne.io.read_raw_cnt()
by Jaakko LeppakangasNow channels with units of ‘C’, ‘µS’, ‘uS’, ‘ARU’ and ‘S’ will be turned to misc by default in
mne.io.read_raw_brainvision()
by Jaakko LeppakangasAdd
mne.io.anonymize_info()
function to anonymize measurements and add methods tomne.io.Raw
,mne.Epochs
andmne.Evoked
, by Jean-Remi KingNow it is possible to plot only a subselection of channels in
mne.viz.plot_raw()
by using an array for order parameter by Jaakko LeppakangasEOG channels can now be included when calling
mne.preprocessing.ICA.fit()
and a proper error is raised when trying to include unsupported channels by Alexander Rudiukmne.concatenate_epochs()
andmne.compute_covariance()
now check to see if allEpochs
instances have the same MEG-to-Head transformation, and errors by default if they do not by Eric LarsonAdded option to pass a list of axes to
mne.viz.plot_epochs_image()
by Mikołaj MagnuskiConstructing IIR filters in
mne.filter.construct_iir_filter()
defaults tooutput='ba'
in 0.13 but this will be changed tooutput='sos'
by Eric LarsonAdd
zorder
parameter tomne.Evoked.plot()
and derived functions to sort allow sorting channels by e.g. standard deviation, by Jona SassenhagenThe
baseline
parameter ofmne.Epochs.apply_baseline()
is set by default (None, 0), by Felix RaimundoAdds
mne.Evoked.apply_baseline()
to be consistent withmne.Epochs.apply_baseline()
, by Felix RaimundoDeprecated the
baseline
parameter inmne.Evoked
, by Felix RaimundoThe API of
mne.SourceEstimate.plot()
andmne.viz.plot_source_estimates()
has been updated to reflect current PySurfer 0.6 API. Theconfig_opts
parameter is now deprecated and will be removed in mne 0.14, and the default representation for time will change fromms
tos
in mne 0.14. By Christian BrodbeckThe default dataset location has been changed from
examples/
in the MNE-Python root directory to~/mne_data
in the user’s home directory, by Eric LarsonA new option
set_env
has been added tomne.set_config()
that defaults toFalse
in 0.13 but will change toTrue
in 0.14, by Eric LarsonThe
compensation
parameter inmne.io.read_raw_fif()
has been deprecated in favor of the methodmne.io.Raw.apply_gradient_compensation()
by Eric Larsonmne.decoding.EpochsVectorizer
has been deprecated in favor ofmne.decoding.Vectorizer
by Asish PandaThe
epochs_data
parameter has been deprecated inmne.decoding.CSP
, in favour of theX
parameter to comply to scikit-learn API, by Jean-Remi KingDeprecated
mne.time_frequency.cwt_morlet
andmne.time_frequency.single_trial_power
in favour ofmne.time_frequency.tfr_morlet()
with parameter average=False, by Jean-Remi King and Alex GramfortAdd argument
mask_type
tomne.read_events()
andmne.find_events()
to support MNE-C style of trigger masking by Teon Brooks and Eric LarsonExtended Infomax is now the new default in
mne.preprocessing.infomax()
(extended=True
), by Clemens Brunnermne.io.read_raw_eeglab()
andmne.read_epochs_eeglab()
now take additional argumentuint16_codec
that allows to define the encoding of character arrays in set file. This helps in rare cases when reading a set file fails withTypeError: buffer is too small for requested array
. By Mikołaj MagnuskiAdded
mne.decoding.TemporalFilter
to filter data in scikit-learn pipelines, by Asish Pandamne.preprocessing.create_ecg_epochs()
now includes all the channels whenpicks=None
by Jaakko Leppakangasmne.set_eeg_reference()
now allows moving from a custom to an average EEG reference by Marijn van Vliet