Dataset (H5D)

Многомерные массивы элементов данных и метаданных поддержки

Описание

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

Набор данных HDF5 является объектом, состоявшим из набора элементов данных, или необработанные данные и метаданные, которые хранят описание элементов данных, формата данных и всей другой информации, необходимой для записи, читают и интерпретируют хранимые данные.

Функции

H5D.close

Закрыть набор данных

H5D.close(dsID) доступ к концам к набору данных задан dsID и высвобождает средства, используемые им.

H5D.create

Создайте новый набор данных

dsID = H5D.create(locID,dsname,typeID,spaceID,dcplID) создает набор данных с именем dsname в файле или в группе задан locID. Этот синтаксис соответствует H5Dcreate1 интерфейс в версии 1.6 библиотеки HDF5 C.

dsID = H5D.create(locID,dsname,typeID,spaceID,lcplID,dcplID,daplID) создает набор данных с тремя идентификаторами списка свойств, lcplID, dcplID, и daplID. Этот синтаксис соответствует H5Dcreate2 интерфейс в версии 1.8 библиотеки HDF5 C.

 Детали

H5D.flush

Сбросьте все буферы данных к диску (начиная с R2021b)

H5D.flush(dsID) причины все буферы для набора данных сопоставили с идентификатором dsID быть сразу сброшенным к диску, не удаляя данные из кэша.

H5D.get_access_plist

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

plistID = H5D.get_access_plist(dsID) возвращается идентификатор к копии списка свойств доступа к набору данных раньше открывал набор данных, заданный dsID.

H5D.get_create_plist

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

plistID = H5D.get_create_plist(dsID) возвращает идентификатор в копию списка свойств создания набора данных для набора данных, заданного dsID.

H5D.get_offset

Местоположение набора данных в файле

offset = H5D.get_offset(dsID) возвращает местоположение в файле набора данных, заданного dsID. Местоположение описывается как смещение, в байтах, с начала файла.

H5D.get_space

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

dspaceID = H5D.get_space(dsID)возвращает идентификатор для копии пространства данных для набора данных, заданного dsID.

H5D.get_space_status

Определите, выделено ли место

status = H5D.get_space_status(dsID) определяет, было ли место выделено для набора данных, заданного dsID.

H5D.get_storage_size

Определите требуемый размер ресурса хранения

dsetsize = H5D.get_storage_size(dsID) возвращает сумму устройства хранения данных, которое требуется для набора данных, заданного dsID.

H5D.get_type

Копия типа данных

typeID = H5D.get_type(dsID) возвращает идентификатор для копии типа данных для набора данных, заданного dsID.

H5D.open

Открытый заданный набор данных

dsID = H5D.open(locID,dsname) открывает набор данных, заданный dsname в файле или группе, заданной locID.

dsID = H5D.open(locID,dsname,daplID) открывает набор данных, заданный dsname в файле или группе, заданной locID со списком свойств доступа к набору данных, заданным daplID.

 Детали

H5D.read

Считайте данные из набора данных HDF5

data = H5D.read(dsID) читает набор данных в целом, заданный dsID.

data = H5D.read(dsID,memtypeID,memspaceID,filespaceID,dxplID) читает набор данных, заданный dsID дополнительными параметрами.

 Детали

H5D.refresh

Очистите и перезагрузите все буферы данных (начиная с R2021b)

H5D.refresh(dsID) очищает все буферы, сопоставленные с набором данных dsID и сразу перезагружает их с обновленным содержимым от диска.

H5D.set_extent

Измените размер размерностей набора данных

H5D.set_extent(dsID,extents) изменяет размерности набора данных, заданного dsID к размерам, заданным в extents.

 Детали

H5D.vlen_get_buf_size

Определите требования устройства хранения данных переменной длины

size = H5D.vlen_get_buf_size(dsID,typeID,spaceID) определяет количество байтов, требуемых хранить данные переменной длины от набора данных, заданного dsID.

 Детали

H5D.write

Запишите данные к набору данных HDF5

H5D.write(dsID,memtypeID,memspaceID,filespaceID,dxplID,buf) пишет набор данных, заданный dsID от буфера памяти приложения buf в файл.

 Детали

Примеры

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

Выберите гиперплиту данных и запишите его в набор данных.

Создайте writeable копию файла example.h5.

