Skip to content

Conversation

@hoechenberger
Copy link
Member

@hoechenberger hoechenberger commented May 6, 2022

We can now do things like:

evoked.plot_topomap(average=[0.1, 0.2, None, 0.1])

to produce

output

This comes in handy e.g. when plotting topographies for different time periods that were found to be significant e.g. using a cluster-based permutation test.

MWE:

# %%
from pathlib import Path
import mne


sample_dir = Path(mne.datasets.sample.data_path())
sample_fname = sample_dir / 'MEG' / 'sample' / 'sample_audvis_raw.fif'

raw = mne.io.read_raw_fif(sample_fname)
raw.crop(tmax=60)

events = mne.find_events(raw, stim_channel='STI 014')
event_id = {'auditory/left': 1, 'auditory/right': 2, 'visual/left': 3,
            'visual/right': 4, 'face': 5, 'buttonpress': 32}

epochs = mne.Epochs(raw, events=events, event_id=event_id,
                    tmin=-0.2, tmax=0.5, baseline=(None, 0),
                    preload=True)

evoked = epochs.average()

# %%
evoked.plot_topomap(average=[0.1, 0.2, None, 0.1])
  • Enforce len(average) == len(times)
  • Add tests
  • Add changelog entry

Comment on lines -236 to -242
docdict['average_topomap'] = """
average : float | None
The time window (in seconds) around a given time point to be used for
averaging. For example, 0.2 would translate into a time window that starts
0.1 s before and ends 0.1 s after the given time point. If the time window
exceeds the duration of the data, it will be clipped. If ``None``
(default), no averaging will take place.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's only used in a single function, so there's no need to have it in the docdict

@hoechenberger hoechenberger requested a review from sappelhoff May 6, 2022 22:06
Copy link
Member

@sappelhoff sappelhoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this will be useful, thanks!

@hoechenberger hoechenberger marked this pull request as ready for review May 7, 2022 12:29
@hoechenberger hoechenberger changed the title WIP: Allow to pass array of "average" values to plot_evoked_topomap() MRG: Allow to pass array of "average" values to plot_evoked_topomap() May 7, 2022
@hoechenberger
Copy link
Member Author

Failing CI job is just a timeout after successfully running all tests

@agramfort feel free to merge if happy

Copy link
Member

@agramfort agramfort left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just a typo

@hoechenberger merge when fixed and CIs are green. 🙏

Co-authored-by: Alexandre Gramfort <alexandre.gramfort@m4x.org>
@hoechenberger hoechenberger merged commit 20a7213 into mne-tools:main May 8, 2022
@hoechenberger hoechenberger deleted the topomap-average-array branch May 8, 2022 13:46
larsoner added a commit to larsoner/mne-python that referenced this pull request May 9, 2022
* upstream/main:
  MRG: Add "highlight" parameter to Evoked.plot() to conveniently highlight time periods (mne-tools#10614)
  MRG: Allow to pass array of "average" values to plot_evoked_topomap() (mne-tools#10610)
  fix: snirf length units (mne-tools#10613)
  minor, doc: fix subplot titles in tutorial (mne-tools#10607)
  Display averaged time period in Evoked topomap title (mne-tools#10606)
  MAINT: Fix for pydata-sphinx-theme [skip azp][skip actions][circle deploy] (mne-tools#10605)
  DOC: report.add_html in tutorial (mne-tools#10603)
  Broader support of the SNIRF file format and enable reading GowerLab data (mne-tools#10555)
  MRG: Recommend mamba instead of libmamba for installation (mne-tools#10597)
  Fix dev documentation warning [skip azp][skip actions] (mne-tools#10599)
  FIX cmap (mne-tools#10593)
  [ENH, MRG] Add interpolate bridged electrodes function (mne-tools#10587)
larsoner added a commit to HanBnrd/mne-python that referenced this pull request May 17, 2022
* upstream/main: (24 commits)
  Use less memory when loading EDF file (mne-tools#10638)
  BUG: fix ipython console accessibility after MNEQtBrowser in Spyder (mne-tools#10637)
  WIP: Fix mne.time_frequency.multitaper Nyquist adjustment slightly incorrect (mne-tools#10541)
  BUG: Fix bug with fNIRS reordering (mne-tools#10630)
  MNT: PyQt6 for pip pre 3.10 (mne-tools#10636)
  CI: Fix conda (mne-tools#10628)
  MRG: Update installer links to point to 1.0.3_0 (mne-tools#10622)
  [BUG, MRG] fix info write access (mne-tools#10626)
  [MRG] Fixed group_by titles in evoked_plot. (mne-tools#10618)
  [BUG, MRG] Replace image_interp with interpolation in topomap plot arguments (mne-tools#10617)
  MAINT: Fix timeout (mne-tools#10624)
  Simplify mne-tools#10619 (mne-tools#10620)
  Drop EEG rejection thresholds when replacing EEG with CSD channels (mne-tools#10619)
  Add get_montage support for fNIRS (mne-tools#10611)
  ENH: Improve make_head_surface options (mne-tools#10592)
  [ENH, MRG] Add citation for intracranial JOSS paper (mne-tools#10616)
  [ENH] Add sys info for mne-icalabel (mne-tools#10615)
  MRG: Add "highlight" parameter to Evoked.plot() to conveniently highlight time periods (mne-tools#10614)
  MRG: Allow to pass array of "average" values to plot_evoked_topomap() (mne-tools#10610)
  fix: snirf length units (mne-tools#10613)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants