[MRG] Refactor mayavi/mlab out report#7008
Conversation
doc/python_reference.rst
Outdated
| create_3d_figure | ||
| check_3d_figure | ||
| close_3d_figure | ||
| take_3d_screenshot |
There was a problem hiding this comment.
why are these exposed in the public API?
There was a problem hiding this comment.
Since I needed those features while refactoring report.py I thought it could be useful to have in the public API but I can also implement them differently.
There was a problem hiding this comment.
I will remove them from the public API :)
Codecov Report
@@ Coverage Diff @@
## master #7008 +/- ##
=========================================
Coverage ? 89.68%
=========================================
Files ? 442
Lines ? 78062
Branches ? 12657
=========================================
Hits ? 70010
Misses ? 5229
Partials ? 2823 |
|
Okay, now the bug causing a figure to pop in the report is fixed. And the This is finally ready for reviews @agramfort, @larsoner. |
larsoner
left a comment
There was a problem hiding this comment.
Other than a nitpick, LGTM +1 for merge
mne/viz/backends/_pysurfer_mayavi.py
Outdated
| img = mlab.screenshot(figure, mode=mode) | ||
| if isinstance(filename, str): | ||
| _save_figure(img, filename) | ||
| return img |
There was a problem hiding this comment.
Only nest what you have to in the context manager. So probably just the mlab line
|
Thanks @GuillaumeFavelier ! Is the next step to make it so that PyVista (or any backend exposing the 3D screenshot functionality) can be used to generate reports? |
|
That was the goal of this PR. Do you think I forgot to refactor something to make that happen? The Please excuse me if I didn't understand your question. |
Nope, you understood -- I just misunderstood the code. I only saw Mayavi screenshot stuff in there so I assumed it wasn't implemented yet for PyVista. Good to know it already works! |
* 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
* 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
* 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
* 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
* 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
* 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
The goal of this PR is to refactor Mayavi/mlab out of
mne.reportin favour of the_RendererAPI.It introduces the following new helper functions:
_check_3d_figure_close_3d_figure_take_3d_screenshot