From 2cfba1e5c50bbf3c368ee74d680ea245a23710da Mon Sep 17 00:00:00 2001 From: "raffaele.gaetano" <raffaele.gaetano@cirad.fr> Date: Mon, 29 May 2023 22:22:45 +0200 Subject: [PATCH] WIP: normalization. --- OBIA/OBIABase.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/OBIA/OBIABase.py b/OBIA/OBIABase.py index 8faa01e..276b359 100644 --- a/OBIA/OBIABase.py +++ b/OBIA/OBIABase.py @@ -218,6 +218,21 @@ class OBIABase: assert(self.ref_db is not None and len(self.raster_var_names)>0) vars = [item for sublist in self.raster_var_names for item in sublist] X = self.ref_db[vars].to_numpy() + # compute percentiles and normalize + p2 = np.zeros(X.shape[1]) + p98 = np.zeros(X.shape[1]) + for g in self.raster_groups: + tmp = X[:,g] + m,M = np.percentile(tmp, [2, 98]) + print("For g = {}, m = {}, M = {}".format(g,m,M)) + if isinstance(g, list): + for x in g: + p2[x] = m + p98[x] = M + else: + p2[g] = m + p98[g] = M + X[:,g] = (tmp - m)/(M - m) Y = self.ref_db['class'].to_numpy(dtype=int) G = self.ref_db['polygon_id'].to_numpy(dtype=int) - return X,Y,G + return X,Y,G,p2,p98 -- GitLab