Custom Features, use exogeneous data
As explain in issues/176, users can access to a list of bands by sensors to compute their own spectral features. However, we can imagine than externals data (ie : time series of masks) can be needed to compute a temporal feature (max NDVI considering clouds...).
I see two kind of external data :
- masks from sensors (which are already computed by iota2)
def get_soi(self): """ compute the Soil Composition Index """ # for instance validity_vector = self.get_Sentinel2_clouds_series() ... coef = (self.get_Sentinel2_B11() - self.get_Sentinel2_B8()) / ( self.get_Sentinel2_B11() + self.get_Sentinel2_B8()) labels = [f"soi_{i+1}" for i in range(coef.shape[2])] return coef, labels
- a stack of features already prepared by users, they can access in their functions.
def get_soi(self): """ compute the Soil Composition Index """ # for instance inner_vect_info = self.get_user_data_series() ... coef = (self.get_Sentinel2_B11() - self.get_Sentinel2_B8()) / ( self.get_Sentinel2_B11() + self.get_Sentinel2_B8()) labels = [f"soi_{i+1}" for i in range(coef.shape[2])] return coef, labels