Преобразование HDF4 в синтаксис MATLAB

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

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

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

sd.endAccess(sdsID)

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

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

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

status = hdfan('end',an_id);

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

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

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

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

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

Задайте возвращаемые значения в том же порядке, как они появляются как выходные аргументы. Функциональное возвращаемое значение состояния всегда задается как последнее возвращаемое значение.

Была ли эта тема полезной?