@@ -121,6 +121,9 @@ def run_mainwindow(
121121 if verbose :
122122 import time
123123 t0 = time .perf_counter ()
124+
125+ skip_extensions = find_skippable_extensions (layout_preset = layout_preset , layout = layout )
126+
124127 controller = Controller (
125128 analyzer , backend = backend , verbose = verbose ,
126129 curation = curation , curation_data = curation_dict ,
@@ -349,3 +352,21 @@ def run_mainwindow_cli():
349352 disable_save_settings_button = disable_save_settings_button ,
350353 )
351354
355+ def find_skippable_extensions (layout_preset , layout = None ):
356+
357+ from spikeinterface_gui .layout_presets import get_layout_description
358+ layout_dict = get_layout_description (layout_preset , layout )
359+ view_per_zone = list (layout_dict .values ())
360+ list_of_views = [view for zone_views in view_per_zone for view in zone_views ]
361+
362+ skippable_extensions = []
363+ if 'spikeamplitude' not in list_of_views :
364+ skippable_extensions .append ('spike_amplitudes' )
365+ if 'spikedepth' not in list_of_views :
366+ skippable_extensions .append ('spike_locations' )
367+ if 'waveform' not in list_of_views and 'waveformheatmap' not in list_of_views :
368+ skippable_extensions .append ('waveforms' )
369+ if 'ndscatter' not in list_of_views :
370+ skippable_extensions .append ('principal_components' )
371+
372+ return skippable_extensions
0 commit comments