主要内容

属性(H5A)

元数据与数据集或组相关

描述

使用MATLAB®HDF5属性界面,H5A创建、读和写数据集和组属性,和访问信息。

HDF5属性是一个很小的元数据对象,描述了自然和/或使用主数据对象,这可能是一个数据集,组或指定数据类型。

功能

H5A.close

关闭指定的属性

H5A.close (attrID)终止访问指定的属性attrID,释放的标识符。

H5A.create

创建属性

attrID = H5A.create (locID、attname类型id, spaceID acplID)创建的属性名称attname这是附加到指定的对象locID。这个语法对应H5Acreate在1.6版本中HDF5 C库。

attrID = H5A.create (locID、attname类型id, spaceID acplID, aaplID)有额外的属性访问属性列表创建一个属性标识符aaplID。这个语法对应H5Acreate在1.8版本中HDF5 C库。

细节

H5A.delete

删除属性

H5A.delete (locID attname)删除指定的属性attname从数据集、组或指定的命名数据类型locID

H5A.get_info

属性信息

信息= H5A.get_info (attrID)返回指定的属性信息attrID

H5A.get_name

属性名称

attname = H5A.get_name (attrID)返回指定的属性的名称attrID

attname = H5A.get_name (attrID TextEncoding,编码)指定文本编码使用解释属性名称。

细节

H5A.get_space

本属性dataspace

dspaceID = H5A.get_space (attrID)返回一个副本dataspace指定的属性attrID

H5A.get_type

复制属性的数据类型

类型id = H5A.get_type (attrID)返回一个副本的数据类型属性指定的attrID

H5A.iterate

执行函数属性附加到对象

H5A.iterate (locID idx fnc)执行指定的函数为每个组的属性,数据集,或指定的命名数据类型locID。这个接口对应H5Aiterate1HDF5 C库函数。

细节

(状态、idxStop cdataOut) = H5A.iterate (fnc objID idxType,秩序,idxStart, cdataIn)执行指定的函数fnc为每个属性连接到一个对象。这个接口对应H5Aiterate2HDF5 C库函数。

细节

H5A.open

打开属性

attrID = H5A.open (objID attname)打开对象的一个属性指定一个父对象标识符objID和属性名称attname

attrID = H5A.open (objID attname aaplID)打开一个属性和一个属性访问属性列表标识符aaplID

细节

H5A.open_by_idx

打开属性指定的索引

attrID = H5A.open_by_idx (locID objname idxType,秩序,n)打开一个现有的索引属性n附加到一个对象指定的位置,locID的名字,objname

attrID = H5A.open_by_idx (locID objname idxType,秩序,n, aaplID, laplID)打开一个属性和一个属性访问属性列表标识符aaplID和链接访问属性列表标识符laplID

细节

H5A.open_by_name

打开属性指定的名字

attrID = H5A.open_by_name (locID objname attname)打开一个现有的属性附加到对象指定的位置locID和名称objname

attrID = H5A.open_by_name (locID objname、attname aaplID, laplID)打开一个现有的属性与属性访问属性列表标识符aaplID和链接访问属性列表标识符laplID

细节

H5A.read

读属性

attr = H5A.read (attrID)读取指定的属性attrID。MATLAB将确定适当的内存数据类型。

attr = H5A.read (attrID memtypeID)读取指定的属性attrID

细节

H5A.write

写属性

H5A.write (attrID类型id, buf)写缓冲区中的数据缓冲区到指定的属性attrID使用内存数据类型类型id

细节

例子

全部展开

读一个属性从根群HDF5文件到MATLAB的工作区中,删除它,然后关闭该文件。

创建一个可写的文件副本“example.h5”在当前目录中,打开新文件,它的根。

srcFile = fullfile (matlabroot,“工具箱”,matlab的,“演示”,“example.h5”);拷贝文件(srcFile“myfile.h5”);fileattrib (“myfile.h5”,' + w ');fid = H5F.open (“myfile.h5”,“H5F_ACC_RDWR”,“H5P_DEFAULT”);gid = H5G.open (fid,' / ');

打开属性attr1,读到工作区中,然后关闭它。

attr_id = H5A.open (gid,' attr1”);data = H5A.read (attr_id);H5A.close (attr_id);

删除属性从根群HDF5文件中,然后关闭根组和文件。

H5A.delete (gid,' attr1”);H5G.close (gid);H5F.close (fid);

创建一个属性在一个HDF5文件和写一个数据缓冲区。

创建一个HDF5文件命名myfile.h5

fid = H5F.create (“myfile.h5”);

创建一个属性创建属性列表标识符、数据类型标识符的类型“H5T_NATIVE_DOUBLE”和数据空间标识符的类型“H5S_SCALAR”

acpl = H5P.create (“H5P_ATTRIBUTE_CREATE”);type_id = H5T.copy (“H5T_NATIVE_DOUBLE”);space_id = H5S.create (“H5S_SCALAR”);

创建一个属性标识符attr_id,写一个数据缓冲的10.0到它。然后,关闭属性和HDF5文件。

attr_id = H5A.create (fid,“my_attr”type_id space_id, acpl);H5A.write (attr_id“H5ML_DEFAULT”,10.0)H5A.close (attr_id);H5F.close (fid);H5T.close (type_id);

打开每个属性的数据集和打印他们的名字。

打开数据集dset1.1.1在文件中example.h5

fid = H5F.open (“example.h5”);gid = H5G.open (fid,“/ g1 / g1.1”);dset_id = H5D.open (fid,' / g1 / g1.1 / dset1.1.1 ');信息= H5O.get_info (dset_id);

打开每个属性,打印它的名字,然后关闭它。

idx = 0:信息。num_attrs-1 attr_id =H5A.open_by_idx(gid,“dset1.1.1”,“H5_INDEX_NAME”,“H5_ITER_DEC”,idx);流(“属性名称:% s \ n”H5A.get_name (attr_id));H5A.close (attr_id);结束
属性名称:attr2属性名称:attr1
H5G.close (gid);H5F.close (fid);

版本历史

之前介绍过的R2006a