diff --git a/src/spikeinterface/metrics/quality/quality_metrics.py b/src/spikeinterface/metrics/quality/quality_metrics.py index c6b539fdc1..399908ec03 100644 --- a/src/spikeinterface/metrics/quality/quality_metrics.py +++ b/src/spikeinterface/metrics/quality/quality_metrics.py @@ -77,6 +77,20 @@ def _handle_backward_compatibility_on_load(self): if "peak_sign" in self.params["metric_params"]["amplitude_median"]: del self.params["metric_params"]["amplitude_median"]["peak_sign"] + # TODO: update this once `main_channel_index` PR is merged + # global peak_sign used to find appropriate channels for pca metric computation + # If not found, use a "peak_sign" set by any metric + global_peak_sign_from_params = self.params.get("peak_sign") + if global_peak_sign_from_params is None: + for metric_params in self.params["metric_params"].values(): + if "peak_sign" in metric_params: + global_peak_sign_from_params = metric_params["peak_sign"] + break + # If still not found, use <0.104.0 default, "neg" + if global_peak_sign_from_params is None: + global_peak_sign_from_params = "neg" + self.params["peak_sign"] = global_peak_sign_from_params + def _set_params( self, metric_names: list[str] | None = None,