srcFile = fullfile(matlabroot,'toolbox','matlab','demos','example.h5');
copyfile(srcFile,'myfile.h5');
fileattrib('myfile.h5','+w');
plist = 'H5P_DEFAULT';
fid = H5F.open('myfile.h5','H5F_ACC_RDWR',plist);

Откройте набор данных.

% Open the dataset
dset_id = H5D.open(fid,'/g4/world');
start = [15 5];
h5_start = fliplr(start);
block = [10 5];
h5_block = fliplr(block);
mem_space_id = H5S.create_simple(2,h5_block,[]);

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

dspace_id = H5D.get_space(dset_id);
H5S.select_hyperslab(dspace_id,'H5S_SELECT_SET',h5_start,[],[],h5_block);
data = rand(block);

Запишите выбранную гиперплиту в набор данных.

% Write to the dataset
H5D.write(dset_id,'H5ML_DEFAULT',mem_space_id,dspace_id,plist,data);
H5D.close(dset_id);
H5F.close(fid);

Откройте набор данных в файле HDF5 и измените его размерности.

Создайте 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');

Откройте набор данных и измените размер его размерностей.

dset_id = H5D.open(fid,'/g4/time');
H5D.set_extent(dset_id,20);
H5D.close(dset_id);
H5F.close(fid);

Считайте набор данных в целом из файла HDF5.

Откройте файл example.h5 и набор данных /g1/g1.1/dset1.1.1.

fid = H5F.open('example.h5'); 
dset_id = H5D.open(fid,'/g1/g1.1/dset1.1.1');

Считайте набор данных в целом dset_id.

data = H5D.read(dset_id);
H5D.close(dset_id);
H5F.close(fid);

Читайте 2x3 гиперплита данных из набора данных, запускающегося в 4-й строке и 5-м столбце набора данных в качестве примера.

Создайте идентификатор списка свойств, затем откройте файл HDF5 и набор данных /g1/g1.1/dset1.1.1.

plist = 'H5P_DEFAULT';
fid = H5F.open('example.h5'); 
dset_id = H5D.open(fid,'/g1/g1.1/dset1.1.1');

Создайте 2 x 3 простых пространства данных. Затем создайте копию идентификатора пространства данных набора данных.

dims = fliplr([2 3]);
mem_space_id = H5S.create_simple(2,dims,[]);
dspace_id = H5D.get_space(dset_id);
offset = fliplr([3 4]);
block = fliplr([2 3]);

Выберите гиперплиту из набора данных, затем считайте его.

H5S.select_hyperslab(dspace_id,'H5S_SELECT_SET',offset,[],[],block);
data = H5D.read(dset_id,'H5ML_DEFAULT',mem_space_id,dspace_id,plist);
H5D.close(dset_id);
H5F.close(fid);

Создайте 10x5 набор данных двойной точности с настройками списка свойств по умолчанию.

Создайте файл HDF5 myfile.h5, и идентифицируйте тип данных.

fid = H5F.create('myfile.h5');
type_id = H5T.copy('H5T_NATIVE_DOUBLE');

Создание 10x5 простое пространство данных и набор данных с идентификатором dset_id.

dims = [10 5];
h5_dims = fliplr(dims);
h5_maxdims = h5_dims;
space_id = H5S.create_simple(2,h5_dims,h5_maxdims);
dcpl = 'H5P_DEFAULT';
dset_id = H5D.create(fid,'DS',type_id,space_id,dcpl);

Закройте идентификаторы.

H5S.close(space_id);
H5T.close(type_id);
H5D.close(dset_id);
H5F.close(fid);
h5disp('myfile.h5');

Создайте 6x3 набор данных строки фиксированной длины. Каждая строка будет иметь продолжительность 4 символов.

Создайте файл HDF5 myfile.h5, и идентифицируйте тип данных.

fid = H5F.create('myfile_strings.h5');
type_id = H5T.copy('H5T_C_S1');

Создайте 6x3 простое пространство данных и размер строки фиксированной длины 4 байтов.

H5T.set_size(type_id,4);
dims = [6 3];
h5_dims = fliplr(dims);
h5_maxdims = h5_dims;
space_id = H5S.create_simple(2,h5_dims,h5_maxdims);
dcpl = 'H5P_DEFAULT';

Создайте набор данных, затем закройте все идентификаторы.

dset_id = H5D.create(fid,'DS',type_id,space_id,dcpl);
H5S.close(space_id);
H5T.close(type_id);
H5D.close(dset_id);
H5F.close(fid);
h5disp('myfile_strings.h5');
Представлено до R2006a