Skip to content

Commit cb092d3

Browse files
committed
update skippable extension function
1 parent 364d44d commit cb092d3

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

spikeinterface_gui/main.py

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77

88
from spikeinterface import load_sorting_analyzer, load
99
from spikeinterface.core.core_tools import is_path_remote
10+
from spikeinterface.core.sortinganalyzer import get_available_analyzer_extensions
1011
from .utils_global import get_config_folder
1112
from spikeinterface_gui.layout_presets import get_layout_description
1213

1314
import spikeinterface_gui
1415
from spikeinterface_gui.controller import Controller
15-
16+
from spikeinterface_gui.viewlist import possible_class_views
1617

1718
def run_mainwindow(
1819
analyzer,
@@ -356,22 +357,24 @@ def run_mainwindow_cli():
356357
)
357358

358359
def find_skippable_extensions(layout_dict):
360+
"""
361+
Returns the extensions which don't need to be loaded, depending on which views the user
362+
wants to load. Does this by taking all possible extensions, then removing any which are
363+
needed by a view.
364+
"""
359365

366+
all_extensions = set(get_available_analyzer_extensions())
367+
360368
view_per_zone = list(layout_dict.values())
361369
list_of_views = [view for zone_views in view_per_zone for view in zone_views]
362370

363-
skippable_extensions = []
364-
if 'spikeamplitude' not in list_of_views:
365-
skippable_extensions.append('spike_amplitudes')
366-
if 'spikedepth' not in list_of_views:
367-
skippable_extensions.append('spike_locations')
368-
if 'waveform' not in list_of_views and 'waveformheatmap' not in list_of_views:
369-
skippable_extensions.append('waveforms')
370-
if 'ndscatter' not in list_of_views:
371-
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')
371+
needed_extensions = ['unit_locations']
372+
373+
for view in list_of_views:
374+
extensions_view_depend_on = possible_class_views[view]._depend_on
375+
if extensions_view_depend_on is not None:
376+
needed_extensions += extensions_view_depend_on
377+
378+
skippable_extensions = list(all_extensions.difference(set(needed_extensions)))
376379

377380
return skippable_extensions

0 commit comments

Comments
 (0)