From ffe0f7d3d680260dca165404598b1a60629d9a8f Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 Feb 2020 13:43:03 +0100 Subject: [PATCH 1/3] Disable depth peeling with rcparams --- mne/viz/backends/_pyvista.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mne/viz/backends/_pyvista.py b/mne/viz/backends/_pyvista.py index 1705d93124d..970526c00b0 100644 --- a/mne/viz/backends/_pyvista.py +++ b/mne/viz/backends/_pyvista.py @@ -25,11 +25,13 @@ warnings.filterwarnings("ignore", category=DeprecationWarning) import pyvista from pyvista import (Plotter, BackgroundPlotter, PolyData, - Line, close_all, UnstructuredGrid) + Line, close_all, UnstructuredGrid, + rcParams) from pyvista.utilities import try_callback _FIGURES = dict() +rcParams["depth_peeling"]["enabled"] = False class _Figure(object): @@ -143,13 +145,11 @@ def __init__(self, fig=None, size=(600, 600), bgcolor='black', self.plotter = self.figure.build() self.plotter.hide_axes() - self.plotter.disable_depth_peeling() def subplot(self, x, y): with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=FutureWarning) self.plotter.subplot(x, y) - self.plotter.disable_depth_peeling() def scene(self): return self.figure From d2609c51fac25930ec1e8dd9c67628ba9ce05d6c Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 Feb 2020 13:57:36 +0100 Subject: [PATCH 2/3] Use contextmanager to disable depth peeling --- mne/viz/backends/_pyvista.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/mne/viz/backends/_pyvista.py b/mne/viz/backends/_pyvista.py index 970526c00b0..81601ac09fd 100644 --- a/mne/viz/backends/_pyvista.py +++ b/mne/viz/backends/_pyvista.py @@ -25,13 +25,11 @@ warnings.filterwarnings("ignore", category=DeprecationWarning) import pyvista from pyvista import (Plotter, BackgroundPlotter, PolyData, - Line, close_all, UnstructuredGrid, - rcParams) + Line, close_all, UnstructuredGrid) from pyvista.utilities import try_callback _FIGURES = dict() -rcParams["depth_peeling"]["enabled"] = False class _Figure(object): @@ -142,8 +140,8 @@ def __init__(self, fig=None, size=(600, 600), bgcolor='black', warnings.filterwarnings("ignore", category=FutureWarning) if MNE_3D_BACKEND_TESTING: self.figure.plotter_class = Plotter - - self.plotter = self.figure.build() + with _disabled_depth_peeling(): + self.plotter = self.figure.build() self.plotter.hide_axes() def subplot(self, x, y): @@ -629,3 +627,14 @@ def _testing_context(interactive): finally: pyvista.OFF_SCREEN = orig_offscreen renderer.MNE_3D_BACKEND_TESTING = orig_testing + + +@contextmanager +def _disabled_depth_peeling(): + from pyvista import rcParams + old_params = rcParams + rcParams["depth_peeling"]["enabled"] = False + try: + yield + finally: + rcParams = old_params From b16683485dbed92834b5a50df86e87e6257350ee Mon Sep 17 00:00:00 2001 From: Guillaume Favelier Date: Tue, 18 Feb 2020 14:03:30 +0100 Subject: [PATCH 3/3] Fix context manager --- mne/viz/backends/_pyvista.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mne/viz/backends/_pyvista.py b/mne/viz/backends/_pyvista.py index 81601ac09fd..8dcadf2223e 100644 --- a/mne/viz/backends/_pyvista.py +++ b/mne/viz/backends/_pyvista.py @@ -632,9 +632,9 @@ def _testing_context(interactive): @contextmanager def _disabled_depth_peeling(): from pyvista import rcParams - old_params = rcParams + depth_peeling_enabled = rcParams["depth_peeling"]["enabled"] rcParams["depth_peeling"]["enabled"] = False try: yield finally: - rcParams = old_params + rcParams["depth_peeling"]["enabled"] = depth_peeling_enabled