diff --git a/OBIA/OBIABase.py b/OBIA/OBIABase.py index 8faa01e385b23b2bf862be27815be01f75f6d317..276b359a324cd55fea00188cc699068716dc314b 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