|
a |
|
b/doc/changes/v0.20.rst |
|
|
1 |
.. _changes_0_20: |
|
|
2 |
|
|
|
3 |
Version 0.20 (2020-03-27) |
|
|
4 |
------------------------- |
|
|
5 |
|
|
|
6 |
Changelog |
|
|
7 |
~~~~~~~~~ |
|
|
8 |
|
|
|
9 |
- Improved :func:`mne.viz.plot_epochs` to label epoch counts starting from 0, by `Sophie Herbst`_ |
|
|
10 |
|
|
|
11 |
- Add :func:`minimum_norm.apply_inverse_cov` to compute static power by applying inverse solutions to a data covariance matrix by `Denis Engemann`_, `Luke Bloy`_, and `Eric Larson`_ |
|
|
12 |
|
|
|
13 |
- Add :func:`mne.minimum_norm.resolution_metrics` to compute various resolution metrics for inverse solutions, by `Olaf Hauk`_ |
|
|
14 |
|
|
|
15 |
- Add current source density :func:`mne.preprocessing.compute_current_source_density` to compute the surface Laplacian in order to reduce volume conduction in data by `Alex Rockhill`_ |
|
|
16 |
|
|
|
17 |
- Add :func:`mne.chpi.extract_chpi_locs_ctf` to extract cHPI coil locations from CTF data by `Luke Bloy`_ |
|
|
18 |
|
|
|
19 |
- Add :func:`mne.chpi.compute_chpi_amplitudes`, :func:`mne.chpi.compute_chpi_locs`, and :func:`mne.chpi.compute_head_pos` to compute head positions from cHPI coil locations by `Eric Larson`_ and `Luke Bloy`_ |
|
|
20 |
|
|
|
21 |
- Add ``allow_line_only`` option to :func:`mne.chpi.filter_chpi` to allow filtering line frequencies only in files that do not have cHPI information by `Eric Larson`_ |
|
|
22 |
|
|
|
23 |
- Add :func:`mne.io.Raw.set_meas_date` by `Eric Larson`_ |
|
|
24 |
|
|
|
25 |
- Add :meth:`mne.Epochs.as_type` to allow remapping data in MEG channels to virtual magnetometer or gradiometer channels by `Sophie Herbst`_ and `Alex Gramfort`_ |
|
|
26 |
|
|
|
27 |
- Add ``copy`` parameter to :meth:`mne.Epochs.iter_evoked` by `Alex Gramfort`_ |
|
|
28 |
|
|
|
29 |
- Add command :ref:`mne setup_source_space` to quickly set up bilateral hemisphere surface-based source space with subsampling by `Victor Ferat`_. |
|
|
30 |
|
|
|
31 |
- Add command :ref:`mne sys_info` to print system information by `Eric Larson`_ |
|
|
32 |
|
|
|
33 |
- Add function :func:`mne.make_fixed_length_epochs` to segment raw into fixed length epochs by `Mohammad Daneshzand`_ |
|
|
34 |
|
|
|
35 |
- Add support for computing patch information only in surface source space creation with ``add_dist='patch'`` in :func:`mne.setup_source_space` and ``dist_limit=0`` in :func:`mne.add_source_space_distances` by `Eric Larson`_ |
|
|
36 |
|
|
|
37 |
- Add :class:`mne.Label.restrict` to restrict a label to vertices within a source space by `Eric Larson`_ |
|
|
38 |
|
|
|
39 |
- Add support for passing a destination source space ``src_to`` in :func:`mne.compute_source_morph` to ensure morphing for multiple subjects results in consistent STCs, by `Eric Larson`_ |
|
|
40 |
|
|
|
41 |
- Add support for ``smooth='nearest'`` for surfaces in :func:`mne.compute_source_morph` by `Eric Larson`_ |
|
|
42 |
|
|
|
43 |
- Add support for plotting fNIRS channels in :func:`mne.viz.plot_alignment`, :func:`mne.viz.plot_evoked_topo` and :func:`mne.Evoked.animate_topomap` by `Eric Larson`_ and `Robert Luke`_ |
|
|
44 |
|
|
|
45 |
- Add command line tool :ref:`mne anonymize` for anonymizing raw fiff files by `Luke Bloy`_ |
|
|
46 |
|
|
|
47 |
- Add :func:`mne.preprocessing.find_bad_channels_maxwell` for automatic bad channel detection via Maxwell filtering by `Eric Larson`_ |
|
|
48 |
|
|
|
49 |
- Add support to :func:`mne.io.anonymize_info` to allow time offset to be applied to dates by `Luke Bloy`_ |
|
|
50 |
|
|
|
51 |
- Add support for computing resolution matrix to get point spread functions (PSF) and cross-talk functions (CTF) in :func:`mne.minimum_norm.make_inverse_resolution_matrix`, :func:`mne.beamformer.make_lcmv_resolution_matrix`, :func:`mne.minimum_norm.get_cross_talk`, :func:`mne.minimum_norm.get_point_spread` by `Olaf Hauk`_ |
|
|
52 |
|
|
|
53 |
- Add :func:`mne.preprocessing.read_ica_eeglab` to read EEGLAB ICA decompositions by `Christian O'Reilly`_ |
|
|
54 |
|
|
|
55 |
- Add keyboard functionality to interactive colorbar plotting TFRs by `Stefan Repplinger`_ |
|
|
56 |
|
|
|
57 |
- Add the ability to ``return_event_id`` in :func:`mne.read_events` for use with MNE-C produced ``-annot.fif`` files, by `Eric Larson`_ |
|
|
58 |
|
|
|
59 |
- Add option to ``mne.connectivity.spectral_connectivity`` to compute corrected imaginary PLV by `Adonay Nunes`_ |
|
|
60 |
|
|
|
61 |
- Add :func:`mne.SourceEstimate.estimate_snr` to estimate source-space SNR, by `Kaisu Lankinen`_ and `Padma Sundaram`_ |
|
|
62 |
|
|
|
63 |
- Add option to specify the coordinate frame in :func:`mne.channels.read_custom_montage` by `Eric Larson`_ |
|
|
64 |
|
|
|
65 |
- Add option to use ``match_case=False`` to :meth:`mne.io.Raw.set_montage` and related functions by `Eric Larson`_ |
|
|
66 |
|
|
|
67 |
- Add reader for NIRx data in :func:`mne.io.read_raw_nirx` by `Robert Luke`_ |
|
|
68 |
|
|
|
69 |
- Add function to convert NIRS data to optical density :func:`mne.preprocessing.nirs.optical_density` by `Robert Luke`_ |
|
|
70 |
|
|
|
71 |
- Add function to convert NIRS data to haemoglobin concentration :func:`mne.preprocessing.nirs.beer_lambert_law` by `Robert Luke`_ |
|
|
72 |
|
|
|
73 |
- Add ``fig`` argument to :func:`mne.viz.plot_evoked_field` by `Eric Larson`_ |
|
|
74 |
|
|
|
75 |
- Add functions to calculate spatial information of NIRS channels :func:`mne.preprocessing.nirs.source_detector_distances` and :func:`mne.preprocessing.nirs.short_channels` by `Robert Luke`_ |
|
|
76 |
|
|
|
77 |
- Add reader for ``*.dat`` electrode position files :func:`mne.channels.read_dig_dat` by `Christian Brodbeck`_ |
|
|
78 |
|
|
|
79 |
- Improved :func:`mne.viz.plot_events` to always show event counts by `Eric Larson`_ |
|
|
80 |
|
|
|
81 |
- Improved :ref:`limo-dataset` usage and :ref:`example <ex-limo-data>` for usage of :func:`mne.stats.linear_regression` by `Jose Alanis`_ |
|
|
82 |
|
|
|
83 |
- Add support for ``reduce_rank=True`` for vector beamformers by `Eric Larson`_ |
|
|
84 |
|
|
|
85 |
- Add ``method='sphere'`` support for using Freesurfer spherical inflation in :func:`mne.decimate_surface` to facilitate mesh downsampling for use with :func:`mne.make_bem_model` by `Eric Larson`_ |
|
|
86 |
|
|
|
87 |
- Speed up :func:`mne.beamformer.make_lcmv` and :func:`mne.beamformer.make_dics` calculations by vectorizing linear algebra calls by `Dmitrii Altukhov`_ and `Eric Larson`_ |
|
|
88 |
|
|
|
89 |
- Speed up :func:`mne.make_forward_solution` using Numba, by `Eric Larson`_ |
|
|
90 |
|
|
|
91 |
- Speed up :func:`mne.io.read_raw_fif` data reading when the recording is long and there are many data tags repeatedly accessed, by `Eric Larson`_ |
|
|
92 |
|
|
|
93 |
- For KIT systems without built-in layout, :func:`mne.channels.find_layout` now falls back on an automatically generated layout, by `Christian Brodbeck`_ |
|
|
94 |
|
|
|
95 |
- :meth:`mne.Epochs.plot` now takes a ``epochs_colors`` parameter to color specific epoch segments by `Mainak Jas`_ |
|
|
96 |
|
|
|
97 |
- Add command :ref:`mne setup_forward_model` to quickly create a BEM model for a subject by `Victor Ferat`_. |
|
|
98 |
|
|
|
99 |
- Add command :ref:`mne prepare_bem_model` to quickly create a BEM solution using the linear collocation approach by `Victor Ferat`_. |
|
|
100 |
|
|
|
101 |
- Add support for reading ``.bdip`` Xfit binary dipole fit files in :func:`mne.read_dipole` by `Eric Larson`_ |
|
|
102 |
|
|
|
103 |
- Allow returning vector source estimates from sparse inverse solvers through ``pick_ori='vector'`` by `Christian Brodbeck`_ |
|
|
104 |
|
|
|
105 |
- Add NIRS support to :func:`mne.viz.plot_topomap` and :func:`mne.viz.plot_ica_components` by `Robert Luke`_ |
|
|
106 |
|
|
|
107 |
- Add the ability to :func:`mne.channels.equalize_channels` to also re-order the channels and also operate on instances of :class:`mne.Info`, :class:`mne.Forward`, :class:`mne.Covariance` and :class:`mne.time_frequency.CrossSpectralDensity` by `Marijn van Vliet`_ |
|
|
108 |
|
|
|
109 |
- Allow `mne.channels.read_custom_montage` to handle fiducial points for BESA spherical (``.elp``) files by `Richard Höchenberger`_ |
|
|
110 |
|
|
|
111 |
- Add ``rank`` argument to :func:`mne.fit_dipole` by `Eric Larson`_ |
|
|
112 |
|
|
|
113 |
- Add function to convert events to annotations :func:`mne.annotations_from_events` by `Nicolas Barascud`_ |
|
|
114 |
|
|
|
115 |
- Add function to calculate scalp coupling index for fNIRS data :func:`mne.preprocessing.nirs.scalp_coupling_index` by `Robert Luke`_ |
|
|
116 |
|
|
|
117 |
- Add ``item`` argument to :meth:`mne.Epochs.get_data` for faster access to NumPy data arrays compared to :meth:`mne.Epochs.__getitem__` for frequent access on large :class:`mne.Epochs` objects, by `Eric Larson`_ |
|
|
118 |
|
|
|
119 |
- More accurate coordinate system for Easycap montages in :func:`mne.channels.make_standard_montage` by `Christian Brodbeck`_ |
|
|
120 |
|
|
|
121 |
- Add ``border`` argument to :func:`mne.viz.plot_topomap`. ``border`` controls the value of the edge points to which topomap values are extrapolated. ``border='mean'`` sets these points value to the average of their neighbours. By `Mikołaj Magnuski`_ |
|
|
122 |
|
|
|
123 |
- Add function :func:`mne.viz.link_brains` to link time properties of multiple brain objects interactively by `Guillaume Favelier`_ |
|
|
124 |
|
|
|
125 |
- Add function :func:`mne.preprocessing.annotate_movement` to annotate periods with head motion and :func:`mne.preprocessing.compute_average_dev_head_t` to re-estimate the device to head transform with average head position during segments with acceptable head movement. by `Adonay Nunes`_ |
|
|
126 |
|
|
|
127 |
- Make selected channels more distinguishable in :meth:`mne.Epochs.plot_sensors` when using ``kind='select'`` by `Mikołaj Magnuski`_ |
|
|
128 |
|
|
|
129 |
- Allow retrieval of the number of Infomax ICA iterations via the new ``return_n_iter`` keyword argument of :func:`mne.preprocessing.infomax` by `Richard Höchenberger`_ |
|
|
130 |
|
|
|
131 |
- Expose the number of ICA iterations during the fitting procedure via the ``n_iter_`` attribute of :class:`mne.preprocessing.ICA` by `Richard Höchenberger`_ |
|
|
132 |
|
|
|
133 |
- :func:`mne.grand_average` now produces a warning when only a single dataset was passed, instead of raising an error by `Richard Höchenberger`_ |
|
|
134 |
|
|
|
135 |
- Add ``nrows`` and ``ncols`` parameters to :func:`mne.viz.plot_evoked_topomap`, which allows to create multiline topomap plots for Evoked. By `Federico Raimondo`_ |
|
|
136 |
|
|
|
137 |
- Improve repr of :class:`mne.Info` (empty items are not shown anymore) by `Clemens Brunner`_ |
|
|
138 |
|
|
|
139 |
Bug |
|
|
140 |
~~~ |
|
|
141 |
|
|
|
142 |
- Fix the ``reduce_rank`` parameter in :func:`mne.beamformer.make_lcmv` and :func:`mne.beamformer.make_dics` to reduce the rank of the leadfield first before then reducing the rank of the denominator of the beamformer formula for the inversion by `Britta Westner`_ and `Eric Larson`_. |
|
|
143 |
|
|
|
144 |
- Fix bug with :func:`mne.beamformer.make_lcmv` with data where rank was incorrectly checked by `Eric Larson`_. |
|
|
145 |
|
|
|
146 |
- Allow :func:`mne.channels.read_dig_hpts` to accept point categories (eg. EEG) to be specified in upper case by `Alex Gramfort`_. |
|
|
147 |
|
|
|
148 |
- Fix a bug in ``mne.MixedSourceEstimate.plot_surface`` that prevented plotting in latest PySurfer by `Christian O'Reilly`_. |
|
|
149 |
|
|
|
150 |
- Fix ``method='eLORETA'`` in :func:`mne.minimum_norm.apply_inverse`, by `Eric Larson`_: |
|
|
151 |
|
|
|
152 |
1. regularization, which was off by roughly a factor of a square root |
|
|
153 |
2. units, which are now nAm instead of being arbitrary |
|
|
154 |
3. explained variance and residuals, which were previously unavailable |
|
|
155 |
4. ``force_equal`` in the case of loose orientations, which previously |
|
|
156 |
defaulted to ``True`` now defaults to ``False``. |
|
|
157 |
Reapplying orientation priors at each iteration of the algorithm |
|
|
158 |
sufficiently preserves a smooth transition between loose=0. to loose=1. |
|
|
159 |
without compromising localization accuracy in testing. |
|
|
160 |
|
|
|
161 |
- Fix bug in ``method='eLORETA'`` for :func:`mne.minimum_norm.apply_inverse` (and variants) to allow restricting source estimation to a label by `Luke Bloy`_ |
|
|
162 |
|
|
|
163 |
- Fix bug in :func:`mne.compute_covariance` and :func:`mne.compute_raw_covariance` where biased normalization (based on degrees of freedom) was used and ``cov.nfree`` was not set properly by `Eric Larson`_ |
|
|
164 |
|
|
|
165 |
- Fix ``mne.VectorSourceEstimate.normal`` to account for cortical patch statistics using ``use_cps=True`` by `Eric Larson`_ |
|
|
166 |
|
|
|
167 |
- Fix ``pick_ori='normal'`` for :func:`mne.minimum_norm.apply_inverse` when the inverse was computed with ``loose=1.`` and the forward solution was not in surface orientation, by `Eric Larson`_ |
|
|
168 |
|
|
|
169 |
- Fix missing xlabel for :func:`mne.io.Raw.plot_psd` and similar functions when passing a subset of axes from a figure by `Alex Gramfort`_ |
|
|
170 |
|
|
|
171 |
- Fix wrong DataFrame index when ``index=None`` in methods :meth:`mne.io.Raw.to_data_frame`, :meth:`mne.Epochs.to_data_frame`, :meth:`mne.Evoked.to_data_frame`, and :meth:`mne.SourceEstimate.to_data_frame`, by `Daniel McCloy`_. |
|
|
172 |
|
|
|
173 |
- Fix incorrect scaling of cluster temporal extent in :func:`mne.stats.summarize_clusters_stc` by `Daniel McCloy`_. |
|
|
174 |
|
|
|
175 |
- Fix :func:`mne.time_frequency.read_tfrs` to properly read :class:`~mne.Info` transforms by `Eric Larson`_ |
|
|
176 |
|
|
|
177 |
- Fix :func:`mne.viz.plot_sensors` to always plot in head coordinate frame by `Daniel McCloy`_. |
|
|
178 |
|
|
|
179 |
- Fix :func:`mne.io.read_raw_cnt` for version 1 of format in the presence of annotations by `Alex Gramfort`_. |
|
|
180 |
|
|
|
181 |
- Fix :class:`mne.decoding.GeneralizingEstimator` and related classes to support multi-class sklearn scorers such as ``'roc_auc_ovo'`` and ``'roc_auc_ovo_weighted'`` by `Eric Larson`_ |
|
|
182 |
|
|
|
183 |
- Fix :meth:`mne.io.read_raw_ctf` to set measurement date from CTF ds files by `Luke Bloy`_. |
|
|
184 |
|
|
|
185 |
- Fix :meth:`mne.read_epochs_eeglab` that ignored channel locations by `Alex Gramfort`_. |
|
|
186 |
|
|
|
187 |
- Fix :func:`mne.io.read_raw_brainvision` when channel names have spaces by `Sebastian Major`_. |
|
|
188 |
|
|
|
189 |
- Fix :func:`mne.io.read_raw_brainvision` when ``"Core"`` is in the data header by `Eric Larson`_ |
|
|
190 |
|
|
|
191 |
- Fix :meth:`mne.io.Raw.anonymize` to correctly reset ``raw.annotations.orig_time`` by `Luke Bloy`_. |
|
|
192 |
|
|
|
193 |
- Fix :meth:`mne.io.Raw.anonymize` to correctly avoid shifting ``raw.annotations.onset`` relative to ``raw.first_samp`` by `Eric Larson`_ |
|
|
194 |
|
|
|
195 |
- Fix :meth:`mne.io.Raw.set_channel_types` and :meth:`mne.io.Raw.rename_channels` and related methods to return the instance instead of ``None`` by `Eric Larson`_ |
|
|
196 |
|
|
|
197 |
- :meth:`mne.Epochs.iter_evoked` now does not return a copy of info when ``copy=False`` (default parameter) by `Alex Gramfort`_ |
|
|
198 |
|
|
|
199 |
- The attribute :class:`mne.Annotations.orig_time <mne.Annotations>` is now read-only, and is a :class:`~python:datetime.datetime` object (or None) rather than float, by `Eric Larson`_ |
|
|
200 |
|
|
|
201 |
- Fix bug where MRI distances were not properly initialized in :ref:`mne coreg` by `Eric Larson`_ |
|
|
202 |
|
|
|
203 |
- Fix ``xscale='log'`` in :meth:`mne.io.Raw.plot_psd` and related functions by `Alex Gramfort`_ |
|
|
204 |
|
|
|
205 |
- Unify behavior of ``raw.annotations.append(...)`` when ``raw.info['meas_date']`` is None to make onsets absolute relative to ``first_samp`` as they are when ``raw.info['meas_date']`` is not None; i.e., you might need to do ``raw.annotations.append(old_time + raw.first_time)``, by `Eric Larson`_ |
|
|
206 |
|
|
|
207 |
- The :class:`info['meas_date'] <mne.Info>` entry is now a :class:`~python:datetime.datetime` object (or None) rather than float, by `Eric Larson`_ |
|
|
208 |
|
|
|
209 |
- Fix :meth:`mne.time_frequency.AverageTFR.save` and related functions to deal with :class:`~python:datetime.datetime` objects properly by `Eric Larson`_ |
|
|
210 |
|
|
|
211 |
- Fix date reading before Unix time zero (1970 Jan 1) on Windows by `Alex Rockhill`_. |
|
|
212 |
|
|
|
213 |
- Fix bug running subprocesses (e.g., in :func:`mne.bem.make_watershed_bem`) in Jupyter notebooks, by `Eric Larson`_ |
|
|
214 |
|
|
|
215 |
- Fix :meth:`mne.io.read_raw_artemis123` to add HPI locations to digitization points, by `Luke Bloy`_ |
|
|
216 |
|
|
|
217 |
- Fix :meth:`mne.Epochs.shift_time` and :meth:`mne.Evoked.shift_time` to return the modified :class:`~mne.Epochs` or :class:`~mne.Evoked` instance (instead of ``None``) by `Daniel McCloy`_. |
|
|
218 |
|
|
|
219 |
- Fix :func:`mne.read_annotations` for text files with zero or one annotations, by `Adonay Nunes`_ |
|
|
220 |
|
|
|
221 |
- Fix bug in :class:`~mne.preprocessing.ICA` where requesting extended infomax via ``fit_params={'extended': True}`` was overridden, by `Daniel McCloy`_. |
|
|
222 |
|
|
|
223 |
- Fix bug in :meth:`mne.Epochs.interpolate_bads` where the ``origin`` was not used during MEG or EEG data interpolation by `Eric Larson`_. Old behavior can be achieved using ``origin=(0., 0., 0.)`` for EEG and ``origin=(0., 0., 0.04)`` for MEG, and the new default is ``origin='auto'``, which uses a head-digitization-based fit. |
|
|
224 |
|
|
|
225 |
- Fix bug in :func:`mne.write_evokeds` where ``evoked.nave`` was not saved properly when multiple :class:`~mne.Evoked` instances were written to a single file, by `Eric Larson`_ |
|
|
226 |
|
|
|
227 |
- Fix bug in ``mne.preprocessing.mark_flat`` where acquisition skips were not handled properly, by `Eric Larson`_ |
|
|
228 |
|
|
|
229 |
- Fix bug in :func:`mne.viz.plot_bem` where some sources were not plotted by `Jean-Rémi King`_ and `Eric Larson`_ |
|
|
230 |
|
|
|
231 |
- Fix TAL channel parsing (annotations) for EDF-D files by `Clemens Brunner`_ |
|
|
232 |
|
|
|
233 |
- Fix bug with :func:`mne.viz.plot_dipole_locations` when plotting in head coordinates by `Eric Larson`_ |
|
|
234 |
|
|
|
235 |
- Fix handling in cases where no components are found in :func:`mne.preprocessing.corrmap` by `Eric Larson`_ |
|
|
236 |
|
|
|
237 |
- Fix handling of repeated events in :class:`mne.Epochs` by `Fahimeh Mamashli`_ and `Alex Gramfort`_ |
|
|
238 |
|
|
|
239 |
- Fix many bugs with plotting sensors overlaid on a head outline. All plotting is now done in head coordinates and scaled by ``head_radius``, which defaults to 0.095, by `Eric Larson`_ |
|
|
240 |
|
|
|
241 |
- Fix :func:`mne.io.anonymize_info` to allow shifting dates of service and to match anticipated changes in mne-cpp by `Luke Bloy`_ |
|
|
242 |
|
|
|
243 |
- Fix reading of cardinals in .htps files (identifier are int not strings) by `Alex Gramfort`_ |
|
|
244 |
|
|
|
245 |
- Fix IO of TFRs when event_id contain a / in one of the keys by `Alex Gramfort`_ |
|
|
246 |
|
|
|
247 |
- Fix plotting of TFRs with linear y-scale (misaligned frequency bins), by `Stefan Repplinger`_ and `Eric Larson`_ |
|
|
248 |
|
|
|
249 |
- Fix ``info['sfreq']`` when decimating in :func:`mne.time_frequency.tfr_multitaper` and :func:`mne.time_frequency.tfr_morlet` and make sure an error is raised when exceed Nyquist frequency by `Adonay Nunes`_ |
|
|
250 |
|
|
|
251 |
- Fix bug in EDF(+) loading, filter values ignored by insufficient regex, by `Demetres Kostas`_ |
|
|
252 |
|
|
|
253 |
- Fix missing scaling of tolerance parameter in :func:`mne.inverse_sparse.tf_mixed_norm` and :func:`mne.inverse_sparse.mixed_norm`, by `Mathurin Massias`_ |
|
|
254 |
|
|
|
255 |
- Fix the automatic scaling of the glyphs in :func:`mne.viz.plot_vector_source_estimates` by using 10% of the brain width, by `Guillaume Favelier`_ |
|
|
256 |
|
|
|
257 |
- Fix handling of missing values (NaNs) in ``mne.time_frequency.psd_welch`` by `Clemens Brunner`_ |
|
|
258 |
|
|
|
259 |
- Fix :class:`mne.decoding.LinearModel` to support the refitted estimator of ``GridSearchCV`` in ``sklearn`` by `Chun-Hui Li`_ |
|
|
260 |
|
|
|
261 |
- Fix :func:`mne.viz.plot_topomap` when there are bad channels in the provided :class:`mne.Info` instance by `Eric Larson`_ |
|
|
262 |
|
|
|
263 |
- Fix check for subject definition existing in source space in :func:`mne.compute_source_morph` and related functions by `Eric Larson`_ |
|
|
264 |
|
|
|
265 |
- Fix creation of new figures in :meth:`mne.Epochs.plot_image` and :func:`mne.viz.plot_epochs_image` by `Eric Larson`_ |
|
|
266 |
|
|
|
267 |
- Fix bug in :class:`~mne.preprocessing.Xdawn` where filters where selected along the incorrect axis, by `Henrich Kolkhorst`_ |
|
|
268 |
|
|
|
269 |
- Fix bug in :func:`mne.bem.make_watershed_bem` where some surfaces were saved incorrectly in the working directory by `Yu-Han Luo`_ |
|
|
270 |
|
|
|
271 |
- Fix support for multiple TAL (annotations) channels in BDF reader by `Clemens Brunner`_ |
|
|
272 |
|
|
|
273 |
- Fix missing ``brainmask`` file type in :func:`mne.bem.make_watershed_bem` by changing its default value to ``ws.mgz`` by `Fu-Te Wong`_ |
|
|
274 |
|
|
|
275 |
- Fix bug in :func:`mne.channels.make_standard_montage` which would return ``easycap-M1`` even when requesting ``easycap-M10`` by `Christian Brodbeck`_ |
|
|
276 |
|
|
|
277 |
- Fix the way planar gradiometers are combined in :func:`mne.viz.plot_tfr_topomap` and :meth:`mne.Epochs.plot_psd_topomap` by `Geoff Brookshire`_ |
|
|
278 |
|
|
|
279 |
- Improve error message when trying to load FieldTrip data from a cell array by `Thomas Hartmann`_ |
|
|
280 |
|
|
|
281 |
- Fix bug in :func:`mne.read_evoked_fieldtrip` causing it to crash when channels were present in the provided Info object but were not present in the data by `Thomas Hartmann`_ |
|
|
282 |
|
|
|
283 |
- Fix placement of extrapolation points in :meth:`mne.Evoked.plot_topomap` and related functions when exactly three channels were used by `Mikołaj Magnuski`_. |
|
|
284 |
|
|
|
285 |
- Fix bug in reading annotations in :func:`read_annotations`, which would not accept ";" character by `Adam Li`_ |
|
|
286 |
|
|
|
287 |
- Fix bug in :func:`mne.Report.parse_folder`, which would not recognize ``*meg.fif`` files by `Dmitrii Altukhov`_. |
|
|
288 |
|
|
|
289 |
- Include ``fit_params`` when saving an :class:`~mne.preprocessing.ICA` instance to disk by `Richard Höchenberger`_ |
|
|
290 |
|
|
|
291 |
- Update old url link in :func:`mne.datasets.eegbci.load_data` to ``EEGMI_URL = 'https://physionet.org/files/eegmmidb/1.0.0/'`` by `Ramiro Gatti`_ |
|
|
292 |
|
|
|
293 |
- Ensure corrected p-values calculated by :func:`mne.stats.bonferroni_correction` never exceed the value of 1.0 by `Richard Höchenberger`_ |
|
|
294 |
|
|
|
295 |
API |
|
|
296 |
~~~ |
|
|
297 |
|
|
|
298 |
- ``mne.io.pick.get_channel_types`` is now called ``mne.io.pick.get_channel_type_constants`` to better reflect its return values, by `Daniel McCloy`_. |
|
|
299 |
|
|
|
300 |
- :meth:`mne.Evoked.as_type` now returns an instance of :class:`mne.EvokedArray` by `Sophie Herbst`_ and `Alex Gramfort`_ |
|
|
301 |
|
|
|
302 |
- Bumped minimum requirements to fall 2017 versions by `Eric Larson`_: |
|
|
303 |
|
|
|
304 |
- NumPy 1.13.3 |
|
|
305 |
- SciPy 1.0.0 |
|
|
306 |
- matplotlib 2.1 |
|
|
307 |
- scikit-learn 0.19.1 (optional requirement) |
|
|
308 |
- pandas 0.21 (optional requirement) |
|
|
309 |
|
|
|
310 |
- :meth:`mne.Epochs.plot` now accepts an ``event_id`` parameter (useful in tandem with ``event_colors`` for specifying event colors by name) by `Daniel McCloy`_. |
|
|
311 |
|
|
|
312 |
- Passing ``ch_types=None`` has been deprecated in favor of explicitly passing ``ch_types='misc'`` in :func:`mne.create_info` by `Eric Larson`_ |
|
|
313 |
|
|
|
314 |
- New time conversion options for methods :meth:`mne.io.Raw.to_data_frame`, :meth:`mne.Epochs.to_data_frame`, :meth:`mne.Evoked.to_data_frame`, and :meth:`mne.SourceEstimate.to_data_frame`, by `Daniel McCloy`_. |
|
|
315 |
|
|
|
316 |
- :meth:`mne.Epochs.shift_time` and :meth:`mne.Evoked.shift_time` now allow shifting times by arbitrary amounts (previously only by integer multiples of the sampling period), by `Daniel McCloy`_ and `Eric Larson`_. |
|
|
317 |
|
|
|
318 |
- The ``head_pos`` argument of :func:`mne.Evoked.plot_topomap` and related functions has been deprecated in favor of ``head_radius``, by `Eric Larson`_. |
|
|
319 |
|
|
|
320 |
- The ``layout`` argument to topomap-related functions such as :meth:`mne.Evoked.plot_topomap` and :func:`mne.viz.plot_tfr_topomap` has been deprecated in favor of channel-position based flattening based on the ``info`` and ``sphere`` argument, by `Eric Larson`_. |
|
|
321 |
|
|
|
322 |
- The APIs of :meth:`mne.io.Raw.plot_projs_topomap`, :meth:`mne.Epochs.plot_projs_topomap` and :meth:`mne.Evoked.plot_projs_topomap` are now more similar to :func:`mne.viz.plot_projs_topomap` by `Daniel McCloy`_. |
|
|
323 |
|
|
|
324 |
- The function :func:`mne.setup_volume_source_space` has a ``sphere_units`` argument that defaults to ``'mm'`` in 0.20 but will change to ``'m'`` in 0.21, set it to avoid a warning by `Eric Larson`_. |
|
|
325 |
|
|
|
326 |
- :func:`mne.viz.plot_projs_topomap` and the related methods :meth:`mne.io.Raw.plot_projs_topomap`, :meth:`mne.Epochs.plot_projs_topomap` and :meth:`mne.Evoked.plot_projs_topomap` now accept parameter ``vlim`` to control the colormap, with keyword ``'joint'`` computing the colormap jointly across all projectors of a given channel type, by `Daniel McCloy`_. |
|
|
327 |
|
|
|
328 |
- New methods :meth:`mne.io.Raw.get_channel_types`, :meth:`mne.Epochs.get_channel_types`, :meth:`mne.Evoked.get_channel_types` by `Daniel McCloy`_. |
|
|
329 |
|
|
|
330 |
- Deprecate ``mne.minimum_norm.point_spread_function`` and ``mne.minimum_norm.cross_talk_function`` by `Alex Gramfort`_ |
|
|
331 |
|
|
|
332 |
- Deprecate ``montage`` parameter of :func:`mne.create_info` in favor of :meth:`mne.io.Raw.set_montage`, :meth:`mne.Info.set_montage`, and related functions by `Eric Larson`_ |
|
|
333 |
|
|
|
334 |
- :func:`mne.channels.equalize_channels` no longer operates in-place by default, but instead makes copies of the objects when necessary (see ``copy`` parameter) by `Marijn van Vliet`_ |
|
|
335 |
|
|
|
336 |
- :func:`mne.channels.equalize_channels` now uses the first object in the list as a template for channel ordering by `Marijn van Vliet`_ |
|
|
337 |
|
|
|
338 |
- :func:`mne.channels.equalize_channels` now also re-orders the channels to match, in addition to dropping channels that are not shared by all objects by `Marijn van Vliet`_ |
|
|
339 |
|
|
|
340 |
- :meth:`mne.io.Raw.pick_channels`, :meth:`mne.Epochs.pick_channels` and :meth:`mne.Evoked.pick_channels` now have an ``ordered`` parameter to enforce the ordering of the picked channels by `Marijn van Vliet`_ |
|
|
341 |
|
|
|
342 |
- New methods :meth:`mne.Forward.pick_channels`, :meth:`mne.Covariance.pick_channels`, ``mne.Info.pick_channels``, :meth:`mne.time_frequency.CrossSpectralDensity.pick_channels` by `Marijn van Vliet`_ |
|
|
343 |
|
|
|
344 |
- New attributes ``mne.Forward.ch_names`` and ``mne.Info.ch_names`` by `Marijn van Vliet`_ |
|
|
345 |
|
|
|
346 |
- In :class:`~mne.preprocessing.Xdawn`, the components are stored in the rows of attributes ``filters_`` and ``patterns_`` to be consistent with :class:`~mne.decoding.CSP` and :class:`~mne.preprocessing.ICA` by `Henrich Kolkhorst`_ |
|
|
347 |
|
|
|
348 |
- Drop ``unit`` keyword argument from :func:`mne.channels.read_custom_montage`, as it was unused by `Richard Höchenberger`_ |
|
|
349 |
|
|
|
350 |
- Deprecate ``mne.preprocessing.run_ica``, use ``mne.preprocessing.ICA.detect_artifacts`` instead by `Richard Höchenberger`_ |
|
|
351 |
|
|
|
352 |
Authors |
|
|
353 |
~~~~~~~ |
|
|
354 |
|
|
|
355 |
People who contributed to this release (in alphabetical order): |
|
|
356 |
|
|
|
357 |
* Adam Li |
|
|
358 |
* Adonay Nunes |
|
|
359 |
* Alex Rockhill |
|
|
360 |
* Alexandre Gramfort |
|
|
361 |
* Ariel Rokem |
|
|
362 |
* Britta Westner |
|
|
363 |
* Carlos de la Torre |
|
|
364 |
* Christian Brodbeck |
|
|
365 |
* Christian O'Reilly |
|
|
366 |
* Chun-Hui Li |
|
|
367 |
* Clemens Brunner |
|
|
368 |
* Daniel McCloy |
|
|
369 |
* Demetres Kostas |
|
|
370 |
* Denis A. Engemann |
|
|
371 |
* Dmitrii Altukhov |
|
|
372 |
* Dominik Welke |
|
|
373 |
* Eric Larson |
|
|
374 |
* Ezequiel Mikulan |
|
|
375 |
* Fahimeh Mamashli |
|
|
376 |
* Fede Raimondo |
|
|
377 |
* Fu-Te Wong |
|
|
378 |
* Geoff Brookshire |
|
|
379 |
* Guillaume Favelier |
|
|
380 |
* Henrich Kolkhorst |
|
|
381 |
* Joan Massich |
|
|
382 |
* José C. García Alanis |
|
|
383 |
* Jussi Nurminen |
|
|
384 |
* Kaisu Lankinen |
|
|
385 |
* Luke Bloy |
|
|
386 |
* Mainak Jas |
|
|
387 |
* Marijn van Vliet |
|
|
388 |
* Mathurin Massias |
|
|
389 |
* Mikolaj Magnuski |
|
|
390 |
* Mohamed Sherif |
|
|
391 |
* Mohammad Daneshzand |
|
|
392 |
* Nataliia Kozhemiako |
|
|
393 |
* Nicolas Barascud |
|
|
394 |
* Nicolas Legrand |
|
|
395 |
* Olaf Hauk |
|
|
396 |
* Padma Sundaram |
|
|
397 |
* Ramiro Gatti |
|
|
398 |
* Richard Höchenberger |
|
|
399 |
* Robert Luke |
|
|
400 |
* Robert Oostenveld |
|
|
401 |
* Sebastian Major |
|
|
402 |
* Sophie Herbst |
|
|
403 |
* Stefan Appelhoff |
|
|
404 |
* Stefan Repplinger |
|
|
405 |
* Thomas Hartmann |
|
|
406 |
* Victor Férat |
|
|
407 |
* Yu-Han Luo |