Skip to content
3 changes: 2 additions & 1 deletion src/spikeinterface/sorters/internal/spyking_circus2.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down
11 changes: 11 additions & 0 deletions src/spikeinterface/sortingcomponents/matching/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@
from spikeinterface.core.job_tools import fix_job_kwargs
from spikeinterface.core.node_pipeline import run_node_pipeline

spike_dtype = [
("sample_index", "int64"),
("channel_index", "int64"),
("cluster_index", "int64"),
("amplitude", "float64"),
("segment_index", "int64"),
]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

import it!



def find_spikes_from_templates(
recording, method="naive", method_kwargs={}, extra_outputs=False, verbose=False, **job_kwargs
Expand Down Expand Up @@ -46,6 +54,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=spike_dtype)

spikes = run_node_pipeline(
recording,
Expand Down