HDF (.hdf)

予備知識

    • MIMEタイプ:application/x-hdf
    • HDFデータ形式バージョン4.
    • 多次元データを表す汎用形式.
    • 科学データの保管,管理,交換に使われる.
    • HDFはHierarchical Data Formatの頭字語である.US National Center for Supercomputing Applications (NCSA)によって開発された.
    • バイナリファイル形式.
    • HDFバージョン5とは非互換である.

ImportとExport

  • Import["file.hdf"]はHDFファイルをインポートし,ファイルに保管されたデータの名前を返す.
  • Export["file.hdf",expr]は多次元配列をHDFファイルにエキスポートする.
  • Import["file.hdf"]はファイルに含まれる全データの名前を表す文字列のリストを返す.
  • Export["file.hdf",{expr1,},{"Datasets",{"/dataset1",}}]はHDFファイルを作成し,配列{expr1,}を別々のデータとして保管する.
  • Import["file.hdf",elem]はHDFファイルから指定の要素をインポートする.
  • Import["file.hdf",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.hdf",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポート形式はImport["file","HDF"]またはImport["file",{"HDF",elem,}]で指定できる.
  • Export["file.hdf",expr,elem]expr が要素elem を指定してるとしてHDFファイルを作成する.
  • Export["file.hdf",{expr1,expr2,},{{elem1,elem2,}}]は各expri が対応するelemi を指定しているとして扱う.
  • Export["file.hdf",expr,opt1->val1,]は指定の値を持つ指定のオプション要素でexpr をエキスポートする.
  • Export["file.hdf",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"配列のリストとしてインポートされた全データ
    "Datasets"全データ名
  • Importはデフォルトで"Datasets"要素をHDF形式に使用する.
  • データの指定と選択:
  • "Datasets",nn 番目のデータ
    "Datasets",dataset名前付きデータ
  • メタ情報要素:
  • "DataFormat"各データを表すのに使用する型
    "Dimensions"各データのデータ次元
  • "DataFormat"に使用できる値:
  • "Integer8"8ビット整数
    "Integer16"16ビット整数
    "Integer32"32ビット整数
    "UnsignedInteger8"8ビット符号なし整数
    "UnsignedInteger16"16ビット符号なし整数
    "UnsignedInteger32"32ビット符号なし整数
    "Real32"IEEE単精度数
    "Real64"IEEE倍精度数

オプション

  • Exportオプション:
  • "Append"False既存のファイルに追記するかどうか

例題

  (2)

ファイル中のデータの名前を示す:

データをインポートし,ラスタ画像として描画する:

カラースキームを指定してArrayPlotとして描画する:

カラー画像をラスタライズしてデータをHDFにエキスポートする:

乱数行列を作成し,HDFにエキスポートする:

生成されたファイルに含まれるデータを示す:

データをインポートする: