Skip to content

Conversation

@larsoner
Copy link
Member

@larsoner larsoner commented Jun 25, 2020

Fixes the bug with glyph colormap not being updated, tested with:

Details
import os.path as op
import mne

data_path = mne.datasets.sample.data_path()
sample_dir = op.join(data_path, 'MEG', 'sample')
subjects_dir = op.join(data_path, 'subjects')
inv = mne.minimum_norm.read_inverse_operator(op.join(
    sample_dir, 'sample_audvis-meg-oct-6-meg-inv.fif'))
evoked = mne.read_evokeds(op.join(sample_dir, 'sample_audvis-ave.fif'))[0]
evoked.apply_baseline((None, 0))
stc = mne.minimum_norm.apply_inverse(
    evoked, inv, method='dSPM', verbose='debug', pick_ori='vector')  # 'vector')
initial_time = 0.1

size = (800, 400)
with mne.viz.use_3d_backend('pyvista'):
    brain = stc.plot(subjects_dir=subjects_dir, initial_time=initial_time,
                     clim='auto', views='lat', hemi='lh',
                     smoothing_steps='nearest', verbose=True,
                     size=size, background='k')

A few things along the way:

  1. Consolidate update_lut so that there is no longer a need for the very repeat-y update_fmin, update_fmid, and update_fmax
  2. Refactor some time viewer slider controls to make one call to update_lut instead of potentially multiple calls like update_fmin followed by update_fmid
  3. Make update_fscale private (I don't think it was meant to be public)
  4. Never apply alpha to the LUT, but instead apply it to the mesh(..., opacity=alpha) instead.

Approximately 3x minus-to-plus ratio on this PR suggesting that it's DRYing out our code. No test added because I'm not sure that there is a great way to test this. In theory if there were existing vector + TimeViewer tests it could be added there, but in a quick check I did not see any. @GuillaumeFavelier feel free to correct me if I'm wrong...

@GuillaumeFavelier
Copy link
Contributor

GuillaumeFavelier commented Jun 26, 2020

here were existing vector + TimeViewer tests it could be added there, but in a quick check I did not see any

Its test is test_plot_vector_source_estimates in test_3d.py. The renderer_interactive fixture makes it available for the PyVista backend with time_viewer=True and show_traces='auto'.

@agramfort agramfort merged commit 31a82ec into mne-tools:master Jun 27, 2020
@agramfort
Copy link
Member

thx @larsoner

@larsoner larsoner deleted the vector branch June 28, 2020 12:52
larsoner added a commit to larsoner/mne-python that referenced this pull request Jul 8, 2020
* upstream/master: (30 commits)
  MRG: Add remove_labels to _Brain (mne-tools#7964)
  Add get_picked_points (mne-tools#7963)
  ENH: Add OpenGL info to mne sys_info (mne-tools#7976)
  [MRG] Fix reject_tmin and reject_tmax for reject_by_annotation in mne.Epochs (mne-tools#7967)
  mrg: Add scalar mult and div operators for AverageTFR (mne-tools#7957)
  MRG, MAINT: Cleaner workaround for Sphinx linking issue (mne-tools#7970)
  MRG, ENH: Speed up epochs.copy (mne-tools#7968)
  MRG, BUG: Allow ref mags to have a comp grade (mne-tools#7965)
  do not forget to pass adjacency (mne-tools#7961)
  [MRG] fix Issue with stc.project after restricting to a label (mne-tools#7950)
  Only process nirx event file if present (mne-tools#7951)
  MRG+1: BUG: info['bads'] order shouldn't matter in write_evokeds() (mne-tools#7954)
  Fix some small glitches introduced via mne-tools#7845 (mne-tools#7952)
  Add time player (mne-tools#7940)
  MAINT: Clean up VTK9 offset array [circle front] (mne-tools#7953)
  MAINT: Skip a few more on macOS (mne-tools#7948)
  fix links [skip travis] (mne-tools#7949)
  MRG, MAINT: Tweak CIs (mne-tools#7943)
  MRG, BUG: Fix vector scaling (mne-tools#7934)
  MRG, VIZ, BUG: handle CSD channel type when topo plotting (mne-tools#7935)
  ...
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