Skip to content

Commit

Permalink
Update prototype [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
GuillaumeFavelier committed Dec 16, 2020
1 parent d7d2c5b commit 4d9b63a
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 106 deletions.
83 changes: 40 additions & 43 deletions mne/viz/_brain/_brain.py
Original file line number Diff line number Diff line change
Expand Up @@ -424,10 +424,13 @@ def __init__(self, subject_id, hemi, surf, title=None,
shape=shape,
fig=figure)

if _get_3d_backend() == "pyvista":
self.plotter = None
self.window = None
if _get_3d_backend() in ("pyvista", "notebook"):
self.plotter = self._renderer.plotter
self.window = self.plotter.app_window
self.window.signal_close.connect(self._clean)
if hasattr(self.plotter, "app_window"):
self.window = self.plotter.app_window
self.window.signal_close.connect(self._clean)

for h in self._hemis:
# Initialize a Surface object as the geometry
Expand Down Expand Up @@ -494,11 +497,6 @@ def setup_time_viewer(self, time_viewer=True, show_traces=True):
self.orientation = list(_lh_views_dict.keys())
self.default_smoothing_range = [0, 15]

# setup notebook
if self.notebook:
self._configure_notebook()
return

# Default configuration
self.playback = False
self.visibility = False
Expand Down Expand Up @@ -527,10 +525,16 @@ def setup_time_viewer(self, time_viewer=True, show_traces=True):

# Direct access parameters:
self._iren = self._renderer.plotter.iren
self.main_menu = self.plotter.main_menu
self.tool_bar = self.window.addToolBar("toolbar")
self.status_bar = self.window.statusBar()
self.interactor = self.plotter.interactor
if self.window is not None:
self.main_menu = self.plotter.main_menu
self.tool_bar = self.window.addToolBar("toolbar")
self.status_bar = self.window.statusBar()
self.interactor = self.plotter.interactor
else:
self.main_menu = None
self.tool_bar = None
self.status_bar = None
self.interactor = None

# Derived parameters:
self.playback_speed = self.default_playback_speed_value
Expand Down Expand Up @@ -559,11 +563,12 @@ def setup_time_viewer(self, time_viewer=True, show_traces=True):
self._configure_time_label()
self._configure_sliders()
self._configure_scalar_bar()
self._configure_playback()
self._configure_point_picking()
self._configure_menu()
self._configure_tool_bar()
self._configure_status_bar()
if self.window is not None:
self._configure_playback()
self._configure_point_picking()
self._configure_menu()
self._configure_tool_bar()
self._configure_status_bar()

# show everything at the end
self.toggle_interface()
Expand Down Expand Up @@ -646,10 +651,13 @@ def toggle_interface(self, value=None):
self.visibility = value

# update tool bar icon
if self.visibility:
self.actions["visibility"].setIcon(self.icons["visibility_on"])
else:
self.actions["visibility"].setIcon(self.icons["visibility_off"])
if self.window is not None:
if self.visibility:
self.actions["visibility"].setIcon(
self.icons["visibility_on"])
else:
self.actions["visibility"].setIcon(
self.icons["visibility_off"])

# manage sliders
for slider in self.plotter.slider_widgets:
Expand Down Expand Up @@ -779,20 +787,6 @@ def _set_slider_style(self):
)
slider_rep.GetCapProperty().SetOpacity(0)

def _configure_notebook(self):
from IPython import display
from ipywidgets import VBox
from mne.viz._brain._notebook import _NotebookInteractor
self.disp = self._renderer.plotter.show(use_ipyvtk=True,
return_viewer=True)
nint = _NotebookInteractor(self)
nint.controllers = dict()
nint.sliders = dict()
nint.configure_controllers()
controllers = VBox(list(nint.controllers.values()))
layout = VBox([controllers, self.disp])
display.display(layout)

def _configure_time_label(self):
self.time_actor = self._data.get('time_actor')
if self.time_actor is not None:
Expand Down Expand Up @@ -2271,7 +2265,17 @@ def close(self):

def show(self):
"""Display the window."""
self._renderer.show()
if self.notebook:
from IPython import display
self.disp = self._renderer.plotter.show(use_ipyvtk=True,
return_viewer=True)
display.display(self.disp)
else:
# Request rendering of the window
try:
return self._renderer.show()
except RuntimeError:
logger.info("No active/running renderer available.")

def show_view(self, view=None, roll=None, distance=None, row=0, col=0,
hemi=None):
Expand Down Expand Up @@ -2938,13 +2942,6 @@ def _iter_time(self, time_idx, callback):
# Restore original time index
func(current_time_idx)

def _show(self):
"""Request rendering of the window."""
try:
return self._renderer.show()
except RuntimeError:
logger.info("No active/running renderer available.")

def _check_stc(self, hemi, array, vertices):
from ...source_estimate import (
_BaseSourceEstimate, _BaseSurfaceSourceEstimate,
Expand Down
63 changes: 0 additions & 63 deletions mne/viz/_brain/_notebook.py

This file was deleted.

0 comments on commit 4d9b63a

Please sign in to comment.