Dataspace (H5S)

Размерность набора данных

Описание

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

Пространство данных HDF5 задает размер и форму набора данных или необработанных данных атрибута, и должно быть задано, когда набор данных или атрибут создаются.

Функции

H5S.copy

Создайте копию пространства данных

output = H5S.copy(spaceID) создает идентичную копию пространства данных, идентифицированного spaceID.

H5S.create

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

spaceID = H5S.create(spacetype) создает новый идентификатор пространства данных типа spacetype.

 Детали

H5S.close

Закройте пространство данных

H5S.close(spaceID) релизы и отключают доступ к пространству данных spaceID.

H5S.create_simple

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

spaceID = H5S.create_simple(rank,dims,maxdims) создает новое простое пространство данных и открывает его для доступа.

 Детали

H5S.extent_copy

Скопируйте степень от источника до целевого пространства данных

H5S.extent_copy(destID,srcID) копирует степень с исходного пространства данных srcID к целевому пространству данных destID.

H5S.get_regular_hyperslab

Получите регулярный выбор гиперплиты (начиная с R2021b)

[start,stride,count,block] = H5S.get_regular_hyperslab(spaceID) получает регулярный выбор гиперплиты.

 Детали

H5S.is_simple

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

output = H5S.is_simple(spaceID) возвращает положительное значение если пространство данных, заданное spaceID простое пространство данных, нуль, если это не, и отрицательная величина, чтобы указать на отказ.

H5S.is_regular_hyperslab

Определите, регулярен ли выбор гиперплиты (начиная с R2021b)

output = H5S.is_regular_hyperslab(spaceID) возвращает значение 1 если выбор гиперплиты сопоставлен с spaceID является регулярным, и 0 если это не. Значение -1 указывает на ошибку.

H5S.offset_simple

Установите смещение простого пространства данных

H5S.offset_simple(spaceID,offset) задает смещение простого пространства данных, заданного spaceID. Эта функция позволяет тому же имеющему форму выбору быть перемещенным в другие места в пространстве данных, не требуя, чтобы он был переопределен.

 Детали

H5S.select_all

Выберите целую степень пространства данных

H5S.select_all(spaceID) выбирает целую степень пространства данных, заданного spaceID.

H5S.select_elements

Задайте координаты, чтобы включать в выбор

H5S.select_elements(spaceID,op,coord) выбирает элементы массива, чтобы включать в выбор для пространства данных, заданного spaceID.

 Детали

H5S.select_hyperslab

Выберите область гиперплиты

H5S.select_hyperslab(spaceID,op,start,stride,count,block) выбирает область гиперплиты, чтобы добавить к текущей выбранной области для пространства данных, заданного spaceID.

 Детали

H5S.select_none

Сбросьте область выбора, чтобы не включать элементы

H5S.select_none(spaceID) сбрасывает область выбора для пространства данных spaceID не включать элементы.

H5S.select_valid

Определите валидность выбора

tf = H5S.select_valid(spaceID) возвращает положительное значение если выбор пространства данных, заданного spaceID в степени того пространства данных и 0 если это не. Отрицательная величина указывает на ошибку.

H5S.set_extent_none

Удалите степень из пространства данных

H5S.set_extent_none(spaceID) удаляет степень из пространства данных и устанавливает тип на H5S_NO_CLASS.

H5S.set_extent_simple

Установите размер пространства данных

H5S.set_extent_simple(spaceID,rank,dims,maxdims) устанавливает размер пространства данных, идентифицированного spaceID.

 Детали

H5S.get_select_bounds

Ограничительная рамка выбора пространства данных

[start,finish] = H5S.get_select_bounds(spaceID) возвращает координаты ограничительной рамки, содержащей текущий выбор.

 Детали

H5S.get_select_elem_npoints

Количество элемента указывает в выборе

numpoints = H5S.get_select_elem_npoints(spaceID) возвращает количество точек элемента в текущем выборе пространства данных.

H5S.get_select_elem_pointlist

Элемент указывает в выборе пространства данных

points = H5S.get_select_elem_pointlist(spaceID,start,numpoints) возвращает список точек элемента в текущем выборе пространства данных.

 Детали

H5S.get_select_hyper_blocklist

Список блоков гиперплиты

blocklist = H5S.get_select_hyper_blocklist(spaceID,start,numblocks) возвращает список блоков гиперплиты, в настоящее время выбранных.

 Детали

H5S.get_select_hyper_nblocks

Количество блоков гиперплиты

numblocks = H5S.get_select_hyper_nblocks(spaceID) возвращает количество блоков гиперплиты в текущем выборе пространства данных.

H5S.get_select_npoints

Число элементов в выборе пространства данных

numpoints = H5S.get_select_npoints(spaceID) возвращает число элементов в текущем выборе пространства данных.

H5S.get_select_type

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

selection = H5S.get_select_type(spaceID) возвращает тип выбора.

 Детали

H5S.get_simple_extent_dims

Возвратите размер пространства данных и максимальный размер

[numdims,dimsize,maxdims] = H5S.get_simple_extent_dims(spaceID) возвращает количество размерностей в пространстве данных, размере каждой размерности и максимальном размере каждой размерности.

 Детали

H5S.get_simple_extent_ndims

Возвратите ранг пространства данных

output = H5S.get_simple_extent_ndims(spaceID) возвращает размерность, также известную как rank, пространства данных.

H5S.get_simple_extent_npoints

Число элементов в пространстве данных

output = H5S.get_simple_extent_npoints(spaceID) возвращает число элементов в пространстве данных, заданном spaceID.

H5S.get_simple_extent_type

Возвратите класс пространства данных

spacetype = H5S.get_simple_extent_type(spaceID) возвращает класс пространства данных, заданного spaceID.

Примеры

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

Используйте H5S.get_simple_extent_dims функция, чтобы получить информацию о размерностях пространства данных.

fid = H5F.open('example.h5');
dset_id = H5D.open(fid,'/g2/dset2.2');
space_id = H5D.get_space(dset_id);
[ndims,h5_dims] = H5S.get_simple_extent_dims(space_id);
matlab_dims = fliplr(h5_dims);

Выберите гиперплиту с H5S.select_hyperslab функция и использование H5S.get_select_bounds функция, чтобы получить координаты выбора в пространстве данных space_id.

Создайте новое простое пространство данных и выберите гиперплиту.

dims = [100 200];
h5_dims = fliplr(dims);
space_id = H5S.create_simple(2,h5_dims,h5_dims);
start = fliplr([10 20]); block = fliplr([20 30]);
H5S.select_hyperslab(space_id,'H5S_SELECT_SET',start,[],[],block);
offset = fliplr([3 5]);
H5S.offset_simple(space_id,offset)

Запросите ограничительную рамку текущего выбора.

[start,finish] = H5S.get_select_bounds(space_id);
start = fliplr(start);
finish = fliplr(finish);

Выберите угловые точки пространства данных. В этом случае, h5_coord должен иметь размер 2x4.

dims = [100 200];
h5_dims = fliplr(dims);
space_id = H5S.create_simple(2,h5_dims,h5_dims);
coords = [0 0; 0 199; 99 0; 99 199];
h5_coords = fliplr(coords);
h5_coords = h5_coords';
H5S.select_elements(space_id,'H5S_SELECT_SET',h5_coords);

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

space_id = H5S.create('H5S_SIMPLE');
dims = [100 200];
h5_dims = fliplr(dims);
maxdims = [100 H5ML.get_constant_value('H5S_UNLIMITED')];
h5_maxdims = fliplr(maxdims);
H5S.set_extent_simple(space_id,2,h5_dims, h5_maxdims);
Представлено до R2006a