Qual è il formato binario delle ROI ENVI (classiche)?


11

Sono un pitone in un ufficio pieno di utenti ENVI / IDL. Ho creato alcuni strumenti per aiutare a colmare il divario, ma un grosso ostacolo sono i file .roi ENVI Classic, che i miei colleghi usano molto.

Posso facilmente importare ROI ENVI 5 in Python, poiché il formato basato su testo è facile da analizzare. Tuttavia, non ho un buon senso per il formato binario dei file .roi ENVI Classic, che costituiscono la maggior parte dello scambio di dati nel mio gruppo. Qualcuno ha qualche codice che legge o scrive questi file, o qualche idea su come si potrebbe andare al riguardo?

È un po 'noioso accendere ENVI 5 ogni volta che voglio andare avanti e indietro - se possibile preferirei risolvere il problema alla fonte.

Risposte:


1

Non sono un esperto di Python, ma questo dovrebbe essere relativamente facile da fare se stai già scrivendo script che possono analizzare, leggere e scrivere file ASCII standardizzati.

Secondo Harris Geospatial Solutions, l'attuale sviluppatore di ENVI, i file di immagine binaria ENVI (descritti qui) dovrebbero essere costituiti dal file binario e da un file di intestazione ASCII (definito con l'esempio qui) . Per leggere un file di immagine ENVI, devi analizzare l'intestazione ASCII e accedere al tipo di dati (intero, float, con segno / non firmato, ecc.), Il numero di bande, l'interleave (Sequenza di bande, Interfoglia di banda per- pixel o Band interleaved-by-line ), ordine dei byte e qualsiasi altra informazione relativa ai dati. Dai un'occhiata da vicino alla descrizione del formato del file di intestazione e all'esempio collegato sopra.

Ora che sai quali blocchi del binario leggere alla volta, in quale ordine sono e a quali bande appartengono, sei pronto per leggere i dati dell'immagine .


Le ROI ENVI sono archiviate come file immagine? Immagino che abbiano "le stesse dimensioni spaziali dei loro raster principali" secondo Harris Geospatial , ma nell'interfaccia utente, i semi-pixel (diagonalmente tagliati in due) vengono selezionati durante il trascinamento per creare un ROI, quindi sembra che questo dovrebbe essere un formato vettoriale di qualche tipo, a meno che non ci sia una sorta di flag raster a due bit (per specificare la direzione del triangolo). Ad ogni modo, proverò come suggerisci e vedrò fino a che punto arrivo!
Daven Quinn,

Penso che i "file di immagine binaria ENVI" siano una coppia di file, uno senza estensione e uno con estensione ".hdr". Ma i file .roi sembrano essere in un diverso formato binario? A proposito, se tutto ciò che vuoi fare è caricare il file .hdr, usa questo pacchetto python: spectralpython.net
MD004

No, sto sicuramente cercando una soluzione per leggere / scrivere direttamente le ROI, non solo le intestazioni, che possono essere lette con ad es. GDAL a seconda del formato ...
Daven Quinn,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.