mne.io.set_eeg_reference()
to remove an average reference projector when setting the reference to []
(i.e. do not change the existing reference) by Clemens Brunnermne.channels.Layout.plot()
and mne.viz.plot_layout()
now allows plotting a subset of channels with picks
argument by Jaakko Leppakangasmne.channels.read_montage()
by Jean-Baptiste Schirattimne.decoding.cross_val_multiscore()
to allow scoring of multiple tasks, typically used with mne.decoding.SlidingEstimator
, by Jean-Remi Kingmne.decoding.ReceptiveField
module for modeling electrode response to input features by Chris Holdgrafmne.decoding.TimeDelayingRidge
class, used by default by mne.decoding.ReceptiveField
, to speed up auto- and cross-correlation computations and enable Laplacian regularization by Ross Maddox and Eric Larsonmne.datasets.mtrf
dataset by Chris Holdgrafmne.decoding.SPoC
to fit and apply spatial filters based on continuous target variables, by Jean-Remi King and Alexandre Barachantreject_by_annotation
option to mne.preprocessing.find_eog_events()
(which is also utilised by mne.preprocessing.create_eog_epochs()
) to omit data that is annotated as bad by Jaakko Leppakangasmne.time_frequency.EpochsTFR.save()
by Jaakko Leppakangasmne.io.Raw.plot()
by Jaakko Leppakangasaxes
parameter to plot_topo functions by Jaakko Leppakangasmne.chpi.filter_chpi()
by Eric Larsonmne.channels.Montage.plot()
, mne.channels.DigMontage.plot()
, and mne.viz.plot_montage()
now allow plotting channel locations as a topomap by Clemens Brunnerbackground_color
parameter to mne.Evoked.plot_topo()
and mne.viz.plot_evoked_topo()
and improve axes rendering as done in mne.viz.plot_compare_evokeds()
by Alex Gramfortmne.io.read_raw_edf()
by Nicolas Barascudmne.io.find_edf_events()
for getting the events as they are in the EDF/GDF header by Jaakko Leppakangasmne.io.Raw.plot()
and mne.Epochs.plot()
using (automatic) decimation based on low-passing with decim='auto'
parameter by Eric Larson and Jaakko Leppakangasmne.inverse_sparse.mxne_optim.dgap_l21l1
for computing the duality gap for TF-MxNE as the new stopping criterion by Daniel StrohmeierDipole
objects in sparse source imaging methods by Daniel Strohmeiermne.inverse_sparse.make_stc_from_dipoles()
to generate stc objects from lists of dipoles by Daniel Strohmeiermne.channels.find_ch_connectivity()
that tries to infer the correct connectivity template using channel info. If no template is found, it computes the connectivity matrix using Delaunay
triangulation of the 2d projected channel positions by Jaakko Leppakangasmne.viz.plot_source_estimates()
by Jaakko Leppakangasmne.channels.Montage.get_pos2d()
to get the 2D positions of channels in a montage by Clemens Brunnermne.channels.read_montage()
by Eric Larsonmne.report.Report
by Eric Larsonmne.fit_dipole()
and mne.read_dipole()
by Eric Larsonmne.SourceEstimate.data
is now writable, writing to it will also update mne.SourceEstimate.times
by Marijn van Vlietmne.io.Raw.plot()
and mne.Epochs.plot()
now use anti-aliasing to draw signals by Clemens BrunnerDigMontage
to import digitization to mne.gui.coregistration()
by Jaakko Leppakangasmne.channels.get_builtin_montages()
to list all built-in montages by Clemens Brunnermne.decoding.SlidingEstimator
and mne.decoding.GeneralizingEstimator
now accept **fit_params
at fitting by Jean-Remi Kingmne.VectorSourceEstimate
class which enables working with both source power and dipole orientations by Marijn van Vlietpick_ori='vector'
to mne.minimum_norm.apply_inverse()
to produce mne.VectorSourceEstimate
by Marijn van Vlietnumpy.random.RandomState
argument to seed
in statistical clustering functions
and better documentation of exact 1-sample tests by Eric Larsonmne.viz.plot_epochs_image()
/mne.Epochs.plot_image()
with regards to grouping by or aggregating over channels. See the new example at examples/visualization/plot_roi_erpimage_by_rt.py by Jona Sassenhagenmne.viz.plot_compare_evokeds()
by Jona Sassenhagen and Denis Engemannspatial_src_connectivity()
and spatio_temporal_src_connectivity()
by Alex Gramfortmne.viz.plot_raw()
or mne.io.Raw.plot()
) with events now includes event numbers (if there are not more than 50 events on a page) by Clemens Brunnermne.Epochs.filter()
and mne.Evoked.filter()
, as well as pad
argument to mne.io.Raw.filter()
by Eric Larsonmne.datasets.fetch_hcp_mmp_parcellation()
by Eric Larsonmne.compute_morph_matrix()
by Christian Brodbeckreturn_drop_log
to mne.preprocessing.compute_proj_eog()
and mne.preprocessing.compute_proj_ecg()
by Eric LarsonFixed a bug when creating spherical volumetric grid source spaces in setup_volume_source_space()
by improving the minimum-distance computations, which in general will decrease the number of used source space points by Eric Larson
Fix bug in mne.io.read_raw_brainvision()
read .vhdr files with ANSI codepage by Okba Bekhelifi and Alex Gramfort
Fix unit scaling when reading in EGI digitization files using mne.channels.read_dig_montage()
by Matt Boggess
Fix picks
default in mne.io.Raw.filter()
to include ref_meg
channels by default by Eric Larson
Fix mne.decoding.CSP
order of spatial filter in patterns_
by Alexandre Barachant
mne.concatenate_epochs()
now maintains the relative position of events during concatenation by Alexandre Barachant
Fix bug in script mne make_scalp_surfaces by Denis Engemann (this bug prevented creation of high-resolution meshes when they were absent in the first place.)
Fix writing of raw files with empty set of annotations by Jaakko Leppakangas
Fix bug in mne.preprocessing.ICA.plot_properties()
where merging gradiometers would fail by Jaakko Leppakangas
Fix mne.viz.plot_sensors()
to maintain proper aspect ratio by Eric Larson
Fix mne.viz.plot_topomap()
to allow 0 contours by Jaakko Leppakangas
Fix mne.preprocessing.ICA
source-picking to increase threshold for rank estimation to 1e-14 by Jesper Duemose Nielsen
Fix mne.set_bipolar_reference()
to support duplicates in anodes by Jean-Baptiste Schiratti and Alex Gramfort
Fix visuals of mne.viz.plot_evoked()
and a bug where ylim changes when using interactive topomap plotting by Jaakko Leppakangas
Fix mne.Evoked.plot_topomap()
when using the mask
argument with paired gradiometers by Eric Larson
Fix bug in mne.Label.fill()
where an empty label raised an error, by Eric Larson
Fix mne.io.read_raw_ctf()
to also include the samples in the last block by Jaakko Leppakangas
Fix mne.preprocessing.ICA.save()
to close file before attempting to delete it when write fails by Jesper Duemose Nielsen
Fix mne.simulation.simulate_evoked()
to use nave parameter instead of snr, by Yousra Bekhti
Fix mne.read_bem_surfaces()
for BEM files missing normals by Christian Brodbeck
Fix mne.transform_surface_to()
to actually copy when copy=True
by Eric Larson
Fix mne.io.read_raw_brainvision()
to read vectorized data correctly by Jaakko Leppakangas and Phillip Alday
Fix mne.connectivity.spectral_connectivity()
so that if n_jobs > 1
it does not ignore last n_epochs % n_jobs
epochs by Mikołaj Magnuski
Fix mne.io.read_raw_edf()
to infer sampling rate correctly when reading EDF+ files where tal-channel has a higher sampling frequency by Jaakko Leppakangas
Fix default value of kind='topomap'
in mne.channels.Montage.plot()
to be consistent with mne.viz.plot_montage()
by Clemens Brunner
Fix bug in to_data_frame
where non-consecutive picks would make the function crash by Jaakko Leppakangas
Fix channel picking and drop in mne.time_frequency.EpochsTFR
by Lukáš Hejtmánek
Fix mne.SourceEstimate.transform()
to properly update mne.SourceEstimate.times
by Marijn van Vliet
Fix mne.viz.plot_evoked_joint()
to allow custom titles without appending information about the channels by Jaakko Leppakangas
Fix writing a forward solution after being processed by mne.forward.restrict_forward_to_label()
or mne.forward.restrict_forward_to_stc()
by Marijn van Vliet
Fix bug in mne.viz.plot_compare_evokeds()
where truncate_yaxis
was ignored (default is now False
), by Jona Sassenhagen
Fix bug in mne.viz.plot_evoked()
where all xlabels were removed when using spatial_colors=True
, by Jesper Duemose Nielsen
Fix field mapping mne.make_field_map()
and MEG bad channel interpolation functions (e.g., mne.Evoked.interpolate_bads()
) to choose a better number of components during pseudoinversion when few channels are available, by Eric Larson
Fix bug in mne.io.read_raw_brainvision()
, changed default to read coordinate information if available and added test, by Jesper Duemose Nielsen
Fix bug in mne.SourceEstimate.to_original_src()
where morphing failed if two vertices map to the same target vertex, by Marijn van Vliet
Fix mne.preprocessing.Xdawn
to give verbose error messages about rank deficiency and handle transforming mne.Evoked
, by Eric Larson
Fix bug in DC and Nyquist frequency multitaper PSD computations, e.g. in mne.time_frequency.psd_multitaper()
, by Eric Larson
Fix default padding type for mne.Epochs.resample()
and mne.Evoked.resample()
to be 'edge'
by default, by Eric Larson
Fix mne.inverse_sparse.mixed_norm()
, mne.inverse_sparse.tf_mixed_norm()
and mne.inverse_sparse.gamma_map()
to work with volume source space and sphere head models in MEG by Alex Gramfort and Yousra Bekhti
Fix mne.Evoked.as_type()
channel renaming to append '_v'
instead of '_virtual'
to channel names to comply with shorter naming (15 char) requirements, by Eric Larson
Fix treatment of CTF HPI coils as fiducial points in mne.gui.coregistration()
by Eric Larson
Fix resampling of events along with raw in mne.io.Raw()
to now take into consideration the value of first_samp
by Chris Bailey
Fix labels of PSD plots in mne.viz.plot_raw_psd()
by Alejandro Weinstein
Fix depth weighting of sparse solvers (mne.inverse_sparse.mixed_norm()
, mne.inverse_sparse.tf_mixed_norm()
and mne.inverse_sparse.gamma_map()
) with free orientation source spaces to improve orientation estimation by Alex Gramfort and Yousra Bekhti
Fix the threshold in mne.beamformer.rap_music()
to properly estimate the rank by Yousra Bekhti
Fix treatment of vector inverse in mne.minimum_norm.apply_inverse_epochs()
by Emily Stephen
Fix mne.find_events()
when passing a list as stim_channel parameter by Alex Gramfort
- Fix parallel processing when computing covariance with shrinkage estimators by Denis Engemann
skip_by_annotation
to mne.io.Raw.filter()
to process data concatenated with e.g. mne.concatenate_raws()
separately. This parameter will default to the old behavior (treating all data as a single block) in 0.15 but will change to skip_by_annotation='edge'
, which will separately filter the concatenated chunks separately, in 0.16. This should help prevent potential problems with filter-induced ringing in concatenated files, by Eric Larson"ICA000"
, to match indexing schemes in mne.preprocessing.ICA
and related functions, by Stefan Repplinger and Eric Larsonmne.beamformer.make_lcmv()
and mne.beamformer.apply_lcmv()
, mne.beamformer.apply_lcmv_epochs()
, and mne.beamformer.apply_lcmv_raw()
to enable the separate computation and application of LCMV beamformer weights by Britta Westner, Alex Gramfort, and Denis Engemann.weight_norm
parameter to enable both unit-noise-gain beamformer and neural activity index (weight normalization) and make whitening optional by allowing noise_cov=None
in mne.beamformer.lcmv()
, mne.beamformer.lcmv_epochs()
, and mne.beamformer.lcmv_raw()
, by Britta Westner, Alex Gramfort, and Denis Engemann.fir_design='firwin'
(default in the next 0.16 release) that gets improved attenuation using fewer samples compared to fir_design='firwin2'
(default in the current 0.15 release) by Eric Larsonmne.beamformer.rap_music()
consistent with the GOF of dipoles returned by mne.fit_dipole()
by Alex Gramfort.mne.decoding.SlidingEstimator
will now replace mne.decoding.TimeDecoding
to make it generic and fully compatible with scikit-learn, by Jean-Remi King and Alex Gramfortmne.decoding.GeneralizingEstimator
will now replace mne.decoding.GeneralizationAcrossTime
to make it generic and fully compatible with scikit-learn, by Jean-Remi King and Alex Gramfortmne.viz.decoding.plot_gat_times
, mne.viz.decoding.plot_gat_matrix
are now deprecated. Use matplotlib instead as shown in the examples, by Jean-Remi King and Alex Gramfortnorm_trace
parameter to control single-epoch covariance normalization in :class:mne.decoding.CSP, by Jean-Remi Kingshow_names
in function mne.viz.plot_sensors()
and methods mne.Evoked.plot_sensors()
, mne.Epochs.plot_sensors()
and mne.io.Raw.plot_sensors()
to show only a subset of channel names by Jaakko Leppakangasmne.find_events()
mask_type
parameter will change from 'not_and'
to 'and'
in 0.16.mne.io.read_raw_edf()
has now 'auto'
option for stim_channel
(default in version 0.16) that automatically detects if EDF annotations or GDF events exist in the header and constructs the stim channel based on these events by Jaakko Leppakangasmne.io.Raw.plot_psd()
now rejects data annotated bad by default. Turn off with reject_by_annotation=False
, by Eric Larsonmne.set_eeg_reference()
and the related methods (e.g., mne.io.Raw.set_eeg_reference()
) have a new argument projection
, which if set to False directly applies an average reference instead of adding an SSP projector, by Clemens Brunnerplot_trans
in favor of mne.viz.plot_alignment()
and add bem
parameter for plotting conductor model by Jaakko Leppakangasmne.beamformer.tf_lcmv()
now has a raw
parameter to accommodate epochs objects that already have data loaded with preload=True
, with mne.Epochs.load_data()
, or that are read from disk, by Eric Larsonmne.time_frequency.psd_welch()
and mne.time_frequency.psd_array_welch()
now use a Hamming window (instead of a Hann window) by Clemens Brunnerpicks
parameter in mne.beamformer.lcmv()
, mne.beamformer.lcmv_epochs()
, mne.beamformer.lcmv_raw()
, mne.beamformer.tf_lcmv()
and mne.beamformer.rap_music()
is now deprecated and will be removed in 0.16, by Britta Westner, Alex Gramfort, and Denis Engemann.frequencies
has been deprecated in favor of freqs
in various time-frequency functions, e.g. mne.time_frequency.tfr_array_morlet()
, by Eric Larsonpatterns=False
parameter in mne.decoding.ReceptiveField
. Turn on to compute inverse model coefficients, by Nicolas Barascudscale
, scale_time
, and unit
parameters have been deprecated in favor of scalings
, scalings_time
, and units
in mne.viz.plot_evoked_topomap()
and related functions, by Eric Larsonloose
parameter in inverse solvers has now a default value 'auto'
depending if the source space is a surface, volume, or discrete type by Alex Gramfort and Yousra Bekhti'mean_flip'
label-flipping in mne.extract_label_time_course()
and related functions has been changed such that the flip, instead of having arbitrary sign, maximally aligns in the positive direction of the normals of the label, by Eric Larsonmne.read_forward_solution()
by Daniel Strohmeiermne.convert_forward_solution()
has a new argument use_cps
, which controls wether information on cortical patch statistics is applied while generating surface-oriented forward solutions with free and fixed orientation by Daniel Strohmeiermne.write_forward_solution()
writes a forward solution as a forward solution with free orientation in X/Y/Z RAS coordinates if it is derived from a forward solution with free orientation and as a forward solution with fixed orientation in surface-based local coordinates otherwise by Daniel Strohmeierloose=None
in inverse solvers is deprecated, use explicitly loose=0
for fixed constraint and loose=1.0
for free orientations by Eric Larsonmne.viz.plot_raw_psd()
has been relaxed from error to warning by Alejandro Weinsteinmne.viz.evoked.plot_evoked_white()
to correct rank estimates on the spot during visualization by Denis Engemann, Eric Larson, Alex Gramfort.People who contributed to this release (in alphabetical order):
mne.viz.plot_evoked_topo()
by Jussi Nurminenmne.viz.plot_filter()
and mne.viz.plot_ideal_filter()
as well as filter creation function mne.filter.create_filter()
by Eric Larsonmne.viz.plot_trans
by Eric Larsonmne.io.Raw.plot_psd()
by Alex Gramfort and Eric Larsonmne.viz.plot_trans
by Eric Larsonmne.io.Raw.apply_hilbert()
and mne.io.Raw.apply_function()
by Denis Engemann.mat
file outputs in hsp
argument of mne.channels.read_dig_montage()
by Eric Larsonmne.viz.snapshot_brain_montage()
by Chris Holdgrafmne.viz.plot_trans
by Jaakko Leppakangasmne.io.Raw.filter()
by Eric Larsonmne.io.read_raw_brainvision()
by Eric Larsonmne.preprocessing.ICA.get_components()
by Jona Sassenhagenmne.viz.plot_epochs()
by Jaakko Leppakangasmne.dipole.get_phantom_dipoles()
by Eric Larsonmne.viz.plot_raw_psd()
by Jaakko Leppakangasget_volume_labels_from_src()
to handle mixed source spaces by Annalisa Pascarellaopen_docs()
by Eric Larsonmne.io.Raw.plot()
to display the time axis relative to raw.first_samp
by Mainak Jasmne.datasets.visual_92_categories
dataset by Jaakko Leppakangasmne.io.read_raw_edf()
to allow channel exclusion by Jaakko Leppakangasmne.read_epochs_eeglab()
by Jaakko Leppakangasmne.channels.Montage
by Marijn van Vlietyscale
keyword argument to mne.time_frequency.AverageTFR.plot()
that allows specifying whether to present the frequency axis in linear ('linear'
) or log ('log'
) scale. The default value is 'auto'
which detects whether frequencies are log-spaced and sets yscale to log. Added by Mikołaj Magnuskimne.datasets.visual_92_categories.data_path
dataset by Jaakko Leppakangas, Jean-Remi King and Alex Gramfortmne.io.read_raw_cnt()
by Marijn van Vlietmne.io.Raw.plot()
(accessed by pressing ‘a’) by Jaakko Leppakangasmne.io.Raw.del_proj()
by Eric Larsonmne.SourceSpaces.plot()
using mne.viz.plot_trans
by Eric Larsonmne.decoding.get_coef()
to retrieve and inverse the coefficients of a linear model - typically a spatial filter or pattern, by Jean-Remi Kingmne.channels.read_dig_montage()
by Matt Boggessn_per_seg
keyword argument to mne.time_frequency.psd_welch()
and mne.time_frequency.psd_array_welch()
that allows to control segment length independently of n_fft
and use zero-padding when n_fft > n_per_seg
by Mikołaj Magnuskimne.io.Raw.get_data()
by Jaakko Leppakangasmne.viz.plot_dipole_locations()
via mode=’orthoview’ parameter by Jaakko Leppakangas and Alex Gramfortmne.viz.plot_head_positions()
by Eric Larsonreal_filter
option to mne.beamformer.dics()
, mne.beamformer.dics_source_power()
, mne.beamformer.tf_dics()
and mne.beamformer.dics_epochs()
by Eric Larson, Alex Gramfort and Andrea Brovelli.mne.preprocessing.create_ecg_epochs()
, mne.preprocessing.create_eog_epochs()
, mne.compute_raw_covariance()
and ICA methods mne.preprocessing.ICA.score_sources()
, mne.preprocessing.ICA.find_bads_ecg()
, mne.preprocessing.ICA.find_bads_eog()
are now annotation aware by Jaakko Leppakangasspatial_colors
for non-standard layouts by creating custom layouts from channel locations and add to_sphere
keyword to mne.viz.plot_sensors()
to allow plotting sensors that are not on the head surface by Jaakko Leppakangasmne.concatenate_raws()
now creates boundary annotations automatically by Jaakko Leppakangasmne.viz.plot_projs_topomap()
now supports plotting EEG topomaps by passing in mne.Info
by Eric Larsonmne.beamformer.lcmv()
, mne.beamformer.dics()
) where regularization was done improperly. The default reg=0.01
has been changed to reg=0.05
, by Andrea Brovelli, Alex Gramfort, and Eric Larsonmne.viz.topo._plot_topo_onpick
by Erkka Heinilamne.io.read_raw_ctf()
by Niklas Wilmingmne.time_frequency.fit_iir_model_raw()
by Eric Larsonmne.preprocessing.maxwell_filter()
by Sheraz Khanmne.channels.find_layout()
now leaves out the excluded channels by Jaakko Leppakangasmne.io.RawArray
and EvokedArray
now make a copy of the info structure by Jaakko Leppakangasmne.viz.plot_projs_topomap()
by Eric Larsonmne.io.anonymize_info()
when Info does not contain ‘file_id’ or ‘meas_id’ fields by Jean-Remi Kingmne.viz.plot_evoked_topomap()
when using positive vmin with negative data by Jaakko Leppakangasmne.channels.read_montage()
so that if ch_names
is provided, the returned montage will have channel names in the same letter case by Jaakko Leppakangasinst.set_montage(montage)
to only set inst.info['dev_head_t']
if dev_head_t=True
in mne.channels.read_dig_montage()
by Eric Larsonmne.realtime.RtEpochs
when the triggers were split between two buffers resulting in missing and/or duplicate epochs by Mainak Jas and Antti Rantalamne.io.read_raw_kit()
by Keith Doellingsetup_volume_source_space()
where arguments subject
and subjects_dir
were ignored by Jaakko Leppakangasthreshold
and tail
values in clustering functions like mne.stats.spatio_temporal_cluster_1samp_test()
by Eric Larson_bad_dropped
not being set when loading eeglab epoched files via mne.read_epochs_eeglab()
which resulted in len()
not working by Mikołaj Magnuskimne.time_frequency.AverageTFR.plot()
when plotting without a colorbar by Jaakko Leppakangas_filenames
attribute in creation of mne.io.RawArray
with mne.preprocessing.ICA.get_sources()
by Paul Paslermne.viz.plot_evoked_topomap()
to be uniform across topomaps by Jaakko Leppakangasmne.preprocessing.maxwell_filter()
where fine calibration indices were mismatched leading to an AssertionError
by Eric Larsonmne.preprocessing.fix_stim_artifact()
where non-data channels were interpolated by Eric Larsonmne.decoding.Scaler
now scales each channel independently using data from all time points (epochs and times) instead of scaling all channels for each time point. It also now accepts parameter scalings
to determine the data scaling method (default is None
to use static channel-type-based scaling), by Asish Panda, Jean-Remi King, and Eric Larsonmne.decoding.GeneralizationAcrossTime
and mne.decoding.TimeDecoding
is not a partition and the predict_mode is “cross-validation” by Jean-Remi Kingmne.io.read_raw_edf()
when preload=False
and channels have different sampling rates by Jaakko Leppakangasmne.read_labels_from_annot()
to set label.values[:]=1
rather than 0 for consistency with the Label
class by Jon Houckmne.time_frequency.AverageTFR.plot()
by Mikołaj Magnuskimne.minimum_norm.compute_source_psd()
when used with pick_ori=None
by Annalisa Pascarella and Alex Gramfortmne.Annotations
where concatenating two raws where orig_time
of the second run is None
by Jaakko Leppakangas.set
files when some of the channels do not provide this information. Previously all channel locations were ignored in such case, now they are read - unless a montage is provided by the user in which case only channel names are read from set file. By Mikołaj Magnuski.set
files when .chanlocs
structure does not contain X
, Y
or Z
fields by Mikołaj Magnuskimne.simulation.simulate_raw()
when interp != 'zero'
by Eric Larsonmne.fit_dipole()
to handle sphere model rank deficiency properly by Alex Gramfortmne.concatenate_epochs()
when concatenated epochs have conflicting event_id by Mikołaj Magnuskin_components=None
in mne.preprocessing.ICA
by Richard Höchenbergermne.io.read_raw_ctf()
by Jaakko Leppakangasmne.beamformer.rap_music()
to return dipoles with amplitudes in Am instead of nAm by Jaakko Leppakangasmne.inverse_sparse.mxne_optim.dgap_l21
by Mathurin Massiasband_pass_filter
, band_stop_filter
, low_pass_filter
, and high_pass_filter
have been deprecated in favor of mne.filter.filter_data()
by Eric LarsonEvokedArray
now has default value tmin=0.
by Jaakko Leppakangasch_type
argument for mne.viz.plot_trans
has been deprecated, use eeg_sensors
and meg_sensors
instead, by Eric Larsontmax=60.
in mne.io.Raw.plot_psd()
will change to tmax=np.inf
in 0.15, by Eric Larsonmne.io.BaseRaw
and mne.BaseEpochs
are now public to allow easier typechecking, by Daniel McCloymne.io.read_raw_edf()
now combines triggers from multiple tal channels to ‘STI 014’ by Jaakko LeppakangasInfo
no longer contains a potentially misleading info['filename']
entry. Use class properties like mne.io.Raw.filenames
or mne.Epochs.filename
instead by Eric Larsonmne.channels.read_montage()
, so that it is the same for both :class: mne.channels.Montage and :class: mne.channels.DigMontage by Leonardo Barbosafsaverage
head/brain model are now included in MNE-Python, and the now superfluous mne_root
parameter to create_default_subject()
has been deprecated by Christian Brodbeckoverwrite=False
default parameter has been added to write_source_spaces()
to protect against accidental overwrites, by Eric Larsonmne.decoding.LinearModel
class will no longer support plot_filters and plot_patterns, use mne.EvokedArray
with mne.decoding.get_coef()
instead, by Jean-Remi Kingmne.time_frequency.tfr_array_multitaper()
, mne.time_frequency.tfr_array_morlet()
, mne.time_frequency.tfr_array_stockwell()
, mne.time_frequency.psd_array_multitaper()
and mne.time_frequency.psd_array_welch()
public to allow computing TFRs and PSDs on numpy arrays by Jaakko Leppakangasmne.preprocessing.ICA.fit()
now rejects data annotated bad by default. Turn off with reject_by_annotation=False
, by Jaakko Leppakangasmne.io.read_raw_egi()
now names channels with pattern ‘E<idx>’. This behavior can be changed with parameter channel_naming
by Jaakko Leppakangasmne.Epochs
is deprecated, by Jaakko LeppakangasPeople who contributed to this release (in alphabetical order):
AcqParserFIF
to parse Elekta/Neuromag MEG acquisition info, allowing e.g. collecting epochs according to acquisition-defined averaging categories by Jussi Nurminenfilter_length
, l_trans_bandwidth
, and h_trans_bandwidth
and adds phase
argument in e.g. in mne.io.Raw.filter()
by Eric Larsonn_fft='auto'
option to mne.io.Raw.apply_hilbert()
by Eric Larsonmne.time_frequency.csd_array()
to compute the cross-spectral density of multivariate signals stored in an array, by Nick Fotimne.viz.plot_raw()
to allow plotting of specific brain regions by Jaakko Leppakangasmne.Evoked
objects with mne.Evoked.decimate()
by Eric Larsonmne.filter.filter_data()
by Eric Larsonmne.viz.plot_trans
now also shows head position indicators by Christian Brodbeckmne.Label.center_of_mass()
by Eric Larsonmne.viz.plot_ica_properties()
that allows plotting of independent component properties similar to pop_prop
in EEGLAB. Also mne.preprocessing.ICA
has mne.preprocessing.ICA.plot_properties()
method now. Added by Mikołaj Magnuski(b, a)
form) IIR filtering for reduced numerical error by Eric Larsonmne.channels.read_dig_montage()
by Teon Brooks and Christian Brodbeckio.Raw
, Epochs
, and Evoked
in repr()
by Eric Larsonmne.viz.plot_sensors()
and mne.viz.plot_raw()
when using order=’selection’ or order=’position’ by Jaakko Leppakangasviz.plot_bem()
by Christian Brodbeck--filterchpi
option to mne browse_raw, by Felix Raimundo--no-decimate
option to mne make_scalp_surfaces to skip the high-resolution surface decimation step, by Eric Larsonmne.decoding.EMS
to transform epochs with the event-matched spatial filters and add ‘cv’ parameter to mne.decoding.compute_ems()
, by Jean-Remi Kingmne.time_frequency.EpochsTFR
and average parameter in mne.time_frequency.tfr_morlet()
and mne.time_frequency.tfr_multitaper()
to compute time-frequency transforms on single trial epochs without averaging, by Jean-Remi King and Alex Gramfortmne.decoding.TimeFrequency
to transform signals in scikit-learn pipelines, by Jean-Remi Kingmne.decoding.UnsupervisedSpatialFilter
providing interface for scikit-learn decomposition algorithms to be used with MNE data, by Jean-Remi King and Asish Pandamne.decoding.CSP
, by Jean-Remi King and Alexandre Barachantmne.preprocessing.ICA
are now sorted by explained variance, by Mikołaj Magnuskimne.add_reference_channels()
will now use its digitized location from the FIFF file, if present, by Chris Baileymne.preprocessing.ICA.plot_components()
- passing an instance of io.Raw
or Epochs
in inst
argument allows to open component properties by clicking on component topomaps, by Mikołaj Magnuskimne.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 Sassenhagenmne.decoding.CSP
to retrieve the average power of each source or the time course of each source, by Jean-Remi Kingmne.read_evokeds()
by Eric Larsonmne.io.Raw.acqparser
convenience attribute for mne.AcqParserFIF
by Eric Larsonepochs[('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 Larsonmne.preprocessing.maxwell_filter()
by Eric Larsonmne.viz.plot_evoked_topomap()
by Jaakko Leppakangasmne.io.read_raw_brainvision()
for reading non-data channels and enable default behavior of inferring channel type by unit by Jaakko Leppakangas and Pablo-Ariasmne.Epochs.resample()
and mne.Epochs.decimate()
by Eric Larsonmne.simulation.simulate_stc()
by Eric Larsonmne.io.show_fiff()
by Christian Brodbeck and Eric Larsonmerge_grads=True
causes mne.viz.plot_evoked_topo()
to fail when plotting a list of evokeds by Jaakko Leppakangasset_bipolar_reference()
by Marijn van Vliet.mne.viz.plot_epochs_image()
when plotting more than one channel by Jaakko Leppakangasmne.preprocessing.Xdawn
to fit shuffled epochs by Jean-Remi KingAssertionError
when using mne.Covariance
matrices by Eric Larsonmne.preprocessing.maxwell_filter()
by Eric Larsonmne.io.read_raw_edf()
by Guillaume Dumasmne.Epochs
to ensure that detrend parameter is not a boolean by Jean-Remi Kingmne.realtime.FieldTripClient.get_data_as_epoch()
when picks=None
which crashed the function by Mainak Jas.elc
montage files (from UnitsPosition
field) so that mne.channels.Montage
objects are now returned with the pos
attribute correctly in meters, by Chris MullinsRaw.filter
with picks != None
).Annotations
and restricted addition of annotations outside data range to prevent problems with cropping and concatenating data by Jaakko Leppakangaspicks
when interpolating MEG channels by Mainak Jas.add_eeg_ref
argument in core functions like mne.io.read_raw_fif()
and mne.Epochs
has been deprecated in favor of using mne.set_eeg_reference()
and equivalent instance methods like raw.set_eeg_reference()
. In functions like mne.io.read_raw_fif()
where the default in 0.13 and older versions is add_eeg_ref=True
, the default will change to add_eeg_ref=False
in 0.14, and the argument will be removed in 0.15.l_trans_bandwidth='auto'
, h_trans_bandwidth='auto'
, and filter_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 of l_trans_bandwidth=h_trans_bandwidth=0.5
and filter_length='10s'
will change to 'auto'
in 0.14.filter_length=None
option (i.e. use len(x)
) has been deprecated.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 previous phase='zero-double'
default will change to phase='zero'
in 0.14.mne.io.Raw.save()
by Eric Larsonmne.time_frequency.csd_epochs()
to replace mne.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 FotiEvoked
as ev1 + ev2
and ev1 - ev2
have been deprecated, use explicit mne.combine_evoked(..., weights='nave')
instead by Eric Larsonmne.io.Raw
constructor, use mne.io.read_raw_fif()
and mne.concatenate_raws()
instead by Eric Larsonmne.io.read_raw_cnt()
by Jaakko Leppakangasmne.io.read_raw_brainvision()
by Jaakko Leppakangasmne.io.anonymize_info()
function to anonymize measurements and add methods to mne.io.Raw
, mne.Epochs
and mne.Evoked
, by Jean-Remi Kingmne.viz.plot_raw()
by using an array for order parameter by Jaakko Leppakangasmne.preprocessing.ICA.fit()
and a proper error is raised when trying to include unsupported channels by Alexander Rudiukmne.concatenate_epochs()
and mne.compute_covariance()
now check to see if all Epochs
instances have the same MEG-to-Head transformation, and errors by default if they do not by Eric Larsonmne.viz.plot_epochs_image()
by Mikołaj Magnuskimne.filter.construct_iir_filter()
defaults to output='ba'
in 0.13 but this will be changed to output='sos'
by Eric Larsonzorder
parameter to mne.Evoked.plot()
and derived functions to sort allow sorting channels by e.g. standard deviation, by Jona Sassenhagenbaseline
parameter of mne.Epochs.apply_baseline()
is set by default (None, 0), by Felix Raimundomne.Evoked.apply_baseline()
to be consistent with mne.Epochs.apply_baseline()
, by Felix Raimundomne.Evoked
, by Felix Raimundomne.SourceEstimate.plot()
and mne.viz.plot_source_estimates()
has been updated to reflect current PySurfer 0.6 API. The config_opts
parameter is now deprecated and will be removed in mne 0.14, and the default representation for time will change from ms
to s
in mne 0.14. By Christian Brodbeckexamples/
in the MNE-Python root directory to ~/mne_data
in the user’s home directory, by Eric Larsonset_env
has been added to mne.set_config()
that defaults to False
in 0.13 but will change to True
in 0.14, by Eric Larsoncompensation
parameter in mne.io.read_raw_fif()
has been deprecated in favor of the method mne.io.Raw.apply_gradient_compensation()
by Eric Larsonmne.decoding.EpochsVectorizer
has been deprecated in favor of mne.decoding.Vectorizer
by Asish Pandamne.decoding.CSP
, in favour of the X
parameter to comply to scikit-learn API, by Jean-Remi Kingmne.time_frequency.cwt_morlet
and mne.time_frequency.single_trial_power
in favour of mne.time_frequency.tfr_morlet()
with parameter average=False, by Jean-Remi King and Alex Gramfortmask_type
to func:mne.read_events and func:mne.find_events to support MNE-C style of trigger masking by Teon Brooks and Eric Larsonmne.preprocessing.infomax()
(extended=True
), by Clemens Brunnermne.io.read_raw_eeglab()
and mne.read_epochs_eeglab()
now take additional argument uint16_codec
that allows to define the encoding of character arrays in set file. This helps in rare cases when reading a set file fails with TypeError: buffer is too small for requested array
. By Mikołaj Magnuskimne.decoding.TemporalFilter
to filter data in scikit-learn pipelines, by Asish Pandamne.preprocessing.create_ecg_epochs()
now includes all the channels when picks=None
by Jaakko Leppakangasmne.set_eeg_reference()
now allows moving from a custom to an average EEG reference by Marijn van VlietThe committer list for this release is the following (sorted by alphabetical order):
overlay_times
parameter to mne.viz.plot_epochs_image()
to be able to display for example reaction times on top of the images, by Alex Gramfortmne.Evoked.animate_topomap()
by Jaakko Leppakangasmne.channels.find_layout()
more robust for KIT systems in the presence of bad or missing channels by Jaakko Leppakangasmne.preprocessing.maxwell_filter()
by Eric Larsonmne.Annotations
for for annotating segments of raw data by Jaakko Leppakangasmne.sys_info()
by Eric Larsonmne.decoding.GeneralizationAcrossTime
, by Jean-Remi Kingmne.decoding.GeneralizationAcrossTime
accepts non-deterministic cross-validations, by Jean-Remi Kingmne.viz.plot_evoked_topo()
by Jaakko Leppakangasmne.compute_raw_covariance()
by Eric Larson.mne show_info
to quickly show the measurement info from a .fif file from the terminal by Alex Gramfort.mne.make_forward_dipole()
by Chris Baileyxfit
) using mne.read_dipole()
and mne.fit_dipole()
by Eric Larson.mne.decoding.GeneralizationAcrossTime
’s scorer
parameter to be a string that refers to a scikit-learn metric scorer by Asish Panda.mne.Epochs.plot_image()
calling mne.viz.plot_epochs_image()
for better usability by Asish Panda.mne.io.read_raw_cnt()
for reading Neuroscan CNT files by Jaakko Leppakangasdecim
parameter to mne.time_frequency.cwt_morlet
, by Jean-Remi Kingmne.Epochs.plot_topo_image()
by Jaakko Leppakangasmne.viz.plot_sensors()
and methods mne.Epochs.plot_sensors()
, mne.io.Raw.plot_sensors()
and mne.Evoked.plot_sensors()
for plotting sensor positions and mne.viz.plot_layout()
and mne.channels.Layout.plot()
for plotting layouts by Jaakko Leppakangasmne.read_selection()
by Eric Larsonproj
in mne.EpochsArray
by Eric Larsonmne.viz.plot_topomap()
with an mne.Info
instance for location information, by Jona Sassenhagen.first_samp
in mne.make_fixed_length_events()
by Jon Houckmne.viz.plot_raw()
and mne.viz.plot_epochs()
and corresponding object plotting methods by Chris Holdgrafmne.time_frequency.compute_raw_psd
, mne.time_frequency.compute_epochs_psd
, mne.time_frequency.psd_multitaper()
, and mne.time_frequency.psd_welch()
no longer remove rows/columns of the SSP matrix before applying SSP projectors when picks are provided by Chris Holdgraf.mne.Epochs.plot_psd()
no longer calls a Welch PSD, and instead uses a Multitaper method which is more appropriate for epochs. Flags for this function are passed to mne.time_frequency.psd_multitaper()
by Chris Holdgrafmne.Epochs.crop()
, mne.Evoked.crop()
, mne.io.Raw.crop()
, mne.SourceEstimate.crop()
) made consistent with behavior of tmin
and tmax
of mne.Epochs
, where nearest sample is kept. For example, for MGH data acquired with sfreq=600.614990234
, constructing Epochs(..., tmin=-1, tmax=1)
has bounds +/-1.00064103
, and now epochs.crop(-1, 1)
will also have these bounds (previously they would have been +/-0.99897607
). Time cropping functions also no longer use relative tolerances when determining the boundaries. These changes have minor effects on functions that use cropping under the hood, such as mne.compute_covariance()
and mne.connectivity.spectral_connectivity()
. Changes by Jaakko Leppakangas and Eric Larsonmne.decoding.TimeDecoding
to allow specifying clf
by Jean-Remi Kingmne.preprocessing.maxwell_filter()
destination
parameter did not properly set device-to-head transform by Eric Larsonmne.utils.estimate_rank
, mne.io.Raw.estimate_rank()
, and covariance functions where the tolerance was set to slightly too small a value, new ‘auto’ mode uses values from scipy.linalg.orth
by Eric Larson.train_times['slices']
in mne.decoding.GeneralizationAcrossTime
, by Jean-Remi Kingmne.preprocessing.run_ica()
, which used the ecg_criterion
parameter for the EOG criterion instead of eog_criterion
by Christian Brodbeckmne.io.read_raw_ctf()
, when omitting samples at the end by Jaakko Leppakangasinfo['lowpass']
value for downsampled raw data by Eric Larsonmne.Info
in mne.io.Raw.anonymize()
by Eric Larsonmne.preprocessing.create_ecg_epochs()
by Jaakko Leppakangasmne.viz.plot_topo_image_epochs()
by Jaakko Leppakangasmne.label_sign_flip()
(and mne.extract_label_time_course()
) by Natalie Klein and Eric Larsonmne.Epochs.apply_baseline()
and mne.io.Raw.filter()
methods by Jona Sassenhagen and Alex Gramfortmne.merge_events()
when using replace_events=False
by Alex Gramfortmne.Evoked
type setting in mne.stats.linear_regression_raw()
by Eric Larsonmne.viz.plot_trans
by Eric Larsonmne.Evoked.plot_projs_topomap()
by Jaakko Leppakangasmne.io.read_raw_bti()
can now read 2500 system data, by Eric Larsonmne.compute_raw_covariance()
where rejection by non-data channels (e.g. EOG) was not done properly by Eric Larson.mne.decoding.GeneralizationAcrossTime
and mne.decoding.TimeDecoding
to estimate the scores within the cross-validation as in scikit-learn as opposed to across all cross-validated y_pred
. The method can be changed with the score_mode
parameter by Jean-Remi Kingmne.io.Raw.save()
where, in rare cases, automatically split files could end up writing an extra empty file that wouldn’t be read properly by Eric Larsonmne.realtime.StimServer
by removing superfluous argument ip
used while initializing the object by Mainak Jas.mne.preprocessing.maxwell_filter()
in st_only=True
mode by Eric Larsonmne.viz.plot_epochs_image()
now only plots the first 5 channels, not all channels, by Jona Sassenhagenmesh_color
parameter in mne.viz.plot_dipole_locations()
has been removed (use brain_color instead), by Marijn van Vlietmne.time_frequency.compute_raw_psd
and mne.time_frequency.compute_epochs_psd
, replaced by mne.time_frequency.psd_welch()
by Chris Holdgrafmne.time_frequency.multitaper_psd
and replaced by mne.time_frequency.psd_multitaper()
by Chris Holdgrafy_pred
attribute in mne.decoding.GeneralizationAcrossTime
and mne.decoding.TimeDecoding
is now a numpy array, by Jean-Remi Kingmne.bem.fit_sphere_to_headshape()
function now default to dig_kinds='auto'
which will use extra digitization points, falling back to extra plus eeg digitization points if there not enough extra points are available.mne.bem.fit_sphere_to_headshape()
now has a units
argument that should be set explicitly. This will default to units='mm'
in 0.12 for backward compatibility but change to units='m'
in 0.13.event_id=None
, tmin=-0.2
and tmax=0.5
.mne.compute_raw_covariance()
relative to mne.compute_covariance()
, the default parameter tstep=0.2
now discards any epochs at the end of the mne.io.Raw
instance that are not the full tstep
duration. This will slightly change the computation of mne.compute_raw_covariance()
, but should only potentially have a big impact if the mne.io.Raw
instance is short relative to tstep
and the last, too short (now discarded) epoch contained data inconsistent with the epochs that preceded it.picks=None
in mne.io.Raw.filter()
now picks eeg, meg, seeg, and ecog channels, by Jean-Remi King and Eric Larsonmne.viz.plot_evoked()
by Marijn van Vlietmne.stats.linear_regression_raw()
, by Jona Sassenhagen.mne.Info.normalize_proj()
if necessary to avoid warnings about subselection. Changes by Eric Larson and Alex Gramfort.mne.Epochs.drop_bad_epochs
to mne.Epochs.drop_bad()
, and mne.Epochs.drop_epochs` to mne.Epochs.drop()
by Alex Gramfort.mne.do_forward_solution
has been deprecated in favor of the native Python version mne.make_forward_solution()
by Eric Larsonevents
parameter of mne.EpochsArray()
is set by default to chronological time-samples and event values to 1, by Jean-Remi KingThe committer list for this release is the following (preceded by number of commits):
mne.preprocessing.maxwell_filter()
by Mark Wronkiewicz as part of Google Summer of Code, with help from Samu Taulu, Jukka Nenonen, and Jussi Nurminen. Our implementation includes support for:mne.epochs.average_movements()
by Eric Larson and Samu Taulumne.io.read_raw_nicolet()
by Jaakko Leppakangasmne.viz.plot_ica_scores()
and mne.viz.plot_ica_sources()
(for evoked objects) by Denis Engemannmne.Evoked.plot()
by Jona Sassenhagen and Jaakko Leppakangasmne.io.read_raw_ctf()
by Eric Larsonmne.io.read_raw_brainvision()
by Teon Brooksmne.decoding.GeneralizationAcrossTime
decoding up to a factor of seven by Jean-Remi King and Federico Raimondo and Denis Engemann.explained_var
, key to the mne.Projection
by Teon Brooksmne.Epochs.add_eeg_average_proj
, mne.io.Raw.add_eeg_average_proj
, and mne.Evoked.add_eeg_average_proj
to add an average EEG reference.mne.io.read_raw_eeglab()
and mne.read_epochs_eeglab()
by Mainak JasNone
and negative values in reject and flat parameters in mne.Epochs
by Eric Larsonmne.decoding.GeneralizationAcrossTime
by Jean-Remi Kingmne.stats.linear_regression()
on p-values p_val
(and resulting mlog10_p_val
) using double floating point arithmetic limits by Eric Larsonmne.Evoked.get_peak()
method by Alex Gramfortignore
option in mne.viz.plot_drop_log()
and mne.Epochs.plot_drop_log()
by Eric Larson.mne.EpochsArray
no longer has an average EEG reference silently added (but not applied to the data) by default. Use mne.EpochsArray.add_eeg_ref
to properly add one.mne.io.read_raw_ctf()
to read n_samp_tot
instead of n_samp
by Jaakko Leppakangasmne.io.read_raw_brainvision()
now has event_id
argument to assign non-standard trigger events to a trigger value by Teon Brooksmne.read_epochs()
now has add_eeg_ref=False
by default, since average EEG reference can be added before writing or after reading using the method mne.Epochs.add_eeg_ref
.mne.EpochsArray
no longer has an average EEG reference silently added (but not applied to the data) by default. Use mne.EpochsArray.add_eeg_average_proj
to properly add one.The committer list for this release is the following (preceded by number of commits):
mne.stats.f_mway_rm()
by Denis Engemannmne.viz.plot_epochs()
by Jaakko Leppakangasmne.report.Report
by Mainak Jasmne.make_bem_model()
by Eric Larsonmne.make_bem_solution()
by Eric Larsonmne.decoding.TimeDecoding
for decoding sensors’ evoked response across time by Jean-Remi Kingmne freeview_bem_surfaces
to quickly check BEM surfaces with Freeview by Alex Gramfort.mne.Epochs.save()
by Mainak Jas and Alex Gramfortmne.preprocessing.Xdawn
for denoising and decoding of ERP/ERF by Alexandre Barachantmne.decoding.CSP
and mne.decoding.LinearModel
by Romain Trachelmne.decoding.LinearModel
for decoding M/EEG data and interpreting coefficients of linear models with patterns attribute by Romain Trachel and Alex Gramfortplot_topo
method to Evoked
object by Jaakko Leppakangasmne.datasets.brainstorm
for datasets used by Brainstorm in their tutorials by Mainak Jasmne.Epochs.apply_baseline()
method to Epochs
objects by Teon Brookspreload
argument to mne.read_epochs()
to enable on-demand reads from disk by Eric Larsonmne.simulation.simulate_raw()
, mne.simulation.simulate_evoked()
and mne.simulation.simulate_sparse_stc()
mne.Epochs.load_data()
method to mne.Epochs
by Teon Brooksmne.Evoked.plot()
by Jaakko Leppakangasmne.Evoked.plot_topomap()
by Jona Sassenhagen and Jaakko Leppakangasmorph_source_spaces()
and SourceEstimate.to_original_src()
by Eric Larson and Denis Engemanncorrmap
function (Viola et al. 2009) to semi-automatically detect similar ICs across data sets by Jona Sassenhagen and Denis Engemann and Eric Larsonmne flash_bem
command to compute BEM surfaces from Flash MRI images by Lorenzo Desantis, Alex Gramfort and Eric Larson. See mne.bem.make_flash_bem()
.mne.Evoked.plot()
method to display Global Field Power (GFP) by Eric Larson.mne.report.Report.add_slider_to_section()
methods to mne.report.Report
by Teon Brooksmne.io.add_reference_channels
not setting info[nchan]
correctly by Federico Raimondomne.stats.bonferroni_correction
reject mask output to use corrected p-values by Denis Engemanninfo['chs']
by Chris Baileymne.viz.utils._setup_vmin_vmax
by Jaakko Leppakangasmne.decoding.CSP
by Clemens Brunnermne.viz.plot_topo
for mne.viz.plot_evoked_topo
by Jaakko Leppakangasreg
argument in mne.decoding.CSP
by Romain Trachelmne.Epochs.plot()
(no backwards compatibility) during the GSOC 2015 by Jaakko Leppakangas, Mainak Jas, Federico Raimondo and Denis Engemannmne.viz.plot_image_epochs
for mne.plot.plot_epochs_image
by Teon Brookspicks
argument has been added to mne.time_frequency.tfr_morlet()
, mne.time_frequency.tfr_multitaper()
by Teon Brooksmne.io.Raw.preload_data
has been deprecated for mne.io.Raw.load_data()
by Teon BrooksRawBrainVision
objects now always have event channel 'STI 014'
, and recordings with no events will have this channel set to zero by Eric LarsonThe committer list for this release is the following (preceded by number of commits):
add_section
method in Report by Mainak JasSourceSpaces.save_as_volume
method by Alan Leggittmne.viz.plot_events
by Denis Engemannplot_projs_topomap
method to Raw
, Epochs
and Evoked
objects by Teon BrooksRaw
, Epochs
and Evoked
objects by Denis Engemann and Mainak Jaswhiten_evoked
, compute_whitener
and prepare_noise_cov
to set the exact rank by Martin Luessi and Denis Engemanncompute_covariance
by Denis Engemann and Alex GramfortEvoked.plot_white
method to diagnose the quality of the estimated noise covariance and its impact on spatial whitening by Denis Engemann and Alex Gramfortmne.evoked.grand_average
function to compute grand average of Evoked data while interpolating bad EEG channels if necessary by Mads Jensen and Alex Gramfortlabel_1 - label_2
) by Christian Brodbeckmne.io.read_raw_fif
for Raw FIF files by Teon Brooksplot_psd
and plot_psd_topomap
methods to epochs by Yousra Bekhti, Eric Larson and Denis Engemannevoked.pick_types
, epochs.pick_types
, and tfr.pick_types
added by Eric Larsonrename_channels
and set_channel_types
added as methods to Raw
, Epochs
and Evoked
objects by Teon Brooksevoked.as_type
to allow remapping data in MEG channels to virtual magnetometer or gradiometer channels by Mainak Jasmne.report.Report.add_bem_to_section()
, mne.report.Report.add_htmls_to_section()
methods to mne.report.Report
by Teon Brooksread_epochs_kit
by Teon Brooksmne.Report
by Mainak JasDigMontage
class and reader to interface with digitization info by Teon Brooks and Christian Brodbeckset_montage
method to the Raw
, Epochs
, and Evoked
objects by Teon Brooks and Denis Engemanntmin
, tmax
, fmin
and fmax
by Mainak Jasl_trans_bandwidth
(to low frequency) and h_trans_bandwidth
(to high frequency) in _BaseRaw.filter
by Denis Engemannmne.viz.plot_topo
if ylim was passed for single sensor layouts by Denis Engemannmne.viz.plot_topo
by Marijn van Vlietprepared
which saves computation time by calling prepare_inverse_operator
only if it is Falsemask
to set some bits to a don’t care state by Teon Brooksmne.layouts
by Denis Engemannread_raw_brainvision
, read_raw_edf
, read_raw_egi
all use a standard montage import by Teon Brooksmne.io.egi.read_raw_egi
by Denis Engemann and Federico RaimondoReport.parse_folder()
by Mainak Jasread_hsp
, read_elp
, and write_hsp
, write_mrk
were removed and made private by Teon Brooksraw.preload_data()
label
parameter to apply_inverse
by Teon Brookslabel_time_courses
for in_label
method in SourceEstimate by Teon Brooksas_data_frame
for to_data_frame
by Chris Holdgraftransform
, unit
parameters to read_montage
by Teon Brooksfmin, fmid, fmax
in stc.plot and added clim
by Mark Wronkiewiczscipy.signal.welch
instead of matplotlib.psd inside compute_raw_psd
and compute_epochs_psd
by Yousra Bekhti Eric Larson and Denis Engemann. As a consquence, Raw.plot_raw_psds
has been deprecated.Raw
instances returned by mne.forward.apply_forward_raw
now always have times starting from
zero to be consistent with all other Raw
instances. To get the former start
and stop
times,
use raw.first_samp / raw.info['sfreq']
and raw.last_samp / raw.info['sfreq']
.pick_types_evoked
has been deprecated in favor of evoked.pick_types
.rename_channels
by Teon Brooksadd_figs_to_section
and add_images_to_section
now have a textbox
parameter to add comments to the image by Teon Brooksiir_filter_raw
for fit_iir_model_raw
.montage
parameter to the create_info
function to create the info using montages by Teon BrooksThe committer list for this release is the following (preceded by number of commits):
get_peak
method for evoked and stc objects by Denis Engemanniter_topography
function for radically simplified custom sensor topography plotting by Denis Engemanndrop_log
by Tal Linzen, Alex Gramfort and Denis EngemannRaw
, Epochs
and Evoked
for channel type membership testing by Denis EngemannRaw
, Epochs
and Evoked
by Denis Engemann and Alex Gramfortequalize_channnels
function to set common channels for a list of Raw
, Epochs
, or Evoked
objects by Denis Engemannplot_events
function to visually display paradigm by Alex Gramfortsplit_label
function to divide labels into multiple parts by Christian Brodbeckcolor
attribute to Label
objects by Christian Brodbeckmax
mode for extract_label_time_course
by Mads Jensenrename_channels
function to change channel names and types in info object by Dan Wakeman and Denis Engemanncompute_ems
function to extract the time course of experimental effects by Denis Engemann, Sébastien Marti and Alex GramfortLabel.fill()
) by Christian Brodbeckadd_channels_epochs
function to combine different recordings at the Epochs level by Christian Brodbeck and Denis Engemannevents_list
parameter to mne.concatenate_raws
to concatenate events corresponding to runs by Denis Engemannread_ch_connectivity
function to read FieldTrip neighbor template .mat files and obtain sensor adjacency matrices by Denis Engemannraw.add_events
to allow adding events to a raw file by Eric Larsonplot_image
method to Evoked object to display data as images by Jean-Remi King and Alex Gramfort and Denis EngemannRaw
, Epochs
and Evoked
objects by Denis Engemannpick_channels
and drop_channels
mixin class to pick and drop channels from Raw
, Epochs
, and Evoked
objects by Andrew Dykstra and Denis EngemannEvokedArray
class to create an Evoked object from an array by Andrew Dykstraplot_bem
method to visualize BEM contours on MRI anatomical images by Mainak Jas and Alex Gramfortevoked.plot_topomap
by Denis Engemann and Alex Gramforttfr_morlet
function by Alex Gramfort and Denis Engemanntimes
attribute when stc was computed using apply_inverse
after decimation at epochs stage for certain, arbitrary sample frequencies by Denis Engemannlabels_from_parc
and parc_from_labels
in favor of read_labels_from_annot
and write_labels_to_annot
setup_source_space
to add patch information will change from False to True in MNE-Python 0.9read_evoked
and write_evoked
in favor of read_evokeds
and write_evokeds
. read_evokeds will return all Evoked instances in a file by default.setno
in favor of condition
in the initialization of an Evoked instance. This affects mne.fiff.Evoked
and read_evokeds
, but not read_evoked
.mne.fiff
module, use mne.io
instead e.g. mne.io.Raw
instead of mne.fiff.Raw
.pick_types
) are now in the mne namespace (e.g. use mne.pick_types
).ICA.plot_*
for processing Raw, Epochs and Evoked objects.mne.stc_to_label
will change in v0.9, and the old method is deprecated.The committer list for this release is the following (preceded by number of commits):
plot_topomap
function and method for displaying the spatial sensitivity of ICA sources by Denis Engemannplot_epochs
by Denis Engemannpick_ori
and normal orientation picking is now achieved by passing the value “normal” for the pick_ori parameter.chs
argument in mne.layouts.find_layout
is deprecated and will be removed in MNE-Python 0.9. Use info
instead.plot_evoked
and Epochs.plot
now open a new figure by default. To plot on an existing figure please specify the axes parameter.The committer list for this release is the following (preceded by number of commits):
mne.find_stim_steps
for finding all steps in a stim channel by Christian Brodbecksources_as_epochs
to create Epochs in ICA space by Denis Engemannbads
(bad channels), or a list of string (channel names).The committer list for this release is the following (preceded by number of commits):
The committer list for this release is the following (preceded by number of commits):
The committer list for this release is the following (preceded by number of commits):
The committer list for this release is the following (preceded by number of commits):
Here are the code migration instructions when upgrading from mne-python version 0.1:
The committer list for this release is the following (preceded by number of commits):