Считайте данные из набора данных HDF5
data = H5D.read(dataset_id)
data = H5D.read(dataset_id,mem_type_id,mem_space_id,file_space_id,dxpl)
data = H5D.read(dataset_id)
читает целый набор данных, заданный dataset_id
.
data = H5D.read(dataset_id,mem_type_id,mem_space_id,file_space_id,dxpl)
читает набор данных, заданный dataset_id
. Вход mem_type_id
задает тип данных оперативной памяти и должен обычно быть 'H5ML_DEFAULT'
, чтобы позволить MATLAB® определять соответствующее значение. mem_space_id
описывает, как данные должны быть расположены в памяти и должны обычно быть 'H5S_ALL'
. Вход file_space_id
описывает, как данные должны быть выбраны из файла. Это также может быть дано как 'H5S_ALL'
, но это приводит к целому набору данных, считанному в память. dxpl
является идентификатором списка свойств передачи набора данных и должен обычно быть 'H5P_DEFAULT'
.
Библиотека HDF5 использует упорядоченное расположение C-стиля для многомерных массивов, в то время как MATLAB использует упорядоченное расположение FORTRAN-style. Консультируйтесь "Используя Низкоуровневые HDF5 Функции MATLAB" в документации MATLAB для получения дополнительной информации.
Считайте целый набор данных.
fid = H5F.open('example.h5'); dset_id = H5D.open(fid,'/g1/g1.1/dset1.1.1'); data = H5D.read(dset_id); H5D.close(dset_id); H5F.close(fid);
Читайте 2x3 гиперплита, запускающаяся в 4-й строке и 5-м столбце набора данных в качестве примера.
plist = 'H5P_DEFAULT'; fid = H5F.open('example.h5'); dset_id = H5D.open(fid,'/g1/g1.1/dset1.1.1'); dims = fliplr([2 3]); mem_space_id = H5S.create_simple(2,dims,[]); file_space_id = H5D.get_space(dset_id); offset = fliplr([3 4]); block = fliplr([2 3]); H5S.select_hyperslab(file_space_id,'H5S_SELECT_SET',offset,[],[],block); data = H5D.read(dset_id,'H5ML_DEFAULT',mem_space_id,file_space_id,plist); H5D.close(dset_id); H5F.close(fid);