From cb7218e863078ccc6b25299174d0e674b9bd28a7 Mon Sep 17 00:00:00 2001
From: Danilo Ferreira de Lima <danilo.enoque.ferreira.de.lima@xfel.de>
Date: Wed, 7 Feb 2024 15:41:42 +0100
Subject: [PATCH] Fixes error f not enough data is available.

---
 pes_to_spec/model.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pes_to_spec/model.py b/pes_to_spec/model.py
index e367349..ee8088c 100644
--- a/pes_to_spec/model.py
+++ b/pes_to_spec/model.py
@@ -1238,6 +1238,8 @@ class Model(TransformerMixin, BaseEstimator):
         for channel in self.get_channels():
             B, P, _ = low_res_selected_dict[channel].shape
             print(f"Calculate PCA on {channel}")
+            pca_max = min(self.channel_pca[channel].n_components_, low_res_selected_dict[channel].shape[0])
+            self.channel_pca[channel].set_params(n_components=pca_max)
             low_pca = self.channel_pca[channel].fit_transform(low_res_selected_dict[channel].reshape(B*P, -1))
             self.ood[channel].fit(low_pca)
 
-- 
GitLab