Main Content

hdf5read

(非推奨) HDF5 ファイルを読み取る

hdf5read は推奨されません。代わりに h5read を使用してください。

説明

data = hdf5read(filename,ds) は、HDF5 ファイル filename に含まれるデータセット ds のデータをすべて読み取ります。

attr = hdf5read(filename,attrname) は、HDF5 ファイル filename に含まれる属性 attrname のすべてのメタデータを読み取ります。

data = hdf5read(info) は、構造体 info で指定されたデータセットのすべてのデータを読み取ります。info 構造体は、hdf5info により返される出力です。

[data,attr] = hdf5read(___,Name,Value) は、前述の構文の入力引数のいずれかに加え、オプションの名前と値の引数を指定します。

入力引数

すべて折りたたむ

ファイル名。既存の HDF5 ファイルの名前を含む文字ベクトルまたは string スカラーとして指定します。

ファイルの場所によって、filename は次のいずれかの形式をとります。

場所

形式

現在のフォルダー

ファイル名を filename で指定します。

例: 'myFile.h5'

その他のフォルダー

ファイルが現在のフォルダーまたは MATLAB® パス上のフォルダーにない場合は、filename に絶対パス名または相対パス名を指定します。

例: 'C:\myFolder\myFile.h5'

例: 'myFolder\myFile.h5'

データセット名。HDF5 ファイル内のデータセットの絶対パス名を含む文字ベクトルまたは string スカラーとして指定します。

属性名。グループまたはデータセットに属している属性の絶対パス名が含まれる文字ベクトルまたは string スカラーとして指定します。

入力データ。構造体配列として指定します。info 構造体は、関数 hdf5info により返される出力です。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: 'ReadAttributes',true はそのデータセット内に含まれるすべての関連属性情報を読み取ります。

属性を読み取るかどうかを示すインジケーター。'ReadAttributes' と、true または false のいずれかで構成されるコンマ区切りのペアとして指定します。

true を指定した場合、hdf5read はそのデータセット内に含まれるすべての関連属性情報を読み取ります。'ReadAttributes' の既定値は false です。これにより、HDF5 ファイルからデータを読み取る際に属性情報が省かれます。

MATLAB 7.1 以前との互換性。'V71Dimensions' と、true または false のいずれかとで構成されるコンマ区切りのペアとして指定します。true を指定した場合、hdf5read はデータセットの最初の 2 次元を並べ替え、出力データセットの次元の順序が旧バージョンの hdf5read (MATLAB 7.1 [R14SP3] 以前) と整合するようにします。この動作は、HDF5 と MATLAB での配列の次元の表現方法の差を考慮するものでした。

'V71Dimensions' の既定値は false です。この場合、出力データの次元の順序は変更されません。

HDF5 ではデータセットの次元は行を優先して記述されますが、MATLAB では列を優先してデータが格納されます。ただし、これらの次元を置き換えると、データの意味が正しく反映されず、メタデータが無効になることがあります。'V71Dimensions'false に指定した場合、データの次元は、ファイルに書き込まれているようにデータ順を正しく反映します。つまり、出力変数の各次元は、ファイルの同じ次元に一致します。

例: 'V71Dimensions',true

出力引数

すべて折りたたむ

出力データ。hdf5read から多次元配列として返されます。

すべて折りたたむ

関数 hdf5info を使用して HDF5 ファイルの情報を取得し、関数 hdf5info により返される情報構造体 (hinfo) を使用してデータセットを指定して、関数 hdf5read を使用してデータセットを読み取ります。

hinfo = hdf5info('example.h5');
dset = hdf5read(hinfo.GroupHierarchy.Groups(2).Datasets(1));

ヒント

  • hdf5read で最高のパフォーマンスが得られるのは、数値データセットを読み取る場合です。文字列データセット、複合データセット、または可変長データセットを読み取る必要がある場合は、低水準の HDF5 インターフェイス関数 H5D.read を使用することを強くお勧めします。データセットのサブセットを読み取るには、関数 h5read または MATLAB HDF5 低水準インターフェイスを使用してください。

  • hdf5read は、可能な場合、HDF5 データ型をネイティブ MATLAB データ型にマッピングします。データを MATLAB データ型で表現できない場合、関数 hdf5read は、いずれかの HDF5 データ型オブジェクトを使用します。たとえば、HDF5 ファイルに、列挙データ型で構成されるデータセットが含まれている場合、関数 hdf5read は、hdf5.h5enum オブジェクトを使用して、MATLAB ワークスペースのデータを表現します。hdf5.h5enum オブジェクトには、列挙 (名前)、これらの対応値、および列挙されるデータを格納するデータ メンバーがあります。

バージョン履歴

R2006a より前に導入