diff --git a/src/spikeinterface/sorters/internal/spyking_circus2.py b/src/spikeinterface/sorters/internal/spyking_circus2.py index f038fe8b93..142cb0f279 100644 --- a/src/spikeinterface/sorters/internal/spyking_circus2.py +++ b/src/spikeinterface/sorters/internal/spyking_circus2.py @@ -382,7 +382,8 @@ def _run_from_folder(cls, sorter_output_folder, params, verbose): sorting.save(folder=curation_folder) # np.save(fitting_folder / "amplitudes", guessed_amplitudes) - sorting = final_cleaning_circus(recording_w, sorting, templates, **merging_params, **job_kwargs) + if sorting.get_non_empty_unit_ids().size > 0: + sorting = final_cleaning_circus(recording_w, sorting, templates, **merging_params, **job_kwargs) if verbose: print(f"Kept {len(sorting.unit_ids)} units after final merging") diff --git a/src/spikeinterface/sortingcomponents/matching/main.py b/src/spikeinterface/sortingcomponents/matching/main.py index f423d55e2a..5895dc433a 100644 --- a/src/spikeinterface/sortingcomponents/matching/main.py +++ b/src/spikeinterface/sortingcomponents/matching/main.py @@ -46,6 +46,9 @@ def find_spikes_from_templates( method_class = matching_methods[method] node0 = method_class(recording, **method_kwargs) nodes = [node0] + assert "templates" in method_kwargs, "You must provide templates in method_kwargs" + if len(method_kwargs["templates"].unit_ids) == 0: + return np.zeros(0, dtype=node0.get_dtype()) spikes = run_node_pipeline( recording,