-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ENH: refactor _handle_event_colors #7111
Conversation
At least this failure appears legitimate: https://travis-ci.org/mne-tools/mne-python/jobs/620412929#L3087 Otherwise LGTM +1 for merge |
Codecov Report
@@ Coverage Diff @@
## master #7111 +/- ##
=========================================
- Coverage 89.78% 89.7% -0.08%
=========================================
Files 444 444
Lines 78211 78997 +786
Branches 12672 12674 +2
=========================================
+ Hits 70222 70865 +643
- Misses 5174 5318 +144
+ Partials 2815 2814 -1 |
@larsoner latest commits should fix the tests... any ideas about how to make this work? ev = mne.pick_events(events, include=[5, 32])
epochs['face'].plot(events=ev, event_colors=dict(buttonpress='red')) (i.e., using |
We could make an I actually don't mind adding an
|
separate PR then. I'll also throw in there a fix for the vertical lines at t=0; at present they are always drawn, and also drawn on top of the event markers, so if you pass |
The simple and easy fix would be just to bump the |
that was the plan, yes :) |
would it make sense to have short tests for _handle_event_colors function ? it's easier to test than relying on visual inspection of colors |
Probably a good idea. I'll add that after lunch today. |
Thanks @drammock |
* refactor _handle_event_colors * restore warning * fix tests * fix circle * add test * minor refactor
* Fixing issues with plot_surface() * Setting transparent to True instead of False. * PR review edits. * PR review edits. * Improved error management for missing pysufer. * Update _3d.py * Update test_3d.py * Fixing test requires conditions. * Document this PR change. * Update doc/changes/latest.inc Co-Authored-By: Eric Larson <larson.eric.d@gmail.com> * fix : don't require git to install master (#7078) * [MRG] Fix plot_vector_source_estimates (#7084) * Initial fix * Update mesh is not necessary * Choose to modify scale_factor as post-post-process * Add simple test for fix * Use mean of hemi's width * MRG, BUG: Fix running subprocesses in Jupyter notebooks (#7086) * BUG: Fix running subprocesses in Jupyter notebooks * FIX: Flake [ci skip] * FIX: Adding use_scalebars as a parameter. (#7091) * Adding use_scalebars as a parameter. * Fixed to adhere to mne-coding standards. * Fixing formatting issues. * Fixing show_scalebars in viz ica from the original naming of use_scalebars. * Update mne/viz/ica.py Co-Authored-By: Daniel McCloy <dan.mccloy@gmail.com> * Update mne/viz/raw.py Co-Authored-By: Daniel McCloy <dan.mccloy@gmail.com> * DOC: Correct version [ci skip] * [MRG] Implement iterative reweighted TF-MxNE (#5075) * ir scheme * Squash commits * messed up my rebase * Address comments Alex * flake * implement filtering and write more readable math code * fix pydocstyle * High pass filter, remove upsampling, get 4 sources * TFMxnE > TF-MxNE + rm comment example * MAINT: Ensure that meas_date=None round-trips if `anonymize_info` is used (#7090) * BUG: Write out meas_date=None * FIX: Maybe better? * DOC: Document * [WIP] Make equalize_channels capable of operating on Forward, Covariance and CrossSpectralDensity (#7029) * Add more capabilites to equalize_channels * Add unit tests for improved equalize_channels functionality * Fix docstring of equalize_channels * Add Info capabilities to equalize_channels * Fix Forward.pick_channels docstring * Update combine_evokeds unit test * Fix edge case of pick_channels_cov * Add dedicated pick_channels_cov unit test * Add copy parameter to equalize_channels * Make copy=False the default * Make grand_average also equalize TFR channels * Make copy=True the default in equalize_channels * PEP8 * Update docstring * Update what's new * Update unit tests * Update links to methods in whats_new * Spell out new supported object types * Fix links in whats_new again * Remove attribute links * MRG, DOC: revise tutorial: overview of Epoching (#7011) * rename file * WIP tutorial overhaul [ci skip] * link targets * finish tutorial revisions * fix glossary ref * formatting/flow tweaks [skip travis] * fix codespell * address neurolaunch review comments * [MRG] Refactor mayavi/mlab out report (#7008) * Start refactoring of report * Fix figure_size bug * Fix undefined function bug * Remove unnecessary 3d functions from public API * Refactor _fig_to_img * Unify 3d backend testing * Fix 3d backend testing variable * Minor refactoring * Improve _check_3d_figure * TST: Trigger plot_make_report.py * TST: Trigger plot_make_report.py * Fix typo * Fix bug with figure not closed * TST: Trigger plot_make_report.py * Integrate reviews * crop raw to save memory (#7100) * MRG, DOC: Update contrib guide (#7097) * WIP update contributing guide * refine bug reporting guidelines * add git setup diagram * mention dangers of PYTHONPATH * fix typo * more on PYTHONPATH * clarify dev environment setup steps * tweaks * remove self-referential crossref * add "origin" * ENH: Adding support of GridSearchCV for mne.decoding.LinearModel (#7089) * ENH: Adding support of GridSearchCV for mne.decoding.LinearModel * (1) adds the GridSearchCV tests for LinearModel class. (2) adds Classification/Regression/GridSearchCV estimators' tests for get_coef function. * fixed some flake8 errors. * speeds up the tests. * tweaks some tests. * adds an entry to changelog. * (1) generates the random values under RandomState. (2) uses `with block` to catch exceptions. * BUG: CTF - set meas_date (#7104) * BUG: CTF - set meas_date * Comment: not to revisit testing post potential mne-c updates * Whats New * MRG, DOC: revise tutorial: epochs visualization (#7102) * delete redundant tutorial * add explanation of dropped epoch & crossref to drop_log section * add crossref target * overhaul epochs viz tutorial * fix sidebar * avoid warning * update crossrefs * formatting & flow tweaks * rename file for proper ordering * fix crossrefs * make plots look better * fix codespell * [MRG] Improve Renderer API (#6761) * Fix minor bug in sphere() * Fix dimension in tube() * Update doc for color * Add color management as str * Find better default value for tube() radius * Correct colorConvertex syntax * Fix import nesting * Refactor colro code * Rework text2d() (x,y) parameter * Refactor _parse_str_color to _check_color * Add some tests * Improve doc * Add the radius parameter for pyvista * Fix import * FIX: Avoid deadlocking (#7103) * DOC: Spelling (#7106) * ENH: Add mne sys_info command (#7105) * ENH: Add mne sys_info command * FIX: Install * MRG, DOC: tutorial tweaks (#7109) * better artifact plots; better thumbnail choice * keep it pedagogical * change thumbnail [ci skip] * MAINT: Test on 3.8 (#7113) * better info message for rank computation [skip circle] (#7110) * FIX: Fix for old build (#7120) * MRG, MAINT: Make calculate_head_pos_ctf public (#7117) * MAINT: Make calculate_head_pos_ctf public * FIX: Doc * DOC: Fix * FIX: Docstring * MRG, FIX: Fix sklearn import (#7121) * ENH: refactor _handle_event_colors (#7111) * refactor _handle_event_colors * restore warning * fix tests * fix circle * add test * minor refactor * FIX: Allow unknown (#7119) * MRG, FIX: scaling in summarize_clusters_stc (#7125) * remove hardcoded 1e3; improve docstring * touch tutorials to trigger rendering * update what's new * actually use milliseconds * Document this PR change. * Document this PR change. * Update doc/changes/latest.inc Co-Authored-By: Eric Larson <larson.eric.d@gmail.com> * BUG: CTF - set meas_date (#7104) * BUG: CTF - set meas_date * Comment: not to revisit testing post potential mne-c updates * Whats New * MRG, FIX: scaling in summarize_clusters_stc (#7125) * remove hardcoded 1e3; improve docstring * touch tutorials to trigger rendering * update what's new * actually use milliseconds * Fix doc CI warning about missing target. * more * nest check
* refactor _handle_event_colors * restore warning * fix tests * fix circle * add test * minor refactor
* Fixing issues with plot_surface() * Setting transparent to True instead of False. * PR review edits. * PR review edits. * Improved error management for missing pysufer. * Update _3d.py * Update test_3d.py * Fixing test requires conditions. * Document this PR change. * Update doc/changes/latest.inc Co-Authored-By: Eric Larson <larson.eric.d@gmail.com> * fix : don't require git to install master (mne-tools#7078) * [MRG] Fix plot_vector_source_estimates (mne-tools#7084) * Initial fix * Update mesh is not necessary * Choose to modify scale_factor as post-post-process * Add simple test for fix * Use mean of hemi's width * MRG, BUG: Fix running subprocesses in Jupyter notebooks (mne-tools#7086) * BUG: Fix running subprocesses in Jupyter notebooks * FIX: Flake [ci skip] * FIX: Adding use_scalebars as a parameter. (mne-tools#7091) * Adding use_scalebars as a parameter. * Fixed to adhere to mne-coding standards. * Fixing formatting issues. * Fixing show_scalebars in viz ica from the original naming of use_scalebars. * Update mne/viz/ica.py Co-Authored-By: Daniel McCloy <dan.mccloy@gmail.com> * Update mne/viz/raw.py Co-Authored-By: Daniel McCloy <dan.mccloy@gmail.com> * DOC: Correct version [ci skip] * [MRG] Implement iterative reweighted TF-MxNE (mne-tools#5075) * ir scheme * Squash commits * messed up my rebase * Address comments Alex * flake * implement filtering and write more readable math code * fix pydocstyle * High pass filter, remove upsampling, get 4 sources * TFMxnE > TF-MxNE + rm comment example * MAINT: Ensure that meas_date=None round-trips if `anonymize_info` is used (mne-tools#7090) * BUG: Write out meas_date=None * FIX: Maybe better? * DOC: Document * [WIP] Make equalize_channels capable of operating on Forward, Covariance and CrossSpectralDensity (mne-tools#7029) * Add more capabilites to equalize_channels * Add unit tests for improved equalize_channels functionality * Fix docstring of equalize_channels * Add Info capabilities to equalize_channels * Fix Forward.pick_channels docstring * Update combine_evokeds unit test * Fix edge case of pick_channels_cov * Add dedicated pick_channels_cov unit test * Add copy parameter to equalize_channels * Make copy=False the default * Make grand_average also equalize TFR channels * Make copy=True the default in equalize_channels * PEP8 * Update docstring * Update what's new * Update unit tests * Update links to methods in whats_new * Spell out new supported object types * Fix links in whats_new again * Remove attribute links * MRG, DOC: revise tutorial: overview of Epoching (mne-tools#7011) * rename file * WIP tutorial overhaul [ci skip] * link targets * finish tutorial revisions * fix glossary ref * formatting/flow tweaks [skip travis] * fix codespell * address neurolaunch review comments * [MRG] Refactor mayavi/mlab out report (mne-tools#7008) * Start refactoring of report * Fix figure_size bug * Fix undefined function bug * Remove unnecessary 3d functions from public API * Refactor _fig_to_img * Unify 3d backend testing * Fix 3d backend testing variable * Minor refactoring * Improve _check_3d_figure * TST: Trigger plot_make_report.py * TST: Trigger plot_make_report.py * Fix typo * Fix bug with figure not closed * TST: Trigger plot_make_report.py * Integrate reviews * crop raw to save memory (mne-tools#7100) * MRG, DOC: Update contrib guide (mne-tools#7097) * WIP update contributing guide * refine bug reporting guidelines * add git setup diagram * mention dangers of PYTHONPATH * fix typo * more on PYTHONPATH * clarify dev environment setup steps * tweaks * remove self-referential crossref * add "origin" * ENH: Adding support of GridSearchCV for mne.decoding.LinearModel (mne-tools#7089) * ENH: Adding support of GridSearchCV for mne.decoding.LinearModel * (1) adds the GridSearchCV tests for LinearModel class. (2) adds Classification/Regression/GridSearchCV estimators' tests for get_coef function. * fixed some flake8 errors. * speeds up the tests. * tweaks some tests. * adds an entry to changelog. * (1) generates the random values under RandomState. (2) uses `with block` to catch exceptions. * BUG: CTF - set meas_date (mne-tools#7104) * BUG: CTF - set meas_date * Comment: not to revisit testing post potential mne-c updates * Whats New * MRG, DOC: revise tutorial: epochs visualization (mne-tools#7102) * delete redundant tutorial * add explanation of dropped epoch & crossref to drop_log section * add crossref target * overhaul epochs viz tutorial * fix sidebar * avoid warning * update crossrefs * formatting & flow tweaks * rename file for proper ordering * fix crossrefs * make plots look better * fix codespell * [MRG] Improve Renderer API (mne-tools#6761) * Fix minor bug in sphere() * Fix dimension in tube() * Update doc for color * Add color management as str * Find better default value for tube() radius * Correct colorConvertex syntax * Fix import nesting * Refactor colro code * Rework text2d() (x,y) parameter * Refactor _parse_str_color to _check_color * Add some tests * Improve doc * Add the radius parameter for pyvista * Fix import * FIX: Avoid deadlocking (mne-tools#7103) * DOC: Spelling (mne-tools#7106) * ENH: Add mne sys_info command (mne-tools#7105) * ENH: Add mne sys_info command * FIX: Install * MRG, DOC: tutorial tweaks (mne-tools#7109) * better artifact plots; better thumbnail choice * keep it pedagogical * change thumbnail [ci skip] * MAINT: Test on 3.8 (mne-tools#7113) * better info message for rank computation [skip circle] (mne-tools#7110) * FIX: Fix for old build (mne-tools#7120) * MRG, MAINT: Make calculate_head_pos_ctf public (mne-tools#7117) * MAINT: Make calculate_head_pos_ctf public * FIX: Doc * DOC: Fix * FIX: Docstring * MRG, FIX: Fix sklearn import (mne-tools#7121) * ENH: refactor _handle_event_colors (mne-tools#7111) * refactor _handle_event_colors * restore warning * fix tests * fix circle * add test * minor refactor * FIX: Allow unknown (mne-tools#7119) * MRG, FIX: scaling in summarize_clusters_stc (mne-tools#7125) * remove hardcoded 1e3; improve docstring * touch tutorials to trigger rendering * update what's new * actually use milliseconds * Document this PR change. * Document this PR change. * Update doc/changes/latest.inc Co-Authored-By: Eric Larson <larson.eric.d@gmail.com> * BUG: CTF - set meas_date (mne-tools#7104) * BUG: CTF - set meas_date * Comment: not to revisit testing post potential mne-c updates * Whats New * MRG, FIX: scaling in summarize_clusters_stc (mne-tools#7125) * remove hardcoded 1e3; improve docstring * touch tutorials to trigger rendering * update what's new * actually use milliseconds * Fix doc CI warning about missing target. * more * nest check
* refactor _handle_event_colors * restore warning * fix tests * fix circle * add test * minor refactor
* Fixing issues with plot_surface() * Setting transparent to True instead of False. * PR review edits. * PR review edits. * Improved error management for missing pysufer. * Update _3d.py * Update test_3d.py * Fixing test requires conditions. * Document this PR change. * Update doc/changes/latest.inc Co-Authored-By: Eric Larson <larson.eric.d@gmail.com> * fix : don't require git to install master (mne-tools#7078) * [MRG] Fix plot_vector_source_estimates (mne-tools#7084) * Initial fix * Update mesh is not necessary * Choose to modify scale_factor as post-post-process * Add simple test for fix * Use mean of hemi's width * MRG, BUG: Fix running subprocesses in Jupyter notebooks (mne-tools#7086) * BUG: Fix running subprocesses in Jupyter notebooks * FIX: Flake [ci skip] * FIX: Adding use_scalebars as a parameter. (mne-tools#7091) * Adding use_scalebars as a parameter. * Fixed to adhere to mne-coding standards. * Fixing formatting issues. * Fixing show_scalebars in viz ica from the original naming of use_scalebars. * Update mne/viz/ica.py Co-Authored-By: Daniel McCloy <dan.mccloy@gmail.com> * Update mne/viz/raw.py Co-Authored-By: Daniel McCloy <dan.mccloy@gmail.com> * DOC: Correct version [ci skip] * [MRG] Implement iterative reweighted TF-MxNE (mne-tools#5075) * ir scheme * Squash commits * messed up my rebase * Address comments Alex * flake * implement filtering and write more readable math code * fix pydocstyle * High pass filter, remove upsampling, get 4 sources * TFMxnE > TF-MxNE + rm comment example * MAINT: Ensure that meas_date=None round-trips if `anonymize_info` is used (mne-tools#7090) * BUG: Write out meas_date=None * FIX: Maybe better? * DOC: Document * [WIP] Make equalize_channels capable of operating on Forward, Covariance and CrossSpectralDensity (mne-tools#7029) * Add more capabilites to equalize_channels * Add unit tests for improved equalize_channels functionality * Fix docstring of equalize_channels * Add Info capabilities to equalize_channels * Fix Forward.pick_channels docstring * Update combine_evokeds unit test * Fix edge case of pick_channels_cov * Add dedicated pick_channels_cov unit test * Add copy parameter to equalize_channels * Make copy=False the default * Make grand_average also equalize TFR channels * Make copy=True the default in equalize_channels * PEP8 * Update docstring * Update what's new * Update unit tests * Update links to methods in whats_new * Spell out new supported object types * Fix links in whats_new again * Remove attribute links * MRG, DOC: revise tutorial: overview of Epoching (mne-tools#7011) * rename file * WIP tutorial overhaul [ci skip] * link targets * finish tutorial revisions * fix glossary ref * formatting/flow tweaks [skip travis] * fix codespell * address neurolaunch review comments * [MRG] Refactor mayavi/mlab out report (mne-tools#7008) * Start refactoring of report * Fix figure_size bug * Fix undefined function bug * Remove unnecessary 3d functions from public API * Refactor _fig_to_img * Unify 3d backend testing * Fix 3d backend testing variable * Minor refactoring * Improve _check_3d_figure * TST: Trigger plot_make_report.py * TST: Trigger plot_make_report.py * Fix typo * Fix bug with figure not closed * TST: Trigger plot_make_report.py * Integrate reviews * crop raw to save memory (mne-tools#7100) * MRG, DOC: Update contrib guide (mne-tools#7097) * WIP update contributing guide * refine bug reporting guidelines * add git setup diagram * mention dangers of PYTHONPATH * fix typo * more on PYTHONPATH * clarify dev environment setup steps * tweaks * remove self-referential crossref * add "origin" * ENH: Adding support of GridSearchCV for mne.decoding.LinearModel (mne-tools#7089) * ENH: Adding support of GridSearchCV for mne.decoding.LinearModel * (1) adds the GridSearchCV tests for LinearModel class. (2) adds Classification/Regression/GridSearchCV estimators' tests for get_coef function. * fixed some flake8 errors. * speeds up the tests. * tweaks some tests. * adds an entry to changelog. * (1) generates the random values under RandomState. (2) uses `with block` to catch exceptions. * BUG: CTF - set meas_date (mne-tools#7104) * BUG: CTF - set meas_date * Comment: not to revisit testing post potential mne-c updates * Whats New * MRG, DOC: revise tutorial: epochs visualization (mne-tools#7102) * delete redundant tutorial * add explanation of dropped epoch & crossref to drop_log section * add crossref target * overhaul epochs viz tutorial * fix sidebar * avoid warning * update crossrefs * formatting & flow tweaks * rename file for proper ordering * fix crossrefs * make plots look better * fix codespell * [MRG] Improve Renderer API (mne-tools#6761) * Fix minor bug in sphere() * Fix dimension in tube() * Update doc for color * Add color management as str * Find better default value for tube() radius * Correct colorConvertex syntax * Fix import nesting * Refactor colro code * Rework text2d() (x,y) parameter * Refactor _parse_str_color to _check_color * Add some tests * Improve doc * Add the radius parameter for pyvista * Fix import * FIX: Avoid deadlocking (mne-tools#7103) * DOC: Spelling (mne-tools#7106) * ENH: Add mne sys_info command (mne-tools#7105) * ENH: Add mne sys_info command * FIX: Install * MRG, DOC: tutorial tweaks (mne-tools#7109) * better artifact plots; better thumbnail choice * keep it pedagogical * change thumbnail [ci skip] * MAINT: Test on 3.8 (mne-tools#7113) * better info message for rank computation [skip circle] (mne-tools#7110) * FIX: Fix for old build (mne-tools#7120) * MRG, MAINT: Make calculate_head_pos_ctf public (mne-tools#7117) * MAINT: Make calculate_head_pos_ctf public * FIX: Doc * DOC: Fix * FIX: Docstring * MRG, FIX: Fix sklearn import (mne-tools#7121) * ENH: refactor _handle_event_colors (mne-tools#7111) * refactor _handle_event_colors * restore warning * fix tests * fix circle * add test * minor refactor * FIX: Allow unknown (mne-tools#7119) * MRG, FIX: scaling in summarize_clusters_stc (mne-tools#7125) * remove hardcoded 1e3; improve docstring * touch tutorials to trigger rendering * update what's new * actually use milliseconds * Document this PR change. * Document this PR change. * Update doc/changes/latest.inc Co-Authored-By: Eric Larson <larson.eric.d@gmail.com> * BUG: CTF - set meas_date (mne-tools#7104) * BUG: CTF - set meas_date * Comment: not to revisit testing post potential mne-c updates * Whats New * MRG, FIX: scaling in summarize_clusters_stc (mne-tools#7125) * remove hardcoded 1e3; improve docstring * touch tutorials to trigger rendering * update what's new * actually use milliseconds * Fix doc CI warning about missing target. * more * nest check
closes #7101 , which turned out not to have been a bug after all. I was doing something like:
in order to control the color of buttonpress events in a plot of "face" epochs. The two problems with this:
epochs['face']
drops all the other entries inepochs.event_id
except for{'face': 5}
, so the message that"buttonpress" is in the color dict but not in events or event_id
is technically correct. However:the error message implies that passing
event_colors=dict(face='blue')
should work, which it does not (on current master) because the color handling only accepts event integers as valid keys for the color dict.This PR refactors
_handle_event_colors
to accept either valid event integers, or validevent_id
string keys (or a mix of both). It still won't fix my original problem ofbecause of
epochs['face']
causing otherevent_id
entries to be dropped (I'm open to suggestions about how to make that work). But it will allowas well as the more general case