Un piccolo script per avere un truecolor dal sensore iperspettrale FigSpex F60-CL
L'unica elaborazione e' uno stretch delle bande dei colori RGB
Red band: idx 123 -> 649.58 nm
Green band: idx 75 -> 549.73 nm
Blue band: idx 28 -> 450.00 nm
Un piccolo script per avere un truecolor dal sensore iperspettrale FigSpex F60-CL
L'unica elaborazione e' uno stretch delle bande dei colori RGB
Red band: idx 123 -> 649.58 nm
Green band: idx 75 -> 549.73 nm
Blue band: idx 28 -> 450.00 nm
Per ovviare al problema della calibrazione visto che nel precedente post (calibrazione da manuale del sensore) ho estratto la firma in radianza di 4 punti del pannello di bianco di riferimento direttamente dall'immagine (ho avuto l'accortezza di inserirlo nella scena) usando Snap ed estrando 4 spettri in csv
qui i risultati sono decimente migliori...e' corretto che il pannello di bianco di riferimento sia a 0.85 perche' e' calibrato all'80%
![]() |
| Calibrazione di fabbrica del riferimento di bianco |
H₂O~810-840 Vapore acqueo Debole-moderata
H₂O (complesso 940nm)~890-990 (minimo tipico ~935-945, ma variabile)
Confrontando con gli spettri misurati
python3 make_reflectance_cube.py /media/disco/Arpat/FigSpec_260522_171651/figspec.hdr /media/disco/Arpat/FigSpec_260522_171651/figspec.spe --black /media/disco/Arpat/FigSpec_260522_171651/figspec.figspecblack --white-csv bianco.csv --panel ./Reflectance_Calibration_Cloth.figspecref --out figspec_reflectance --from-line 33000 --to-line 40000
Seguendo i due post precedenti (1 e 2) di seguito e' riportato lo script per convertire l'immagine da DN a radianza e riflettanza usando empirical line e il pannello di bianco di riferimento (85%) in dotazione con lo strumento
Per lanciare lo script si puo' usare
python3 make_reflectance_cube.py figspec.hdr figspec.spe \
--black figspec.figspecblack \
--white figspec.figspecwhite \
--panel Reflectance_Calibration_Cloth.figspecref \
--out figspec_reflectance
visto che le strisciate possono essere anche molto lunghe si puo' selezionare un intervallo di righe
python3 make_reflectance_cube.py figspec.hdr figspec.spe \
--black figspec.figspecblack \
--white figspec.figspecwhite \
--panel Reflectance_Calibration_Cloth.figspecref \
--out figspec_reflectance_5k_10k \
--from-line 5000 --to-line 10000
E qui iniziano i problemi
Se si mettono a confronto la riflettanza (prima immagine) e la radianza (seconda immagine) si vede che la riflettanza e' decisamente piu' rumorosa ed ha valori superiori ad 1 (dovrebbero essere sempre inferiori ad 1)
Alla fine sono riuscito a vedere una cicala viva (per adesso avevo visto solo le mute o come dicono quelli bravi esuvie) ed ho capito perch...