2013-07-29 20 views
5

私はリモートセンシングでプロジェクトを行っています。 MATLABでのHDFの操作は非常に簡単です。しかし、私はグリッドコンピューティング(Ubuntu)でこれを実装したい。だから私はオクターブで試しています。私はクロロフィルのHDF4ファイルを持っています。通常の画像処理はオクターブ単位で簡単に行えます。しかし、私はOctaveのhdfread、hdftoolについて知りたい。私はオクターブのイメージの中にイメージパッケージを追加しました。誰も私にどのように読んで、どのようにhdfデータで作業するか教えてもらえますか?追加するパッケージはありますか?私にこれを知らせてください。Octaveでhdfデータを読む方法

HDFデータ
  • をロードする方法HDFデータから画像を取得する方法をどのようにHDFデータを読み取るために
  • +0

    'hdfread'と' hdftool'はまだOctaveで実装されていません(私はバージョン3.6.4を見ています)... –

    答えて

    2

    HDF5の場合、Octaveは追加パッケージなしでロードできます。

    HDF4の場合、h4tonccfまたはOPeNDDAP hdf4_handlerを使用してNetCDFファイルに変換し、Octaveのoctcdfパッケージを通じてNetCDFコール経由でロードできます。ここでは、完全なオクターブのソースコードとの完全な例を提供します。

    http://hdfeos.org/software/octave.php

    以下はOPeNDAP経由オクターブで作成したサンプルNASA HDF4プロットです。私はあなたが、例えば、appropriate conversion toolsとHDF5するHDF4データを変換することができると信じて

    Octave's plot of NASA AIRS HDF4 product

    +0

    ご返信ありがとうございます。 – prabu

    1

    HDF特定の機能はまだオクターブで実装されていません。しかし、Octaveは標準のloadコマンドでその形式を扱うことができます。ちょうどload path-to-hdf-fileを実行すれば、構造体をメモリにロードします。

    ヘルプメールアーカイブの記事を参照してください。How to read HDF dataおよびread data subsets from HDF5

    +0

    ありがとうございました。私はすでにこれをしています。しかし、それはエラーが付属しています。もしオクターブがhdf4とその操作をサポートしていれば、matlabを使う代わりに、私にとっては非常に役に立ちます。 – prabu

    +0

    @prabu人々にあなたを手伝ってもらうためには、取得するエラー(とOctaveバージョン)を指定する必要があります。 – carandraug

    0

    h4toh5

    $ h5dump secondhdf5.h5 
    HDF5 "secondhdf5.h5" { 
    GROUP "/" { 
        DATASET "dbldata" { 
         DATATYPE H5T_IEEE_F64LE 
         DATASPACE SIMPLE { (3, 4)/(3, 4) } 
         DATA { 
         (0,0): 1.1, 1.2, 1.3, 1.4, 
         (1,0): 2.1, 2.2, 2.3, 2.4, 
         (2,0): 3.1, 3.2, 3.3, 3.4 
         } 
        } 
        DATASET "fltdata" { 
         DATATYPE H5T_IEEE_F32LE 
         DATASPACE SIMPLE { (3, 4)/(3, 4) } 
         DATA { 
         (0,0): 1.1, 1.2, 1.3, 1.4, 
         (1,0): 2.1, 2.2, 2.3, 2.4, 
         (2,0): 3.1, 3.2, 3.3, 3.4 
         } 
        } 
        DATASET "intdata" { 
         DATATYPE H5T_STD_I32BE 
         DATASPACE SIMPLE { (3, 4)/(3, 4) } 
         DATA { 
         (0,0): 1, 2, 3, 4, 
         (1,0): 5, 6, 7, 8, 
         (2,0): 9, 10, 11, 12 
         } 
        } 
    } 
    } 
    
    を:.h5ファイル(プラスチェック)をロードするためのオクターブで

    は、同じくらい簡単です:次のようにところで

    octave:1> load secondhdf5.h5 
    octave:2> whos 
    Variables in the current scope: 
    
        Attr Name   Size      Bytes Class 
        ==== ====   ====      ===== ===== 
         dbldata  4x3       96 double 
         fltdata  4x3       96 double 
         intdata  4x3       48 int32 
    
    Total is 36 elements using 240 bytes 
    
    octave:3> size(dbldata) 
    ans = 
    
        4 3 
    

    、 'secondhdf5.h5' の内容でした

    1

    OctaveでのHDF5サポート< = 4.0は、Octave自体がSimple File IO機能を使用して作成したファイルのみを対象としています。単一の任意のデータセットまたはその一部を読み取ることができないなど、データが他の場所から来る場合は、多くの欠点があります。より完全かつ/書き込みデータセットと属性を読み取るMatlabの互換性の機能のために現時点では

    https://github.com/stegro/hdf5oct

    編集モジュールを参照してください:私はこのプロジェクトに貢献しました。

    +0

    プロジェクトとの提携を開示してください。それ以外の場合は、あなたの投稿が間違っている可能性のある広告またはスパムとみなされる可能性があります。 – skuntsel

    関連する問題