Visualizzazione post con etichetta Aviris. Mostra tutti i post
Visualizzazione post con etichetta Aviris. Mostra tutti i post

sabato 28 febbraio 2026

Aviris vs Enmap

Un confronto tra spettri di punti del volo Aviris-NG zona Grosseto e Enamp

Per rendere il confronto minimamente rappresentativo e' stato preso un bersaglio antropico che non e' modificato nel tempo ed un campo sempre allo stato suolo nudo

 

Bersaglio naturale (suolo nudo)

Bersaglio Antropico

 

Bersaglio antropico

 

 

 

venerdì 27 febbraio 2026

HyperCoast Python Library

Hypercoast e' una libreria Python per leggere dati da formati iperspettrali e visualizzare spettri

L'uso migliore e' quello all'interno di Jupyter Lab

 

import hypercoast

filepath = "ang20210604t105418_rfl_v2z1_img"
ds = hypercoast.read_aviris(filepath)
print(ds)
m = hypercoast.Map()
print(m)
m
m.add_aviris(ds, wavelengths=[1000, 700, 400], vmin=0, vmax=0.2)
m.add("spectral")
display(m)


 

Aviris-NG Grosseto

 

 

 

 

giovedì 26 febbraio 2026

Da radianza a riflettanza su dati Aviris con IARR

 I dati Aviris sono distribuiti spesso in radianza ed in formato netcdf

Per trasformali in riflettanza in modo semplice tramite IARR Internal Average Relative Reflectance e per usarli in modo altrettanto tramite un formato Envi  si puo' usare il seguente script

 

Riflettanza

Radianza


 

import xarray as xr
import spectral.io.envi as envi
import numpy as np

ds_root = xr.open_dataset("dati.nc")

data_cube = ds_rad['radiance'].transpose('lines', 'samples', 'wavelength').values
mean_spectrum = np.mean(data_cube, axis=(1, 2))
reflectance = data_cube / mean_spectrum[:, None, None]


if 'wavelength' in ds_rad:
wavs = ds_rad['wavelength'].values.tolist()
elif 'wavelength' in ds_root:
wavs = ds_root['wavelength'].values.tolist()
else:
wavs = list(range(data_cube.shape[2]))

metadata = {
'description': 'AVIRIS-3 Radiance converted for SNAP',
'wavelength units': 'nanometers',
'wavelength': wavs
}

envi.save_image('aviris_radiance.hdr', data_cube, metadata=metadata, force=True)
envi.save_image('aviris_reflectance.hdr', reflectance, metadata=metadata, force=True)

print("Done! Open aviris_radiance.hdr in SNAP.")


 

Kernel Panic QrCode

 In tanti anni ho visto qualche kernel panic, ma in questo formato non mi era mai successo    la cosa curiosa che al riavvio successivo ness...