From 853f50cb0f156cdc693f4ccf51421cbcb1effe6e Mon Sep 17 00:00:00 2001 From: Erick Cobos Date: Fri, 27 Feb 2026 16:26:22 +0100 Subject: [PATCH 1/3] set num_histogram_bins in amplitude_cutoff to 100 --- src/spikeinterface/metrics/quality/misc_metrics.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/spikeinterface/metrics/quality/misc_metrics.py b/src/spikeinterface/metrics/quality/misc_metrics.py index 11f3f7c80b..e84d00f1d4 100644 --- a/src/spikeinterface/metrics/quality/misc_metrics.py +++ b/src/spikeinterface/metrics/quality/misc_metrics.py @@ -1031,7 +1031,7 @@ class AmplitudeCutoff(BaseMetric): metric_name = "amplitude_cutoff" metric_function = compute_amplitude_cutoffs metric_params = { - "num_histogram_bins": 200, + "num_histogram_bins": 100, "histogram_smoothing_value": 3, "amplitudes_bins_min_ratio": 5, } @@ -1634,7 +1634,7 @@ def isi_violations(spike_trains, total_duration_s, isi_threshold_s=0.0015, min_i def amplitude_cutoff( amplitudes, - num_histogram_bins=500, + num_histogram_bins=100, histogram_smoothing_value=3, amplitudes_bins_min_ratio=5, ): From b1ef7a81daf5250fff993b20706898d5c8420015 Mon Sep 17 00:00:00 2001 From: Erick Cobos Date: Fri, 27 Feb 2026 17:39:27 +0100 Subject: [PATCH 2/3] improve warning for NaN amplitude_cutoff --- src/spikeinterface/metrics/quality/misc_metrics.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/spikeinterface/metrics/quality/misc_metrics.py b/src/spikeinterface/metrics/quality/misc_metrics.py index e84d00f1d4..4c36bb63b2 100644 --- a/src/spikeinterface/metrics/quality/misc_metrics.py +++ b/src/spikeinterface/metrics/quality/misc_metrics.py @@ -1021,8 +1021,10 @@ def compute_amplitude_cutoffs( amplitudes_bins_min_ratio, ) - if np.any(np.isnan(list(all_fraction_missing.values()))): - warnings.warn(f"Some units have too few spikes : amplitude_cutoff is set to NaN") + units_with_few_spikes = [unit_id for unit_id, amp_cutoff in all_fraction_missing.items() if np.isnan(amp_cutoff)] + if len(units_with_few_spikes) > 0: + min_num_spikes = amplitudes_bins_min_ratio * num_histogram_bins + warnings.warn(f"Amplitude cutoff set to NaN for units {units_with_few_spikes}: too few spikes (< {min_num_spikes}).") return all_fraction_missing From 8c162c18d57290b41c84dd2133792f53e409d475 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 27 Feb 2026 16:39:22 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/spikeinterface/metrics/quality/misc_metrics.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/spikeinterface/metrics/quality/misc_metrics.py b/src/spikeinterface/metrics/quality/misc_metrics.py index 4c36bb63b2..cfce763d51 100644 --- a/src/spikeinterface/metrics/quality/misc_metrics.py +++ b/src/spikeinterface/metrics/quality/misc_metrics.py @@ -1024,7 +1024,9 @@ def compute_amplitude_cutoffs( units_with_few_spikes = [unit_id for unit_id, amp_cutoff in all_fraction_missing.items() if np.isnan(amp_cutoff)] if len(units_with_few_spikes) > 0: min_num_spikes = amplitudes_bins_min_ratio * num_histogram_bins - warnings.warn(f"Amplitude cutoff set to NaN for units {units_with_few_spikes}: too few spikes (< {min_num_spikes}).") + warnings.warn( + f"Amplitude cutoff set to NaN for units {units_with_few_spikes}: too few spikes (< {min_num_spikes})." + ) return all_fraction_missing