Skip to content

Commit 364d44d

Browse files
committed
do layout before controller
1 parent 8149868 commit 364d44d

File tree

4 files changed

+18
-15
lines changed

4 files changed

+18
-15
lines changed

spikeinterface_gui/backend_panel.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,9 @@ def listen_setting_changes(view):
185185

186186
class PanelMainWindow:
187187

188-
def __init__(self, controller, layout_preset=None, layout=None, user_settings=None):
188+
def __init__(self, controller, layout_dict=None, user_settings=None):
189189
self.controller = controller
190-
self.layout_preset = layout_preset
191-
self.layout = layout
190+
self.layout_dict = layout_dict
192191
self.verbose = controller.verbose
193192

194193
self.make_views(user_settings)
@@ -258,7 +257,7 @@ def create_main_layout(self):
258257

259258
pn.extension("gridstack")
260259

261-
preset = get_layout_description(self.layout_preset, self.layout)
260+
preset = self.layout_dict
262261

263262
layout_zone = {}
264263
for zone, view_names in preset.items():

spikeinterface_gui/backend_qt.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -141,13 +141,12 @@ def stop_listen_setting_changes(view):
141141
class QtMainWindow(QT.QMainWindow):
142142
main_window_closed = QT.pyqtSignal(object)
143143

144-
def __init__(self, controller, parent=None, layout_preset=None, layout=None, user_settings=None):
144+
def __init__(self, controller, parent=None, layout_dict=None, user_settings=None):
145145
QT.QMainWindow.__init__(self, parent)
146146

147147
self.controller = controller
148148
self.verbose = controller.verbose
149-
self.layout_preset = layout_preset
150-
self.layout = layout
149+
self.layout_dict = layout_dict
151150

152151
self.make_views(user_settings)
153152
self.create_main_layout()
@@ -206,7 +205,7 @@ def create_main_layout(self):
206205

207206
self.setDockNestingEnabled(True)
208207

209-
preset = get_layout_description(self.layout_preset, self.layout)
208+
preset = self.layout_dict
210209

211210
widgets_zone = {}
212211
for zone, view_names in preset.items():

spikeinterface_gui/layout_presets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def _check_valid_layout_dict(layout_dict):
3434
list_of_possible_class_views = list(possible_class_views.keys())
3535
if class_view not in list_of_possible_class_views:
3636
raise KeyError(f"View '{class_view}' in layout dictionary not equal to a valid View. "\
37-
"Valid views are {list_of_possible_class_views}")
37+
f"Valid views are {list_of_possible_class_views}")
3838

3939
def get_layout_description(preset_name, layout=None):
4040
if isinstance(layout, dict):

spikeinterface_gui/main.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from spikeinterface import load_sorting_analyzer, load
99
from spikeinterface.core.core_tools import is_path_remote
1010
from .utils_global import get_config_folder
11+
from spikeinterface_gui.layout_presets import get_layout_description
1112

1213
import spikeinterface_gui
1314
from spikeinterface_gui.controller import Controller
@@ -122,7 +123,9 @@ def run_mainwindow(
122123
import time
123124
t0 = time.perf_counter()
124125

125-
skip_extensions = find_skippable_extensions(layout_preset=layout_preset, layout=layout)
126+
layout_dict = get_layout_description(layout_preset, layout)
127+
if skip_extensions is None:
128+
skip_extensions = find_skippable_extensions(layout_dict)
126129

127130
controller = Controller(
128131
analyzer, backend=backend, verbose=verbose,
@@ -149,7 +152,7 @@ def run_mainwindow(
149152

150153
app = mkQApp()
151154

152-
win = QtMainWindow(controller, layout_preset=layout_preset, layout=layout, user_settings=user_settings)
155+
win = QtMainWindow(controller, layout_dict=layout_dict, user_settings=user_settings)
153156
win.setWindowTitle('SpikeInterface GUI')
154157
# Set window icon
155158
icon_file = Path(__file__).absolute().parent / 'img' / 'si.png'
@@ -161,7 +164,7 @@ def run_mainwindow(
161164

162165
elif backend == "panel":
163166
from .backend_panel import PanelMainWindow, start_server
164-
win = PanelMainWindow(controller, layout_preset=layout_preset, layout=layout, user_settings=user_settings)
167+
win = PanelMainWindow(controller, layout_dict=layout_dict, user_settings=user_settings)
165168

166169
if start_app or panel_window_servable:
167170
win.main_layout.servable(title='SpikeInterface GUI')
@@ -352,10 +355,8 @@ def run_mainwindow_cli():
352355
disable_save_settings_button=disable_save_settings_button,
353356
)
354357

355-
def find_skippable_extensions(layout_preset, layout=None):
358+
def find_skippable_extensions(layout_dict):
356359

357-
from spikeinterface_gui.layout_presets import get_layout_description
358-
layout_dict = get_layout_description(layout_preset, layout)
359360
view_per_zone = list(layout_dict.values())
360361
list_of_views = [view for zone_views in view_per_zone for view in zone_views]
361362

@@ -368,5 +369,9 @@ def find_skippable_extensions(layout_preset, layout=None):
368369
skippable_extensions.append('waveforms')
369370
if 'ndscatter' not in list_of_views:
370371
skippable_extensions.append('principal_components')
372+
if 'isi' not in list_of_views:
373+
skippable_extensions.append('isi_histograms')
374+
if 'correlogram' not in list_of_views:
375+
skippable_extensions.append('correlograms')
371376

372377
return skippable_extensions

0 commit comments

Comments
 (0)