Version 0.13 (2016-09-27)#
Changelog#
Add new class
AcqParserFIFto 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_bandwidthand addsphaseargument 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_arrayto 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.Evokedobjects withmne.Evoked.decimate()by Eric LarsonAdd generic array-filtering function
mne.filter.filter_data()by Eric Larsonmne.viz.plot_transnow 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_propin EEGLAB. Alsomne.preprocessing.ICAhasmne.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_montageby Teon Brooks and Christian BrodbeckAdd option to preview events in the KIT2FIFF GUI by Christian Brodbeck
Add approximation of size of
io.Raw,Epochs, andEvokedinrepr()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
--filterchpioption to mne browse_raw, by Felix RaimundoAdd the
--no-decimateoption to mne make_scalp_surfaces to skip the high-resolution surface decimation step, by Eric LarsonAdd new class
mne.decoding.EMSto transform epochs with the event-matched spatial filters and add ‘cv’ parameter tomne.decoding.compute_ems(), by Jean-Rémi KingAdded
mne.time_frequency.EpochsTFRand 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-Rémi King and Alex GramfortAdded
mne.decoding.TimeFrequencyto transform signals in scikit-learn pipelines, by Jean-Rémi KingAdded
mne.decoding.UnsupervisedSpatialFilterproviding interface for scikit-learn decomposition algorithms to be used with MNE data, by Jean-Rémi King and Asish PandaAdded support for multiclass decoding in
mne.decoding.CSP, by Jean-Rémi King and Alexandre BarachantComponents obtained from
mne.preprocessing.ICAare 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.RaworEpochsininstargument 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_intoparameter intomne.decoding.CSPto retrieve the average power of each source or the time course of each source, by Jean-Rémi 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.acqparserconvenience attribute formne.AcqParserFIFby Eric LarsonAdded example of Representational Similarity Analysis, by Jean-Rémi 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=Truecausesmne.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.Xdawnto fit shuffled epochs by Jean-Rémi KingFixed a bug with channel order determination that could lead to an
AssertionErrorwhen usingmne.Covariancematrices 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.Epochsto ensure that detrend parameter is not a boolean by Jean-Rémi KingFixed bug with
mne.realtime.FieldTripClient.get_data_as_epochwhenpicks=Nonewhich crashed the function by Mainak JasFixed reading of units in
.elcmontage files (fromUnitsPositionfield) so thatmne.channels.Montageobjects are now returned with theposattribute 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.filterwithpicks != None).Fixed plotting and timing of
Annotationsand 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
pickswhen 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_refargument in core functions likemne.io.read_raw_fif()andmne.Epochshas 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=Falsein 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.5andfilter_length='10s'will change to'auto'in 0.14.The
filter_length=Noneoption (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_epochsto replacemne.time_frequency.csd_compute_epochsfor naming consistency.mne.time_frequency.csd_compute_epochsis now deprecated and will be removed in mne 0.14, by Nick FotiWeighted addition and subtraction of
Evokedasev1 + ev2andev1 - ev2have been deprecated, use explicitmne.combine_evoked(..., weights='nave')instead by Eric LarsonDeprecated support for passing a list of filenames to
mne.io.Rawconstructor, 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.Epochsandmne.Evoked, by Jean-Rémi 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 allEpochsinstances 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
zorderparameter tomne.Evoked.plot()and derived functions to sort allow sorting channels by e.g. standard deviation, by Jona SassenhagenThe
baselineparameter 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
baselineparameter 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_optsparameter is now deprecated and will be removed in mne 0.14, and the default representation for time will change frommstosin mne 0.14. By Christian BrodbeckThe default dataset location has been changed from
examples/in the MNE-Python root directory to~/mne_datain the user’s home directory, by Eric LarsonA new option
set_envhas been added tomne.set_config()that defaults toFalsein 0.13 but will change toTruein 0.14, by Eric LarsonThe
compensationparameter inmne.io.read_raw_fif()has been deprecated in favor of the methodmne.io.Raw.apply_gradient_compensation()by Eric Larsonmne.decoding.EpochsVectorizerhas been deprecated in favor ofmne.decoding.Vectorizerby Asish PandaThe
epochs_dataparameter has been deprecated inmne.decoding.CSP, in favour of theXparameter to comply to scikit-learn API, by Jean-Rémi KingDeprecated
mne.time_frequency.cwt_morletandmne.time_frequency.single_trial_powerin favour ofmne.time_frequency.tfr_morlet()with parameter average=False, by Jean-Rémi King and Alex GramfortAdd argument
mask_typetomne.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_codecthat 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.TemporalFilterto filter data in scikit-learn pipelines, by Asish Pandamne.preprocessing.create_ecg_epochs()now includes all the channels whenpicks=Noneby Jaakko Leppakangasmne.set_eeg_reference()now allows moving from a custom to an average EEG reference by Marijn van Vliet