Attribute (H5A)

Метаданные сопоставлены с наборами данных или группами

Описание

Используйте MATLAB® HDF5 приписывают интерфейс, H5A, чтобы создать, читайте, и набор данных записи и атрибуты группы и информация о доступе о них.

Атрибут HDF5 является маленьким объектом метаданных, который описывает природу и/или предназначенное использование объекта первичных данных, который может быть набором данных, группой или названным типом данных.

Функции

H5A.close

Закройте заданный атрибут

H5A.close(attrID) отключает доступ к атрибуту, заданному attrID, выпуск идентификатора.

H5A.create

Создайте атрибут

attrID = H5A.create(locID,attname,typeID,spaceID,acplID) создает атрибут с именем attname это присоединено к объекту, заданному locID. Этот синтаксис соответствует H5Acreate в версии 1.6 библиотеки HDF5 C.

attrID = H5A.create(locID,attname,typeID,spaceID,acplID,aaplID) создает атрибут с дополнительным идентификатором списка свойств доступа к атрибуту aaplID. Этот синтаксис соответствует H5Acreate в версии 1.8 библиотеки HDF5 C.

 Детали

H5A.delete

Удалите атрибут

H5A.delete(locID,attname) удаляет атрибут, заданный attname от набора данных группа или названный тип данных задана locID.

H5A.get_info

Информация об атрибуте

info = H5A.get_info(attrID) возвращает информацию об атрибуте, заданном attrID.

H5A.get_name

Название атрибута

attname = H5A.get_name(attrID) возвращает имя атрибута, заданного attrID.

attname = H5A.get_name(attrID,'TextEncoding',encoding) задает текстовое кодирование, чтобы использовать, чтобы интерпретировать название атрибута.

 Детали

H5A.get_space

Копия пространства данных атрибута

dspaceID = H5A.get_space(attrID) возвращает копию пространства данных для атрибута, заданного attrID.

H5A.get_type

Копия типа данных атрибута

typeID = H5A.get_type(attrID) возвращает копию типа данных для атрибута, заданного attrID.

H5A.iterate

Выполните функцию для атрибутов, присоединенных к объекту

H5A.iterate(locID,idx,fnc) выполняет заданную функцию для каждого атрибута группы, набора данных или названного типа данных, заданного locID. Этот интерфейс соответствует H5Aiterate1 функция в библиотеке HDF5 C.

 Детали

[status,idxStop,cdataOut] = H5A.iterate(objID,idxType,order,idxStart,fnc,cdataIn) выполняет заданный функциональный fnc для каждого атрибута, соединенного с объектом. Этот интерфейс соответствует H5Aiterate2 функция в библиотеке HDF5 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,order,n) открывает существующий атрибут в индексе n присоединенный к объекту, заданному его местоположением, locID, и имя, objname.

attrID = H5A.open_by_idx(locID,objname,idxType,order,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,typeID,buf) написали данные в буферном buf в атрибут, заданный attrID использование типа данных памяти typeID.

 Детали

Примеры

развернуть все

Считайте атрибут из корневой группы файла HDF5 в рабочее пространство MATLAB, удалите его, затем закройте файл.

Создайте writeable копию файла 'example.h5' в текущем каталоге, и открытый новый файл и его корневая группа.

srcFile = fullfile(matlabroot,'toolbox','matlab','demos','example.h5');
copyfile(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');
info = H5O.get_info(dset_id);

Откройте каждый атрибут, распечатайте его имя, затем закройте его.

for idx = 0:info.num_attrs-1

	attr_id =H5A.open_by_idx(gid,'dset1.1.1','H5_INDEX_NAME','H5_ITER_DEC',idx);
	fprintf('attribute name:  %s\n',H5A.get_name(attr_id));
	H5A.close(attr_id);
end
attribute name:  attr2
attribute name:  attr1
H5G.close(gid);
H5F.close(fid);
Представлено до R2006a