Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into volpc
Browse files Browse the repository at this point in the history
* upstream/main: (25 commits)
  DOC: Exclude some implicit refs in doc build (mne-tools#10433)
  MAINT: Better issue forms (mne-tools#11101)
  [FIX] Typo in example (mne-tools#11118)
  [MRG] Improve interpolation of bridged electrodes (mne-tools#11094)
  BUG: Spectrum deprecation cleanup [circle deploy] (mne-tools#11115)
  Add API entry list and map (mne-tools#10999)
  Add legacy decorator (mne-tools#11097)
  [ENH, MRG] Add time-frequency epoch source estimation (mne-tools#11095)
  Revert "Add error message when conversion of EEG locs to [circle deploy] (mne-tools#11104)
  MRG: Fixes for mne-tools#11090 (mne-tools#11108)
  add test for edf units param (mne-tools#11105)
  BUG: Improve logic for bti (mne-tools#11102)
  add spectrum class (mne-tools#10184)
  ENH : add units parameter to read_raw_edf in case units is missing from the file (mne-tools#11099)
  ENH: Add temperature and galvanic (mne-tools#11090)
  Add error message when conversion of EEG locs to head space fails (mne-tools#11080)
  DOC: removed unnecessary line in PSF example (mne-tools#11085)
  FIX: Update helmet during ICP (mne-tools#11084)
  Fix various typos (mne-tools#11086)
  DOC: Rel
  ...
  • Loading branch information
larsoner committed Aug 30, 2022
2 parents 1117b77 + 2427d3b commit 4bac62a
Show file tree
Hide file tree
Showing 94 changed files with 3,421 additions and 1,040 deletions.
52 changes: 0 additions & 52 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: 🐛 Bug report

# See the json schema to help you create / update this form
# https://json.schemastore.org/github-issue-forms.json

description: Tell us about errors in our computations or plots.

labels: ["BUG"]

body:

- type: markdown
attributes:
value: |
Please use the [MNE-Python forum](https://mne.discourse.group/) to ask (and answer)
concrete technical questions or about usage of MNE-Python.
Use this form *only* if you think there is a bug in MNE-Python code.
- type: textarea
attributes:
label: Description of the problem
validations:
required: true

- type: textarea
attributes:
label: Steps to reproduce
description: |
Paste here a code snippet or minimal working example
([MWE](https://en.wikipedia.org/wiki/Minimal_Working_Example))
to replicate your problem, using one of the
[datasets shipped with MNE-Python](https://mne.tools/dev/overview/datasets_index.html),
preferably the one called [sample](https://mne.tools/dev/overview/datasets_index.html#sample).
render: Python
validations:
required: true

- type: textarea
attributes:
label: Link to data
description: |
If you couldn't replicate on a built-in dataset, provide a link to a
small, anonymized portion of your data that does yield the error.
- type: textarea
attributes:
label: Expected results
validations:
required: true

- type: textarea
attributes:
label: Actual results
description: |
Please provide the actual output, traceback, screenshot, or another description of the results.
validations:
required: true

- type: textarea
attributes:
label: Additional information
description: |
Tell us about your system: paste the output of `mne.sys_info()` here.
validations:
required: true
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Forum
url: https://mne.discourse.group
about: For questions about analysis and usage, and announcements of interest to the neuroimaging community
- name: 💬 MNE-Python forum
url: https://mne.discourse.group/
about: Use the [MNE-Python forum](https://mne.discourse.group/) to ask (and answer) concrete technical questions or about usage of MNE-Python
15 changes: 0 additions & 15 deletions .github/ISSUE_TEMPLATE/documentation.md

This file was deleted.

26 changes: 26 additions & 0 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 📄 Documentation

# See the json schema to help you create / update this form
# https://json.schemastore.org/github-issue-forms.json

description: Tell us about tutorials you wish we had in our docs, ideas for improving existing tutorials, terms missing from our glossary, or parts of our docstrings that are confusing or inaccurate.

labels: ["DOC"]

body:

- type: markdown
attributes:
value: |
Please make the issue title a succinct description of your proposed change.
For example: "add 'foo' to the glossary" or "add my favorite visualization to
the ERP tutorial".
- type: textarea
attributes:
label: Proposed documentation enhancement
description: |
Describe your proposed enhancement in detail. If you are requesting a new
glossary term, please include a proposed definition.
validations:
required: true
27 changes: 0 additions & 27 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: 🛠️ Feature request

# See the json schema to help you create / update this form
# https://json.schemastore.org/github-issue-forms.json

description: Tell us about algorithms, visualizations, or other functionality you wish MNE-Python included.

labels: ["ENH"]

body:

- type: markdown
attributes:
value: |
Please use the [MNE-Python forum](https://mne.discourse.group/) to ask (and answer)
concrete technical questions or about usage of MNE-Python.
Use this form *only* if you want to suggest new features.
- type: textarea
attributes:
label: Describe the new feature or enhancement
description: |
Please provide a clear and concise description of what you want to add or change.
validations:
required: true

- type: textarea
attributes:
label: Describe your proposed implementation
description: |
Describe how you think the feature or improvement should be implemented (e.g.,
as a new method on an existing class? as new capability added to an existing
method?)
validations:
required: true

- type: textarea
attributes:
label: Describe possible alternatives
description: |
If you've suggested an implementation above, list here any alternative
implementations you can think of, and brief comments explaining why the chosen
implementation is better.
validations:
required: true

- type: textarea
attributes:
label: Additional context
description: |
Add any other context or screenshots about the feature request here.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# simple makefile to simplify repetetive build env management tasks under posix
# simple makefile to simplify repetitive build env management tasks under posix

PYTHON ?= python
PYTESTS ?= py.test
Expand Down
4 changes: 4 additions & 0 deletions doc/_includes/channel_types.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,8 @@ ias Internal Active Shielding data

syst System status channel information
(Triux systems only)

temperature Temperature Degrees Celsius

gsr Galvanic skin response Siemens
============= ========================================= =================
3 changes: 3 additions & 0 deletions doc/_static/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -327,3 +327,6 @@ ul.icon-bullets {
img.hidden {
visibility: hidden;
}
td.justify {
text-align-last: justify;
}
14 changes: 13 additions & 1 deletion doc/changes/latest.inc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Current (1.2.dev0)

Enhancements
~~~~~~~~~~~~
- Add ``vmin`` and ``vmax`` parameters to :meth:`mne.Evoked.animate_topomap` (:gh:`11073` by :newcontrib:`Mats van Es`)
- EEGLAB files (saved as MAT versions less than v7.3) can now be imported with :func:`mne.io.read_raw_eeglab` without the optional dependency ``pymatreader`` (:gh:`11006` by `Clemens Brunner`_)
- Add eight source estimate comparison metrics to new submodule :mod:`mne.simulation.metrics` (:gh:`6233` by `Kostiantyn Maksymenko`_ and `Alex Gramfort`_)
- Add :func:`mne.time_frequency.csd_tfr` to compute cross-spectral density from :class:`mne.time_frequency.EpochsTFR` (:gh:`10986` by `Alex Rockhill`_)
Expand All @@ -32,17 +33,28 @@ Enhancements
- Add ``starting_affine`` keyword argument to :func:`mne.transforms.compute_volume_registration` to initialize an alignment with an affine (:gh:`11020` by `Alex Rockhill`_)
- The ``trans`` parameter in :func:`mne.make_field_map` now accepts a :class:`~pathlib.Path` object, and uses standardised loading logic (:gh:`10784` by :newcontrib:`Andrew Quinn`)
- Add HTML representation for `~mne.Evoked` in Jupyter Notebooks (:gh:`11075` by `Valerii Chirkov`_ and `Andrew Quinn`_)
- Add support for ``temperature`` and ``gsr`` (galvanic skin response, i.e., electrodermal activity) channel types (:gh:`11090`, :gh:`11108` by `Eric Larson`_ and `Richard Höchenberger`_)
- Allow :func:`mne.beamformer.make_dics` to take ``pick_ori='vector'`` to compute vector source estimates (:gh:`19080` by `Alex Rockhill`_)
- Add ``units`` parameter to :func:`mne.io.read_raw_edf` in case units are missing from the file (:gh:`11099` by `Alex Gramfort`_)
- Add ``on_missing`` functionality to all of our classes that have a ``drop_channels`` method, to control what happens when channel names are not in the object (:gh:`11077` by `Andrew Quinn`_)
- Improve interpolation of bridged electrodes with `~mne.preprocessing.interpolate_bridged_electrodes` (:gh:`11094` by `Mathieu Scheltienne`_)
- Add :func:`mne.minimum_norm.apply_inverse_tfr_epochs` to apply inverse methods to time-frequency resolved epochs (:gh:`11095` by `Alex Rockhill`_)

Bugs
~~~~
- Fix bug in :func:`mne.io.read_raw_eeglab` where unlabeled fiducials causde reading errors (:gh:`11074` by :newcontrib:`Sebastiaan Mathot`)
- Fix bug in :func:`mne.time_frequency.read_csd` that returned ``projs`` as a list of dict instead of :class:`mne.Projection` (:gh:`11072` by :newcontrib:`Chetan Gohil`)
- Fix bug in :func:`mne.decoding.TimeFrequency` that prevented cloning if constructor arguments were modified (:gh:`11004` by :newcontrib:`Daniel Carlström Schad`)
- Fix bug in :class:`mne.viz.Brain` constructor where the first argument was named ``subject_id`` instead of ``subject`` (:gh:`11049` by `Eric Larson`_)
- Fix bug in :ref:`mne coreg` where the MEG helmet position was not updated during ICP fitting (:gh:`11084` by `Eric Larson`_)
- Document ``height`` and ``weight`` keys of ``subject_info`` entry in :class:`mne.Info` (:gh:`11019` by :newcontrib:`Sena Er`)
- Fixed bug in :func:`mne.viz.plot_filter` when plotting filters created using ``output='ba'`` mode with ``compensation`` turned on. (by `Marian Dovgialo`_)
- Fix bug in :func:`mne.viz.plot_filter` when plotting filters created using ``output='ba'`` mode with ``compensation`` turned on. (:gh:`11040` by `Marian Dovgialo`_)
- Fix bug in :func:`mne.io.read_raw_bti` where EEG, EMG, and H/VEOG channels were not detected properly, and many non-ECG channels were called ECG. The logic has been improved, and any channels of unknown type are now labeled as ``misc`` (:gh:`11102` by `Eric Larson`_)
- Fix bug in :func:`mne.viz.plot_topomap` when providing ``sphere="eeglab"`` (:gh:`11081` by `Mathieu Scheltienne`_)

API changes
~~~~~~~~~~~
- The ``bands`` parameter of :meth:`mne.Epochs.plot_psd_topomap` now accepts :class:`dict` input; legacy :class:`tuple` input is supported, but discouraged for new code (:gh:`11050` by `Daniel McCloy`_)
- The ``show_toolbar`` argument to :class:`mne.viz.Brain` is being removed by deprecation (:gh:`11049` by `Eric Larson`_)
- New classes :class:`~mne.time_frequency.Spectrum` and :class:`~mne.time_frequency.EpochsSpectrum`, created via new methods :meth:`Raw.compute_psd()<mne.io.Raw.compute_psd>`, :meth:`Epochs.compute_psd()<mne.Epochs.compute_psd>`, and :meth:`Evoked.compute_psd()<mne.Evoked.compute_psd>` (:gh:`10184` by `Daniel McCloy`_)
- The PSD functions that operate on Raw/Epochs/Evoked instances (``mne.time_frequency.psd_welch`` and ``mne.time_frequency.psd_multitaper``) are deprecated; for equivalent functionality create :class:`~mne.time_frequency.Spectrum` or :class:`~mne.time_frequency.EpochsSpectrum` objects instead and then run ``spectrum.get_data(return_freqs=True)`` (:gh:`10184` by `Daniel McCloy`_)
4 changes: 4 additions & 0 deletions doc/changes/names.inc
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,8 @@
.. _Mathurin Massias: https://mathurinm.github.io/
.. _Mats van Es: https://github.com/matsvanes
.. _Matt Boggess: https://github.com/mattboggess
.. _Matt Courtemanche: https://github.com/mjcourte
Expand Down Expand Up @@ -412,6 +414,8 @@
.. _Scott Huberty: https://orcid.org/0000-0003-2637-031X
.. _Sebastiaan Mathot: http://www.cogsci.nl/smathot
.. _Sebastian Castano: https://github.com/jscastanoc
.. _Sebastian Major: https://github.com/major-s
Expand Down
37 changes: 37 additions & 0 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,8 @@
'Transform': 'mne.transforms.Transform',
'Coregistration': 'mne.coreg.Coregistration',
'Figure3D': 'mne.viz.Figure3D',
'Spectrum': 'mne.time_frequency.Spectrum',
'EpochsSpectrum': 'mne.time_frequency.EpochsSpectrum',
# dipy
'dipy.align.AffineMap': 'dipy.align.imaffine.AffineMap',
'dipy.align.DiffeomorphicMap': 'dipy.align.imwarp.DiffeomorphicMap',
Expand Down Expand Up @@ -465,6 +467,41 @@ def __call__(self, gallery_conf, fname, when):
'matplotlib_animations': True,
'compress_images': compress_images,
'filename_pattern': '^((?!sgskip).)*$',
'exclude_implicit_doc': {
r'mne\.io\.read_raw_fif', r'mne\.io\.Raw', r'mne\.Epochs',
r'mne.datasets.*',
},
'api_usage_ignore': (
'('
'.*__.*__|' # built-ins
'.*Base.*|.*Array.*|mne.Vector.*|mne.Mixed.*|mne.Vol.*|' # inherited
'mne.coreg.Coregistration.*|' # GUI
# common
'.*utils.*|.*verbose()|.*copy()|.*update()|.*save()|'
'.*get_data()|'
# mixins
'.*add_channels()|.*add_reference_channels()|'
'.*anonymize()|.*apply_baseline()|.*apply_function()|'
'.*apply_hilbert()|.*as_type()|.*decimate()|'
'.*drop()|.*drop_channels()|.*drop_log_stats()|'
'.*export()|.*get_channel_types()|'
'.*get_montage()|.*interpolate_bads()|.*next()|'
'.*pick()|.*pick_channels()|.*pick_types()|'
'.*plot_sensors()|.*rename_channels()|'
'.*reorder_channels()|.*savgol_filter()|'
'.*set_eeg_reference()|.*set_channel_types()|'
'.*set_meas_date()|.*set_montage()|.*shift_time()|'
'.*time_as_index()|.*to_data_frame()|'
# dictionary inherited
'.*clear()|.*fromkeys()|.*get()|.*items()|'
'.*keys()|.*pop()|.*popitem()|.*setdefault()|'
'.*values()|'
# sklearn inherited
'.*apply()|.*decision_function()|.*fit()|'
'.*fit_transform()|.*get_params()|.*predict()|'
'.*predict_proba()|.*set_params()|.*transform()|'
# I/O, also related to mixins
'.*.remove.*|.*.write.*)')
}
# Files were renamed from plot_* with:
# find . -type f -name 'plot_*.py' -exec sh -c 'x="{}"; xn=`basename "${x}"`; git mv "$x" `dirname "${x}"`/${xn:5}' \; # noqa
Expand Down
Loading

0 comments on commit 4bac62a

Please sign in to comment.