Version 0.21 (2020-09-21)#
Enhancements#
Modified
mne.Epochs.pick_types()to remove dropped channel types fromrejectandflatdictionaries by new contributor Rahul NadkarniAdd function
mne.preprocessing.regress_artifact()to remove artifacts using linear regression by new contributor Kyle Mathewson and Eric LarsonAdd
sourcesanddetectorsoptions for fNIRS use ofmne.viz.plot_alignment()allowing plotting of optode locations in addition to channel midpointchannelsandpathbetween fNIRS optodes by new contributor Kyle MathewsonBrainVision data format files are now parsed for EEG impedance values in
mne.io.read_raw_brainvision()and provided as a.impedancesattribute ofrawby new contributor Jan Sedivy and Stefan AppelhoffAdd function
mne.channels.combine_channels()to combine channels from Raw, Epochs, or Evoked according to ROIs (combinations including mean, median, or standard deviation; can also use a callable) by new contributor Johann BenerradiImproved documentation building instructions and execution on Windows by new contributor Martin Schulz, Evgenii Kalenkovich, and Eric Larson
Speed up reading of annotations in EDF+ files by new contributor Jeroen Van Der Donckt
Add head to mri and mri to voxel space transform details to Source alignment and coordinate frames tutorial, by Alex Rockhill
Improve memory efficiency of
mne.concatenate_epochs()by Eric LarsonAllow picking channels in raw instances (e.g.,
mne.io.Raw.pick_types()) without preloading data, by Eric Larsonmne.preprocessing.ICA.plot_sources()now plots annotation markers similar tomne.io.Raw.plot()by Luke BloyAdd support for scalar multiplication and division of
mne.time_frequency.AverageTFRinstances by Luke BloyAdd support for signals in mV for
mne.io.read_raw_brainvision()by Clemens Brunnermne.Epochs.plot_psd_topomap()andmne.viz.plot_epochs_psd_topomap()now allow joint colorbar limits across subplots, by Daniel McCloy.Add support for using loose-orientation surface priors with free-orientation volume priors in mixed source space inverses by Eric Larson
Add
mne.MixedVectorSourceEstimatefor vector source estimates for mixed source spaces, by Eric LarsonAdd mixed and volumetric source estimate plotting using volumetric ray-casting to
mne.MixedSourceEstimate.plot()andmne.VolSourceEstimate.plot_3d()by Eric LarsonAdd
mne.MixedSourceEstimate.surface()andmne.MixedSourceEstimate.volume()methods to allow surface and volume extraction by Eric LarsonAdd
mne.VectorSourceEstimate.project()to project vector source estimates onto the direction of maximum source power by Eric LarsonAdd support to
mne.extract_label_time_course()for vector-valued and volumetric source estimates by Eric LarsonAdd method
mne.VolSourceEstimate.in_label()by Eric LarsonAdd support for mixed source spaces to
mne.compute_source_morph()by Eric LarsonAdd support for volume and mixed source spaces to
mne.stats.summarize_clusters_stc()by Eric LarsonAdd support for omitting the SDR step in volumetric morphing by passing
n_iter_sdr=()tomne.compute_source_morphby Eric LarsonAdd
single_volumeargument tomne.setup_volume_source_space()to facilitate creating source spaces with many volumes (e.g., all subvolumes ofaseg.mgz) by Eric LarsonAdd support for passing a string argument to
bg_imginmne.viz.plot_volume_source_estimatesby Eric LarsonAdd support for providing the destination surface source space in the
src_toargument ofmne.compute_source_morph()by Eric LarsonAdd explained variance logging to
mne.inverse_sparse.mixed_norm(),mne.inverse_sparse.gamma_map(), andmne.beamformer.rap_music()by Eric LarsonAdd
tol_kindoption tomne.compute_rank()by Eric LarsonAllow resampling raw data with
mne.io.Raw.resample()without preloading data, by Eric LarsonAllow using
pick_ori='vector'with a fixed-orientation inverse to facilitate visualization withmne.viz.plot_vector_source_estimates()by Eric Larsonmne.viz.plot_dipole_locations()andmne.Dipole.plot_locations()gained atitleargument to specify a custom figure title inorthoviewmode by Richard HöchenbergerAdd orientations projected onto the MRI slices in
mne.viz.plot_dipole_locations()in'orthoview'mode by Eric LarsonAdd temporal derivative distribution repair (TDDR)
mne.preprocessing.nirs.temporal_derivative_distribution_repair()with shortened aliasmne.preprocessing.nirs.tddrby Robert LukeAdd
mne.read_freesurfer_lut()to make it easier to work with volume atlases by Eric LarsonAdd support for overlap-add processing when
method='spectrum_fit'inmne.io.Raw.notch_filter()by Eric LarsonAdd functionality to interpolate bad NIRS channels by Robert Luke
Add ability to interpolate EEG channels using minimum-norm projection in
mne.io.Raw.interpolate_bads()and related functions withmethod=dict(eeg='MNE')by Eric LarsonAdded ability of
mne.io.read_raw_nirx()to open data by passing path to header file Robert LukeAdd
mne.channels.DigMontage.rename_channels()to allow renaming montage channels by Eric LarsonDocument
mne.channels.compute_native_head_t()to allow computing the native-to-head transformation that will be applied when doingraw.set_montageand related functions by Eric LarsonAdd support to in
mne.io.Raw.plot()for passingclippingas a float to clip to a proportion of the dedicated channel range by Eric LarsonAdd function
mne.preprocessing.annotate_muscle_zscore()to annotate periods with muscle artifacts. by Adonay NunesAdd
mne.stats.ttest_ind_no_p()to mirrormne.stats.ttest_1samp_no_p()with hat correction by Eric LarsonAdd
mne.stats.combine_adjacencyto combine adjacency matrices for independent data dimensions to enable things like spatio-temporal-time-frequency clustering inmne.stats.permutation_cluster_testby Eric LarsonSpeed up raw data reading without preload in
mne.io.read_raw_nirx()by Eric LarsonSpeed up
mne.Epochs.copy()andmne.Epochs.__getitem__()by avoiding copying immutable attributes by Eric LarsonSpeed up and reduce memory usage of
mne.SourceEstimate.plot()and related functions/methods whenshow_traces=Trueby Eric LarsonReduce memory usage of
plot_psd,mne.time_frequency.psd_welch, andpsd_array_welchfor long segments of data by Eric LarsonSupport for saving movies of source time courses (STCs) with
brain.save_moviemethod and from graphical user interface by Guillaume FavelierAdd
mriandshow_orientationarguments tomne.viz.plot_bem()by Eric LarsonAdd
mne.viz.centers_to_edges()to help when usingmatplotlib.axes.Axes.pcolormesh()with flat shading by Eric LarsonAdd
on_missing='raise'tomne.io.Raw.set_montage()and related functions to allow ignoring of missing electrode coordinates by Adam LiAdd
on_missing='raise'tomne.viz.plot_events()to allow ignoring missing events when passingevent_idby Eric LarsonAdd REST EEG infinity reference scheme to
mne.io.Raw.set_eeg_reference()and related functions by Eric LarsonAdd better sanity checking of
max_pca_componentsandn_componentsto provide more informative error messages formne.preprocessing.ICAby Eric LarsonAdd
plotoption tomne.viz.plot_filter()allowing selection of which filter properties are plotted and added option for user to supplyaxesby Robert LukeAdd estimation method legend to
mne.viz.plot_snr_estimate()by Eric LarsonAdd support to
mne.SourceSpaces.export_volumeformri_resolution='sparse'to color only the nearest-neighbor voxels instead of entire regions by Eric LarsonAdd
axesargument tomne.viz.plot_evoked_white(),mne.Evoked.plot_white(), andmne.viz.plot_snr_estimate()by Eric LarsonChange default to
surfaces='auto'fromsurfaces='head'to allowmne.viz.plot_alignment()to work when just passing amne.Infoasplot_alignment(info)by Eric LarsonAdd ECoG misc EDF dataset to the Working with ECoG data tutorial to show snapshots of time-frequency activity by Adam Li
Add
mne.viz.set_3d_options()andMNE_3D_OPTION_ANTIALIASenvironment variable to control full-scene antialiasing (FXAA) in 3D functions like mne coreg,mne.viz.plot_alignment(), andmne.viz.plot_source_estimates(); this can be useful on systems where FXAA does not work well, such as some with MESA software rendering, by Eric LarsonAdd config variable
MNE_TQDMto support explicitly setting the TQDM backend to use, for exampletqdmortqdm.auto(default) by Eric LarsonAdd better support for reading corrupted FIF files in
mne.io.read_raw_fif()by Eric LarsonBIDS conformity: When saving FIF files to disk and the files are split into parts, the
split_naming='bids'parameter now uses a “_split-%d” naming instead of the previous “_part-%d”, by Stefan AppelhoffAdd support for whitening and multiple channel types in
mne.beamformer.make_dics()by Marijn van VlietAdd better error message when trying to save incompatible
Evokedobjects to the same file by Eric LarsonAdd support for loading complex numbers from mat files by Thomas Hartmann
Add generic reader function
mne.io.read_raw()that loads files based on their extensions (it wraps the underlying specificread_raw_xxxfunctions) by Clemens BrunnerAdd automatic T3 magnetometer detection and application of
mne.io.Raw.fix_mag_coil_types()tomne.preprocessing.maxwell_filter()by Eric LarsonAdd extended SSS (eSSS) support to
mne.preprocessing.maxwell_filter()by Eric LarsonAdd
'auto'option tomne.preprocessing.ICA.find_bads_ecg()to automatically determine the threshold for CTPS method by Yu-Han LuoAdd a
notebook3d backend for visualization in jupyter notebook withmne.viz.set_3d_backend()by Guillaume FavelierAdd support for reading and writing surfaces in Wavefront .obj format to the
mne.read_surface()andmne.write_surface()by Marijn van VlietAdd tutorial on how to manually fix BEM meshes in Blender by Marijn van Vliet and Ezequiel Mikulan
mne.write_evokeds()will now acceptmne.Evokedobjects with differing channel orders ininfo['bads'], which would previously raise an exception by Richard HöchenbergerAdd support for reading channel names (e.g., for Ricoh data) to
mne.io.read_raw_kit()by Alex Gramfort and Eric LarsonThe
reject_tminandreject_tmaxparameters ofmne.Epochsare now taken into account when using thereject_by_annotationparameter by Stefan Appelhoffmne.preprocessing.find_bad_channels_maxwell()now automatically applies a low-pass filter before running bad channel detection. This can be disabled, restoring previous behavior by Richard HöchenbergerAdd
proj='reconstruct'tomne.Evoked.plot()and related functions to apply projectors and then undo the signal bias using field mapping by Eric LarsonAdd writing BEM surfaces and solutions in H5 format in
mne.write_bem_surfaces()andmne.write_bem_solution()by Eric LarsonWhen picking a subset of channels, or when dropping channels from
Raw,Epochs, orEvoked, projectors that can only be applied to the removed channels will now be dropped automatically by Richard Höchenbergermne.Reportnow can add topomaps of SSP projectors to the generated report. This behavior can be toggled via the newprojsargument by Richard HöchenbergerWhen passing a list of
Evokedobjects toplot_compare_evokeds, each evoked’s.commentattribute will be used to label the trace. If.commentis empty, a 1-based index is assigned as the label by Richard HöchenbergerSpeed up
mne.stats.summarize_clusters_stc()using Numba by Yu-Han LuoAdd
reject_by_annotation=Truetomne.make_fixed_length_epochs()andmne.preprocessing.ICA.plot_properties()to reject bad data segments based on annotation by Yu-Han Luoparse_foldernow accepts a path-like folder name (it used to work with strings only) by Alex GramfortAdd
component_orderparameter tomne.decoding.CSPwhich allows switching betweenmutual_info(default) andalternate(a simpler and frequently used option) by Martin Billinger and Clemens BrunnerAdd memory size information to the
reprofmne.SourceSpacesandmne.SourceEstimateand related classes by Eric LarsonAdd reader for Persyst (.lay + .dat format) data in
mne.io.read_raw_persyst()by Adam LiUse PyVista as the default backend for 3D visualization instead of Mayavi by Guillaume Favelier
Add reader for SNIRF NIRS data in
mne.io.read_raw_snirf()by Robert LukeEvokedhas gainedtminandtmaxattributes for more consistency withEpochsby Richard Höchenberger
Bugs#
Fix bug for writing and reading complex evoked data modifying
mne.write_evokeds()andmne.read_evokeds()by new contributor Lau Møller AndersenFix bug by adding error message when trying to save complex stc data in a non.-h5 format
mne.VolSourceEstimate.save()by new contributor Lau Møller AndersenFix bug with logging in
mne.io.Raw.set_eeg_reference()and related functions by new contributor Simeon WongFix bug with
mne.io.read_raw_gdf()where birthdays were not parsed properly, leading to an error by new contributor Svea Marie MeyerFix bug with
mne.io.read_raw_edf()where recording ID was not read properly for non-ASCII characters by new contributor Lx37Fix bug in
mne.set_eeg_reference()and related functions to setinfo['custom_ref_applied']toTruefor ‘ecog’ and ‘seeg’ channels in addition to ‘eeg’ by new contributor Liberty HamiltonFix bug with
mne.chpi.compute_chpi_amplitudes()andmne.chpi.filter_chpi()to optimize time window length by new contributor Steven BiererFix bug with
mne.preprocessing.ICA.find_bads_eog()when more than one EOG components are present by Christian O’ReillyFix bug with non-preloaded data when using
raw.apply_proj().load_data().get_data()where projectors were not applied by Eric LarsonFix bug to permit
stc.project('nn', src)to be applied afterstcwas restricted to anmne.Labelby Luke BloyFix bug with
mne.io.Raw.set_meas_date()to support settingmeas_datetoNone, by Luke BloyFix bug with
mne.setup_volume_source_space()whenvolume_labelwas supplied where voxels slightly (in a worst case, about 37% timesposin distance) outside the voxel-grid-based bounds of regions were errantly included, by Eric LarsonFix bug with mne coreg where reverse scalings were applied to
src[0]['src_mri_t']for volume source spaces, so morphing and plotting did not work correctly by Eric LarsonFix bug with
mne.io.read_raw_ctf()when reference magnetometers have the compensation grade marked by Eric LarsonFix bug with
mne.SourceSpaces.export_volumewithuse_lut=Falsewhere no values were written by Eric LarsonFix bug with
mne.preprocessing.annotate_movement()where bad data segments, specified inraw.annotations, would be handled incorrectly by Luke BloyFix bug with
mne.compute_source_morph()when more than one volume source space was present (e.g., when using labels) where only the first label would be interpolated whenmri_resolution=Trueby Eric LarsonFix bug with
mne.compute_source_morph()when morphing to a volume source space whensrc_tois used and the destination subject is notfsaverageby Eric LarsonFix bug with
mne.compute_source_morph()where outermost voxels in the destination source space could be errantly omitted by Eric LarsonFix bug with
mne.compute_source_morph()where complex data was cast to real when doing a volumetric morph by Eric LarsonFix bug with
mne.minimum_norm.compute_source_psd_epochs()andmne.minimum_norm.source_band_induced_power()raised errors whenmethod='eLORETA'by Eric LarsonFix bug with
mne.minimum_norm.apply_inverse()where the explained variance did not work for complex data by Eric LarsonFix bug with
mne.preprocessing.compute_current_source_density()where values were not properly computed; maps should now be more focal, by Alex Rockhill and Eric LarsonFix bug with
mne.combine_evoked()where equal-weighted averages were wrongly computed as equal-weighted sums, by Daniel McCloyFix bug with
mne.channels.DigMontage.plot()when reference channels with no defined position are present, by Eric LarsonFix bug with
mne.channels.read_custom_montage()where"headshape"points in SFP format were not read properly, by Eric LarsonFix bug with setting HTML classes when using
mne.Report.add_bem_to_sectionby Eric LarsonFix bug with convex-hull based MEG helmet creation where the face area could be covered up, by Eric Larson
Fix bug with
mne.inverse_sparse.mixed_norm()andmne.inverse_sparse.gamma_map()withreturn_as_dipoles=Trueandmne.beamformer.rap_music()wheredip.gofwas the same for all dipoles. GOF values / explained variance across all dipoles now gets split among the dipoles using SVD of the lead fields. To get the total GOF,sum(dip.gof for dip in dipoles)can be used, by Eric LarsonFix bug with
mne.inverse_sparse.gamma_map()where output data was not assigned properly when using a free-orientation forward andxyz_same_gamma=Falseby Eric LarsonFix to enable interactive plotting with no colorbar with
mne.viz.plot_evoked_topomap()by Daniel McCloyFix plotting with
mne.viz.plot_evoked_topomap()to pre-existing axes by Daniel McCloyFix bug with
mne.viz.plot_vector_source_estimates()using the PyVista backend withtime_viewer=Truewhen updating the arrow colormaps by Eric LarsonFix bug with
mne.viz.plot_vector_source_estimates()whereclim='auto'andclim=dict(..., kind='percent')did not take into account the magnitude of the activation, by Eric LarsonThe default plotting mode for
mne.io.Raw.plot()and mne browse_raw has been changed toclipping=3.to facilitate data analysis with large deflections, by Eric LarsonPSD plots will now show non-data channels (e.g.,
misc) if those channels are explicitly passed topicks, by Daniel McCloy.Fix bug with
mne.time_frequency.read_tfrs()whereinfo['meas_date']was not parsed correctly, by Eric LarsonFix bug with
mne.time_frequency.tfr_array_stockwell()where inputs were not properly validated by Eric LarsonFix handling of NaN when using TFCE in clustering functions such as
mne.stats.spatio_temporal_cluster_1samp_test()by Eric LarsonFix handling of signs when using TFCE by Eric Larson
The
mne.MixedSourceEstimateclass has been clarified to contain two cortical surface source spaces, plus at least one other source space. Creating source estimates in other orderings is not supported, by Eric LarsonFix bug where
VolSourceEstimate.verticeswas an instance ofndarrayinstead oflistof onendarray, by Eric LarsonFix default to be
foreground=Noneinmne.viz.plot_source_estimates()to use white or black text based on the background color by Eric LarsonFix bug with writing EGI and CTF
mne.Infoto H5 format, e.g., withmne.time_frequency.AverageTFR.saveby Eric LarsonFix bug with topomap outlines in
mne.time_frequency.AverageTFR.plot_joint()andmne.time_frequency.AverageTFR.plot_topo()by Eric LarsonFix bug with
mne.io.Raw.plot()where toggling all projectors did not actually take effect by Eric LarsonFix bug with
mne.write_proj()where the number of columns was incorrectly written by Eric LarsonFix bug with
mne.read_epochs()when loading data in complex format withpreload=Falseby Eric LarsonFix bug with
mne.Epochs.save()where the file splitting calculations did not account for the sizes of non-data writes by Eric LarsonFix bug with
mne.Epochswhen metadata was not subselected properly whenevent_repeated='drop'by Eric LarsonFix bug with
mne.Epochswhereepochs.drop_logwas a list of list of str rather than an immutable tuple of tuple of str (not meant to be changed by the user) by Eric LarsonFix bug with
mne.Reportwhere the BEM section could not be toggled by Eric LarsonFix bug when using
mne.Epochs.crop()to exclude the baseline period would breakmne.Epochs.save()/mne.read_epochs()round-trip by Eric LarsonFix bug with
mne.Epochs.subtract_evokedwhere using decimated epochs would lead to an error by Eric LarsonFix bug with
mne.viz.plot_bem()andmne.Reportwhen plotting BEM contours when MRIs are not in standard FreeSurfer orientation by Eric LarsonFix bug with
mne.minimum_norm.make_inverse_operator()where it would warn even when an explicitrankwas used by Eric LarsonFix bugs with
mne.beamformer.make_lcmv()andmne.beamformer.make_dics()where:Noise normalization factors
weight_norm='unit-noise-gain'andweight_norm='nai'were computed incorrectlypick_ori='max-power'computed the max-power orientation incorrectlypick_ori='normal'did not compute power or noise normalization factors correctlymne.beamformer.apply_lcmv_cov()did not apply whitening and projections properly
Fix mne setup_forward_model to have it actually compute the BEM solution in addition to creating the BEM model by Eric Larson
Fix bug with
mne.io.read_raw_edf()where null bytes were not properly handled, causing an error when opening a file by Eric LarsonFix bug with
mne.Report()where unicode characters were not rendered properly (encoding for HTML was not set) by Eric LarsonFix bug with
mne.preprocessing.nirs.scalp_coupling_index()where filter transition was incorrectly assigned by Robert LukeFix bug with
mne.make_forward_dipole()wheremne.write_forward_solution()could not be used by Eric LarsonFix bug with
mne.io.Raw.plot()whenscalings='auto'where bad data would prevent channel plotting by Eric LarsonDefault
borderandextrapolatearguments formne.Evoked.plot_topomap()and related functions were changed from0.to'mean'and'box'to'auto', respectively, to help more accurately reflect sensor geometries and boundary conditions.extrapolate='auto'usesextrapolate='local'for MEG data andextrapolate='head'otherwise, by Eric LarsonFix bug that prevents
n_jobsfrom being a NumPy integer type, by Daniel McCloy.Fix bug with
mne.epochs.average_movements()where epoch weights were computed using all basis vectors instead of the internal basis only by Eric LarsonFix bug with
mne.get_volume_labels_from_aseg()where the returned labels were alphabetical instead of reflecting their volumetric ID-based order by Eric LarsonFix bug with
mne.preprocessing.find_bad_channels_maxwell()where good data of exactlystepduration would lead to an error by Eric LarsonFix bug with
mne.preprocessing.find_bad_channels_maxwell()where indices were not handled properly when MEG channels were not first in the raw instance, and logging messages incorrectly reported the interval used by Eric LarsonMake
mne.set_config()accept path-like input values by Richard HöchenbergerFix bug with
mne.write_labels_to_annot()andmne.datasets.fetch_hcp_mmp_parcellation()where label name strings were not properly terminated, leading to problems loading in FreeSurfer by Eric LarsonFix bug with
mne.beamformer.make_dics()where complex conjugates were not applied properly by Britta Westner and Eric LarsonFix bug with
mne.bem.make_watershed_bem()where the RAS coordinates of watershed bem surfaces were not updated correctly from the volume file by Yu-Han LuoFix bug with
mne.io.Raw.get_channel_types()and related methods where the ordering ofpickswas not preserved, by Eric LarsonFix bug with
mne.io.Raw.plot_psd()withaverage=Falseand multiple channel types where channel locations were not shown properly by Eric LarsonFix bug with
mne.viz.plot_sparse_source_estimates()when using'sphere'mode by Eric Larson and Guillaume FavelierFix bug in FieldTrip reader functions when channels are missing in the
infoobject by Thomas HartmannThrow proper error when trying to import FieldTrip Epochs data with non-uniform time for trials by Thomas Hartmann
Throw proper error when trying to import FieldTrip data saved by an old, incompatible version by Thomas Hartmann
Fix bug in
mne.read_epochs_fieldtrip()when importing data without atrialinfofield by Thomas HartmannFix bug in
mne.preprocessing.ICA.plot_properties()where time series plot doesn’t start at the proper tmin by Teon BrooksFix bug with
mne.preprocessing.ICA.plot_properties()where amne.io.Rawobject with annotations would lead to an error by Yu-Han LuoFix bug with
mne.events_from_annotations(raw.annotations)whenorig_timeof annotations is None andraw.first_time > 0, by Alex Gramfort
API changes#
Python 3.5 is no longer supported, Python 3.6+ is required, by Eric Larson
adjacencyhas replacedconnectivityin the names of:Arguments to clustering functions, such as
mne.stats.permutation_cluster_test, andFunction names for defining adjacency, such as
mne.spatio_temporal_src_adjacencyreplacingmne.spatio_temporal_src_connectivity.
The complete list of changed function names is:
mne.channels.find_ch_connectivity→find_ch_adjacencymne.channels.read_ch_connectivity→read_ch_adjacencymne.spatial_dist_connectivity→spatial_dist_adjacencymne.spatial_inter_hemi_connectivity→spatial_inter_hemi_adjacencymne.spatial_src_connectivity→spatial_src_adjacencymne.spatial_tris_connectivity→spatial_tris_adjacencymne.spatio_temporal_dist_connectivity→spatio_temporal_dist_adjacencymne.spatio_temporal_src_connectivity→spatio_temporal_src_adjacencymne.spatio_temporal_tris_connectivity→spatio_temporal_tris_adjacency
“connectivity” is now reserved for discussions of functional and effective connectivity of the brain, and “adjacency” for source or sensor neighbor definitions for cluster-based analyses, by Eric Larson.
The default for the
standardize_namesargument ofmne.io.read_raw_kit()will change fromTruetoFalsein 0.22, by Eric LarsonThe
normalize_fwdargument ofmne.beamformer.make_dics()has been deprecated in favor ofdepth, by Eric LarsonThe
overwriteparameter ofmne.write_bem_surfaces()andmne.write_bem_solution()defaults toTruein 0.21 but will change toFalsein 0.22, by Eric LarsonAdd
n_colsparameter tomne.preprocessing.ICA.plot_scores()to allow plotting scores in multiple columns, by Luke BloyIn
mne.stats.permutation_cluster_test()andmne.stats.permutation_cluster_1samp_test()the default parameter valueout_type='mask'has changed toNone, which in 0.21 means'mask'but will change to mean'indices'in the next version, by Daniel McCloyThe default window size set by
filter_lengthwhenmethod='spectrum_fit'inmne.io.Raw.notch_filter()will change fromNone(use whole file) to'10s'in 0.22, by Eric Larsonvminandvmaxparameters are deprecated inmne.Epochs.plot_psd_topomap()andmne.viz.plot_epochs_psd_topomap(); use newvlimparameter instead, by Daniel McCloy.The method
stc_mixed.plot_surfacefor amne.MixedSourceEstimatehas been deprecated in favor ofstc.surface().plot(...)by Eric LarsonThe method
stc.normalformne.VectorSourceEstimatehas been deprecated in favor ofstc.project('nn', src)by Eric LarsonAdd
use_dev_head_transparameter tomne.preprocessing.annotate_movement()to allow choosing the device to head transform is used to define the fixed cHPI coordinates by Luke BloyThe function
mne.channels.read_dig_captrackwill be deprecated in version 0.22 in favor ofmne.channels.read_dig_captrak()to correct the spelling error: “captraCK” -> “captraK”, by Stefan AppelhoffThe
thresholdargument inmne.preprocessing.ICA.find_bads_ecg()defaults toNonein version 0.21 but will change to'auto'in 0.22 by Yu-Han LuoThe function
mne.preprocessing.mark_flathas been deprecated in favor ofmne.preprocessing.annotate_flatby Eric LarsonThe default argument
meg=Trueinmne.pick_types()will change tomeg=Falsein version 0.22 by Clemens BrunnerAdded
mne.io.Raw.get_montage(), which obtains the montage that an instance has, by Adam Li