Există o modalitate de a deschide formatul de fișier BSQ în IDL ?
Comentarii
- idl? vă rugăm să extindeți
- Nu sunt sigur că aceasta vă va ajuta. ' vom avea nevoie de mai multe informații pentru a oferi un răspuns mai bun.
- S-au adăugat linkuri pentru BSQ și IDL. Singura diagramă decentă pentru BSQ pe care am găsit-o a fost în ajutorul Esri, ' nu sugerez că este nevoie de software Esri.
Răspunde
Folosești IDL cu ENVI sau singur?
Dacă folosești IDL cu ENVI (de departe cel mai ușor dacă aveți ENVI) atunci comenzile standard de citire a fișierelor ENVI vor funcționa. De exemplu:
ENVI_SELECT, fid=fid, dims=dims, pos=pos ; Shows a dialog box to allow you to select a file image = ENVI_GET_DATA(fid=fid, dims=dims, pos=pos) ; Gets the data into an array called image
Dacă nu aveți ENVI, atunci este puțin mai greu. Puteți citi datele BSQ utilizând comenzi de citire a fișierelor binare IDL standard (consultați http://www.msi.umn.edu/software/idl/tutorial/idl-rwd.html#Reading%20Binary%20Data , dar va trebui să cunoașteți dimensiunile imaginii (eșantioane, linii și benzi) pentru a o putea împărți în mod sensibil. Aceste informații sunt adesea stocate într-un fișier .hdr, pe care ENVI îl citește automat atunci când utilizați metoda de mai sus.
Răspuns
IDL citește structura formatului de fișier binar de bandă secvențială (BSQ) ca [Coloană, Rând, Bandă]
BSQ, BIL and BIP are multiband encodings where: a 8-bit Grey scale image would encode 1 band of data a 24-bit RGB additive color image would be 3 bands of data a 32-bit CMYK subtractive color image would be 4 bands of data Discrete multispectral images, or contiguous hyperspectral images would have increasing numbers of bands.
Deci, așa cum a menționat @robintw, trebuie să cunoașteți dimensiunile și sursa / senzorul imaginii dvs. În afară de codificarea BSQ, trebuie să știți patru lucruri pentru a citi datele într-un Matrice interactivă IDL. Aveți nevoie de numărul de coloane, numărul de rânduri, numărul de benzi și tipul de date. Desigur, pentru orice lucru geospațial în afara IDL, ar trebui să cunoașteți dimensiunea nominală a pixelilor și coordonatele a cel puțin 3 puncte de control pentru înregistrarea imaginii. Și detalii suplimentare la p opulați un fișier ESRI Grid World.
Pentru decodarea datelor BSQ, tipurile de date binare IDL sunt
0 Undefined 1 Byte 2 Integer 3 Longword Integer 4 Floating point 5 Double-precision floating 6 Complex 7 String 8 Structure 9 Double-precision complex 10 Pointer 11 Object reference 12 Unsigned Integer 13 Unsigned Longword Integer 14 64-Bit Integer 15 Unsigned 64-Bit Integer
Deci, cu informațiile minime la îndemână: pentru a „deschide” datele, creați o nouă procedură IDL
make array of (columns,rows,bands) assign to working_array open the bsq_image for reading nested loops to read-in binary_values for each band for each row for each column read the binary_value of type from the bsq_image write the data to the working_array display working_array ;;ordered as needed for false color aesthetics
Comentarii
- @Yudine, ar trebui să existe un atașament sau câteva detalii?
- @ Stuart, acestea sunt detaliile fișierului ENVI description = {File Resize Result, x resize factor: 1.000000, y resize factor: 1.000000. [Joi 13 ianuarie 18:15:18 2011]} eșantioane = 338 linii = 308 benzi = 125 offset antet = 0 tip fișier = ENVI tip de date standard = 2 intercalare = tip senzor bsq = ordine de octeți necunoscută = 0 x start = 459 y start = 1735 Număr de benzi = 125
- @Yudine, se pare că ai tot ce ai nevoie pentru a citi imaginea într-o matrice IDL. 338 mostre – > coloane, 308 linii – > rânduri, 125 benzi. Tipul de date 2 întreg (probabil 0-255). Și ordinea de octeți este 0, adică Little Endian, așa că direct citit pe un PC cu Windows (ar trebui să se transforme (Swap_If_Big_Endian) dacă un 1. Deci, creați un nou Pro în GUI IDLDE și urmați pseudo codul. O lectură a lui Michael Todd ' nota de mai sus cu linkul către un exercițiu de clasă la UIdaho ar trebui să vă ajute cu sintaxa codului. Apoi, singura problemă va fi să decideți ce benzi din matrice să afișați, 125 la combinați.
Răspuns
Nu am experiență cu bsq sau idl, dar din moment ce gdal acceptă bsq , puteți încerca să utilizați gdal_translate pentru a vă converti fișierul într-un geotiff. IDL pare să accepte citirea fișierelor tif.