exponenta event banner

Сопоставить HDF4 с синтаксисом MATLAB

Каждый API HDF4 включает множество отдельных подпрограмм, которые используются для чтения данных из файлов, записи данных в файлы и выполнения других связанных функций. Например, API HDF4 Scientific Data (SD) включает отдельные C-подпрограммы для открытия (SDopenЗакрытьSDend) и считывать данные (SDreaddata). Для API SD и API HDF-EOS GD и SW MATLAB ® предоставляет функции, которые соответствуют отдельным подпрограммам C в библиотеке HDF4. Эти функции реализованы в matlab.io.hdf4.sd, matlab.io.hdfeos.gd, и matlab.io.hdfeos.sw пакеты. Например, API SD включает подпрограмму C SDendaccess для закрытия набора данных HDF4:

status = SDendaccess(sds_id); /* C code */

Для вызова этой подпрограммы из MATLAB используйте функцию MATLAB, matlab.io.hdf4.sd.endAccess. Синтаксис аналогичен:

sd.endAccess(sdsID)

Для остальных поддерживаемых HDF4 API MATLAB предоставляет единую функцию, которая служит шлюзом для всех подпрограмм в конкретном HDF4 API. Например, API-интерфейс «Аннотации HDF» (AN) включает подпрограмму C ANend для завершения доступа к интерфейсу AN:

status = ANend(an_id); /* C code */

Чтобы вызвать эту подпрограмму из MATLAB, используйте функцию MATLAB, связанную с AN API, hdfan. Необходимо указать имя подпрограммы за вычетом акронима API в качестве первого аргумента и передать любые другие требуемые аргументы подпрограмме в том порядке, в котором они ожидаются. Например,

status = hdfan('end',an_id);

Некоторые HDF4 подпрограммы API используют выходные аргументы для возврата данных. Поскольку MATLAB не поддерживает выходные аргументы, необходимо указать эти аргументы в качестве возвращаемых значений.

Например, ANget_tagref подпрограмма возвращает тег и ссылочный номер аннотации в двух выходных аргументах, ann_tag и ann_ref. Вот код C:

status = ANget_tagref(an_id,index,annot_type,ann_tag,ann_ref);

Чтобы вызвать эту подпрограмму из MATLAB, измените выходные аргументы на возвращаемые значения:

[tag,ref,status] = hdfan('get_tagref',AN_id,index,annot_type);

Укажите возвращаемые значения в том же порядке, в каком они отображаются в качестве выходных аргументов. Возвращаемое значение статуса функции всегда указывается как последнее возвращаемое значение.