Skip to content

Commit 8879423

Browse files
authored
Merge pull request #3976 from yger/no_spikes
Avoid crash of SC2 if no templates are detected after clustering
2 parents 468af84 + e72850b commit 8879423

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

src/spikeinterface/sorters/internal/spyking_circus2.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,8 @@ def _run_from_folder(cls, sorter_output_folder, params, verbose):
400400
sorting.save(folder=curation_folder)
401401
# np.save(fitting_folder / "amplitudes", guessed_amplitudes)
402402

403-
sorting = final_cleaning_circus(recording_w, sorting, templates, **merging_params, **job_kwargs)
403+
if sorting.get_non_empty_unit_ids().size > 0:
404+
sorting = final_cleaning_circus(recording_w, sorting, templates, **merging_params, **job_kwargs)
404405

405406
if verbose:
406407
print(f"Kept {len(sorting.unit_ids)} units after final merging")

src/spikeinterface/sortingcomponents/matching/main.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ def find_spikes_from_templates(
4646
method_class = matching_methods[method]
4747
node0 = method_class(recording, **method_kwargs)
4848
nodes = [node0]
49+
assert "templates" in method_kwargs, "You must provide templates in method_kwargs"
50+
if len(method_kwargs["templates"].unit_ids) == 0:
51+
return np.zeros(0, dtype=node0.get_dtype())
4952

5053
spikes = run_node_pipeline(
5154
recording,

0 commit comments

Comments
 (0)