Reference (H5R)

Описание

Используйте MATLAB® Интерфейс ссылки HDF5, H5R, создать и получить доступ к информации о ссылках на объекты HDF5.

Функции

H5R.create

Создайте ссылку

ref = H5R.create(locID,objname,reftype,spaceID) создает ссылочный ref из типа, заданного в reftype указывание на объект задано objname и locID.

 Детали

H5R.dereference

Открытый объект задан ссылкой

output = H5R.dereference(dsID,reftype,ref) возвращает идентификатор в объект, заданный ref в наборе данных, заданном dsID. Этот синтаксис соответствует H5Rdereference интерфейс в версии 1.8 библиотеки HDF5 C.

output = H5R.dereference(dsID,plistID,reftype,ref) возвращает идентификатор в объект, заданный ref в наборе данных, заданном dsID и со списком свойств сложения plistID. Этот синтаксис соответствует H5Rdereference интерфейс в версии 1.10 библиотеки HDF5 C.

 Детали

H5R.get_name

Имя ссылочного объекта

name = H5R.get_name(locID,reftype,ref) возвращает имя объекта, идентифицированного ref из типа reftype расположенный в наборе данных или группе locID.

name = H5R.get_name(locID,reftype,ref,'TextEncoding',encoding) задает текстовое кодирование, чтобы использовать, чтобы интерпретировать ссылочное имя.

 Детали

H5R.get_obj_type

Тип ссылочного объекта

objtype = H5R.get_obj_type(locID,reftype,ref) возвращает тип объекта, на который указывает ссылка на объект. Этот синтаксис соответствует H5Rget_obj_type интерфейс в версии 1.8 библиотеки HDF5 C.

 Детали

H5R.get_region

Копия пространства данных заданной области

spaceID = H5R.get_region(fileID,reftype,ref) возвращает пространство данных с заданной выбранной областью. fileID используется, чтобы идентифицировать файл, содержащий область, на которую ссылаются, и может быть любой идентификатор для любого объекта в файле.

Примеры

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

Создайте набор данных с двойной точностью и ссылочный набор данных.

fid = H5F.create('myfile.h5');
type1_id = H5T.copy('H5T_NATIVE_DOUBLE');
dims = [10 5];
h5_dims = fliplr(dims);
h5_maxdims = h5_dims;
space1_id = H5S.create_simple(2,h5_dims,h5_maxdims);
dcpl = 'H5P_DEFAULT';
dset1_id = H5D.create(fid,'my_double',type1_id,space1_id,dcpl);
type2_id = 'H5T_STD_REF_OBJ';
space2_id = H5S.create('H5S_SCALAR');
dset2_id = H5D.create(fid,'my_ref',type2_id,space2_id,dcpl);
ref_data = H5R.create(fid,'my_double','H5R_OBJECT',-1);
dxpl = 'H5P_DEFAULT';
H5D.write(dset2_id,'H5ML_DEFAULT','H5S_ALL','H5S_ALL',dxpl,ref_data);
H5D.close(dset1_id);
H5D.close(dset2_id);
H5F.close(fid);

Используйте H5R.dereference возвратить идентификатор объекта с помощью ссылки на объект.

plist = 'H5P_DEFAULT';
space = 'H5S_ALL';
fid = H5F.open('example.h5');
dset_id = H5D.open(fid,'/g3/reference');
ref_data = H5D.read(dset_id,'H5T_STD_REF_OBJ',space,space,plist);
deref_dset_id = H5R.dereference(dset_id,'H5R_OBJECT',ref_data(:,1));
H5D.close(dset_id);
H5D.close(deref_dset_id);
H5F.close(fid);
Представлено до R2006a