lunedì 14 novembre 2022

Mascherare le nuvole in Sentinel 2

Nei dati Sentinel 2 e' contenuta anche in QI_DATA/MSK_CLDPRB_20m.jp2 una maschera di probabilita' che il pixel sia relativo ad una nuova (con valore di probabilita' crescente)




Per fare una maschera ho provato a settare i valori maggiori di 50 a zero ed i valori inferiori a 1 per poi moltiplicare i valori della banda



import numpy as np
import rasterio
from rasterio import plot

band4 = rasterio.open('b4.jp2', driver='JP2OpenJPEG')
mask = rasterio.open('mask.jp2', driver='JP2OpenJPEG')

band4_ = band4.read(1)
mask_ = mask.read(1)

mask_[mask_ <= 50] = 1
mask_[mask_ > 50] = 0


ris = np.zeros(band4.shape, dtype=rasterio.uint32)
ris =band4_*mask_

kwargs = band4.meta
kwargs.update(driver='GTiff',dtype=rasterio.uint16,count=1)

maskimage = rasterio.open('maschera0_1.tiff','w',**kwargs )
maskimage.write(mask_,1)
maskimage.close()

b4mask = rasterio.open('b4mask.tiff','w', **kwargs)
b4mask.write(ris,1)
b4mask.close()

Nessun commento:

Posta un commento

Physics informed neural network Fukuzono

Visto che puro ML non funziona per le serie tempo di cui mi sto occupando ed le regressioni basate su formule analitiche mostrano dei limiti...