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_idexcept for{'face': 5}, so the message that"buttonpress" is in the color dict but not in events or event_idis 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_colorsto accept either valid event integers, or validevent_idstring keys (or a mix of both). It still won't fix my original problem ofbecause of
epochs['face']causing otherevent_identries to be dropped (I'm open to suggestions about how to make that work). But it will allowas well as the more general case