Каждый 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);Укажите возвращаемые значения в том же порядке, в каком они отображаются в качестве выходных аргументов. Возвращаемое значение статуса функции всегда указывается как последнее возвращаемое значение.