Lire le format de fichier BSQ en IDL?

Existe-t-il un moyen douvrir le format de fichier BSQ au format IDL ?

Commentaires

  • idl? veuillez développer
  • Je ne suis pas sûr que cela vous aidera. Nous ' aurons besoin de plus dinformations pour fournir une meilleure réponse.
  • Ajout de liens pour BSQ et IDL. Le seul diagramme correct pour BSQ que jai pu trouver était dans laide dEsri, je ' ne suggérant pas que le logiciel Esri est nécessaire.

Réponse

Utilisez-vous IDL avec ENVI, ou seul?

Si vous utilisez IDL avec ENVI (de loin le plus simple si vous avez ENVI) alors les commandes standard de lecture de fichier ENVI fonctionneront. Par exemple:

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 

Si vous navez pas ENVI, cest un peu plus difficile. Vous pouvez lire les données BSQ en utilisant les commandes de lecture de fichier binaire IDL standard (voir http://www.msi.umn.edu/software/idl/tutorial/idl-rwd.html#Reading%20Binary%20Data mais vous devrez  » connaître les dimensions de limage (échantillons, lignes et bandes) pour pouvoir la diviser de manière raisonnable. Ces informations sont souvent stockées dans un fichier .hdr, quENVI lit automatiquement lorsque vous utilisez la méthode ci-dessus.

Réponse

IDL lit la structure de format de fichier binaire de bande séquentielle (BSQ) comme [Colonne, Ligne, Bande]

 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. 

Ainsi, comme indiqué par @robintw, vous devez connaître les dimensions et la source / le capteur de votre image. Outre le codage BSQ, vous devez connaître quatre choses pour lire les données dans un Tableau interactif IDL. Vous avez besoin du nombre de colonnes, du nombre de lignes, du nombre de bandes et du type de données. Bien sûr, pour tout travail géospatial en dehors de lIDL, vous devez connaître la taille de pixel nominale et les coordonnées dau moins 3 points de contrôle pour lenregistrement dimage . Et des détails supplémentaires à p opuler un fichier ESRI Grid World.

Pour décoder vos données BSQ, les choix de type de données binaires IDL sont

 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 

Donc, avec le minimum dinformations à portée de main: pour « ouvrir » les données, vous créez une nouvelle procédure 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 

Commentaires

  • @Yudine, devrait-il y avoir une pièce jointe ou des détails?
  • @ Stuart, voici les détails du fichier ENVI description = {Résultat de redimensionnement du fichier, x facteur de redimensionnement: 1.000000, y facteur de redimensionnement: 1.000000. [Thu Jan 13 18:15:18 2011]} samples = 338 lignes = 308 band = 125 header offset = 0 file type = ENVI Standard data type = 2 interleave = bsq sensor type = Unknown byte order = 0 x start = 459 y start = 1735 Nombre de bandes = 125
  • @Yudine, on dirait que vous avez tout ce dont vous avez besoin pour lire limage dans un tableau IDL. 338 échantillons – > colonnes, 308 lignes – > lignes, 125 bandes. Entier de type 2 (probablement 0-255). Et lordre des octets est 0, cest-à-dire Little Endian donc lecture directe sur un PC Windows (devrait transformer (Swap_If_Big_Endian) si un 1. Alors créez un nouveau Pro dans linterface graphique IDLDE, et suivez le pseudo code. Une lecture de Michael Todd La note ci-dessus de ' avec le lien vers un exercice de classe à UIdaho devrait vous aider avec la syntaxe du code. Ensuite, votre seul problème sera de décider quelles bandes du tableau afficher, 125 à combiner.

Réponse

Je nai pas dexpérience avec bsq ou idl, mais puisque gdal prend en charge bsq , vous pouvez essayer dutiliser gdal_translate pour convertir votre fichier en géotiff. IDL semble prendre en charge la lecture des fichiers tif.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *