Leser du BSQ-filformat i IDL?

Er det en måte å åpne BSQ filformat i IDL ?

Kommentarer

  • idl? vær så snill å utvide
  • Ikke sikker på at det dette vil hjelpe. Vi ' trenger mer informasjon for å gi et bedre svar.
  • Lagt til lenker for BSQ og IDL. Det eneste anstendige diagrammet for BSQ jeg kunne finne, var i Esri-hjelpen. Jeg ' Jeg antyder ikke at Esri-programvare er nødvendig.

Svar

Bruker du IDL med ENVI, eller av seg selv?

Hvis du bruker IDL med ENVI (langt den enkleste hvis du har ENVI) så vil standard ENVI-fillesingskommandoer fungere. For eksempel:

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 

Hvis du ikke har ENVI, er det litt vanskeligere. Du kan lese BSQ-dataene ved å bruke standardkommandoer for binærfillesing av IDL (se http://www.msi.umn.edu/software/idl/tutorial/idl-rwd.html#Reading%20Binary%20Data , men du må kjenne dimensjonene til bildet (prøver, linjer og bånd) for å kunne splitte det fornuftig. Denne informasjonen lagres ofte i en .hdr-fil, som ENVI leser automatisk når du bruker metoden ovenfor.

Svar

IDL leser båndsekvensiell (BSQ) binær filformatstruktur som [Kolonne, rad, bånd]

 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. 

Så, som bemerket av @robintw, må du vite dimensjonene og kilden / sensoren til bildet ditt. Annet enn BSQ-kodingen, må du vite fire ting for å lese dataene i en IDL interaktiv matrise. Du trenger kolonnetall, radtall, båndtelling og datatypen. Selvfølgelig for alt geospatialt arbeid utenfor IDL trenger du å kjenne den nominelle pikselstørrelsen og koordinatene på minst 3 kontrollpunkter for bilderegistrering Og ytterligere detaljer til s opulate en ESRI Grid World-fil.

For å dekode BSQ-dataene dine, er IDL binære datatypevalg

 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 

Så med minimum info tilgjengelig: For å «åpne» dataene oppretter du en ny IDL-prosedyre

 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 

Kommentarer

  • @Yudine, burde det være et vedlegg eller noen detaljer?
  • @ Stuart, dette er fildetaljene ENVI beskrivelse = {File Resize Result, x resize factor: 1.000000, y resize factor: 1.000000. [Thu Jan 13 18:15:18 2011]} samples = 338 linjer = 308 bånd = 125 header offset = 0 filtype = ENVI Standard datatype = 2 interleave = bsq sensortype = Ukjent byterekkefølge = 0 x start = 459 y start = 1735 Antall bånd = 125
  • @Yudine, ser ut som om du har alt du trenger for å lese bildet i en IDL-matrise. 338 prøver – > kolonner, 308 linjer – > rader, 125 bånd. Datatype 2 heltall (sannsynligvis 0-255). Og byterekkefølgen er 0, dvs. Little Endian, så direkte leses på en Windows-PC (må transformeres (Swap_If_Big_Endian) hvis en 1. Så lag en ny Pro i IDLDE GUI, og følg pseudokoden. En lesning av Michael Todd ' s merknad ovenfor med lenken til en klasseøvelse ved UIdaho skal hjelpe deg med syntaksen for koden. Da vil ditt eneste problem være å avgjøre hvilke bånd i matrisen som skal vises, 125 til kombinere.

Svar

Jeg har ikke erfaring med verken bsq eller idl, men siden gdal støtter bsq , kan du prøve å bruke gdal_translate for å konvertere filen til en geotiff. IDL ser ut til å støtte lesing av tif-filer.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *