IDLでBSQファイル形式を読んでいますか?

BSQ ファイル形式を IDL ?

コメント

  • idl?展開してください
  • これが役立つかどうかわからない。 'より良い回答を提供するには、より多くの情報が必要です。
  • BSQとIDLへのリンクを追加しました。私が見つけたBSQの唯一の適切な図は、Esriヘルプにありましたが、' Esriソフトウェアが必要であることを示唆していません。

回答

ENVIでIDLを使用していますか、それとも単独で使用していますか?

ENVIでIDLを使用している場合(最も簡単な場合ENVIがある場合)、標準のENVIファイル読み取りコマンドが機能します。例:

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 

ENVIがない場合は、少し難しくなります。 BSQデータは、標準のIDLバイナリファイル読み取りコマンドを使用して読み取ることができます( http://www.msi.umn.edu/software/idl/tutorial/idl-rwd.html#Reading%20Binary%20Data を参照してくださいが、画像のサイズ(サンプル、ライン、バンド)を把握して、適切に分割できるようにします。この情報は、多くの場合、.hdrファイルに保存されます。このファイルは、上記の方法を使用するとENVIが自動的に読み取ります。

回答

IDLは、バンドシーケンシャル(BSQ)バイナリファイル形式の構造を[Column、Row、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. 

したがって、@ robintwが指摘しているように、画像のサイズとソース/センサーを知る必要があります。BSQエンコーディング以外に、データをに読み込むには4つのことを知る必要があります。 IDLインタラクティブアレイ。列数、行数、バンド数、データタイプが必要です。もちろん、IDL以外の地理空間作業では、画像登録用の少なくとも3つの制御点の公称ピクセルサイズと座標を知っている必要があります。 。そしてpへの追加の詳細ESRIグリッドワールドファイルを操作します。

BSQデータをデコードする場合、IDLバイナリデータタイプの選択肢は次のとおりです。

 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 

最小限の情報で手元:データを「開く」には、新しい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 

コメント

  • @Yudine、添付ファイルまたは詳細が必要ですか?
  • @ Stuart、これはファイルの詳細ですENVI description = {ファイルサイズ変更結果、xサイズ変更係数:1.000000、yサイズ変更係数:1.000000。 [2011年1月13日木曜日18:15:18]}サンプル= 338行= 308バンド= 125ヘッダーオフセット= 0ファイルタイプ= ENVI標準データタイプ= 2インターリーブ= bsqセンサータイプ=不明なバイト順序= 0x開始= 459 y start = 1735バンド数= 125
  • @Yudine、画像をIDL配列に読み込むために必要なものがすべて揃っているようです。 338サンプル->列、308行->行、125バンド。データ型2整数(おそらく0〜255)。また、バイト順序は0です。つまり、リトルエンディアンはWindows PCに直接読み取られます(1の場合は(Swap_If_Big_Endian)を変換する必要があります。したがって、IDLDE GUIで新しいProを作成し、擬似コードに従います。MichaelToddの読み取り上記の'は、UIdahoでのクラス演習へのリンクとともに、コードの構文を理解するのに役立ちます。次に、表示する配列内のバンドを決定することが唯一の問題になります。

回答

bsqまたはidlの経験はありませんが、gdalはbsqをサポートしているため、gdal_translateを使用してファイルをgeotiffに変換してみることができます。IDLはtifファイルの読み取りをサポートしているようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です