Библиотека ввода/вывода Matlab Mat
Matio-это библиотека C с открытым исходным кодом для чтения и написания двоичных файлов Matlab Mat. Эта библиотека предназначена для использования программами/библиотеками, которые не имеют доступа или не хотят полагаться на общие библиотеки Matlab.
Вы можете связаться с сопровождающим по электронной почте по адресу [email protected].
Следующие люди/организации помогли в разработке MATIO с помощью исправлений, отчетов об ошибках и/или тестирования:
Если вы заинтересованы в сотрудничестве, свяжитесь с сопровождающим по электронной почте (см. Раздел 1.1).
Вопросы могут быть заданы с использованием форумов на хостинге на сайте Sourceforge Matiing.
Ошибки, усовершенствования и т. Д. Должны быть отправлены с использованием одного из трекеров на странице Sourceforge.
В этом разделе описывается, как построить Matio. В разделе 2.1 описывается зависимости, раздел 2.2, как построить/тестировать MATIO, а раздел 2.3 документируют, что платформы Matio были проверены.
Матио имеет две дополнительные зависимости. Они не требуются для работы программного обеспечения, но без них некоторые файлы могут быть нечитаемыми. Zlib требуется для чтения/записи файлов уровня 5, которые используют сжатие. HDF5 должен работать с более новыми файлами матов, которые используют файлы HDF5-формата.
Чтобы поддержать сжатые файлы матов, требуется версия Zlib ≥ 1.2.3. Программное обеспечение Zlib может быть загружено с http://zlib.net/.
Поддержка Mat File версии 7.3 требует библиотеки HDF5. Эта библиотека может быть загружена с https://www.hdfgroup.org/. Matio требует версии HDF5 ≥ 1,8.x. Ни устаревшие функции API HDF5 1.6.x, ни функции более высокого уровня HDF5.
--with-default-api-version=v18 ).--with-default-api-version=v110 ), либо с устаревшей версией API 1.8 (т.е. --with-default-api-version=v18 ).--with-default-api-version=v112 ), либо с устаревшим API версией 1.10 (т.е. --with-default-api-version=v110 ) или с непредвиденным API версией 1.8 ( --with-default-api-version=v18 ).--with-default-api-version=v114 ), либо с устаревшим API версией 1.12 (т.е. --with-default-api-version=v112 ) или с ап-версией API 1.10 (ie-with --with-default-api-version=v110 -api-api- 1.8 ( --with-default-api-version=v18 ). Для окон можно использовать предварительно скомпилированные двоичные файлы, которые также включают DLL Zlib для удовлетворения зависимости Zlib. Для Ubuntu sudo apt install libhdf5-dev должен работать нормально.
Основным методом построения программного обеспечения является GNU AutoTools с использованием configure с последующей make . После строительства можно выполнить TestSuite для тестирования программного обеспечения с использованием make check . Программное обеспечение может быть установлено с помощью make install . Например,
git clone git://git.code.sf.net/p/matio/matio
cd matio
git submodule update --init # for datasets used in unit tests
./autogen.sh
./configure
make
make check
make installЕсли какой -либо из тестов в сбой в тесте, вы должны сообщить об отказе, используя трекер (см. Раздел 1.4). Вы должны прикрепить сгенерированный файл testsuite.log к отчету ошибки.
Скрипт Configure, используемый для создания программного обеспечения, занимает ряд вариантов. В этом разделе описывается ключевые параметры.
--enable-mat73=yes этот флаг включает поддержку файлов матов версии 7.3. Вариант имеет смысл, только если построен с HDF5 в качестве поддержки файлов версии 7.3. Он будет отключен, если HDF5 недоступен.--enable-extended-sparse=yes эта опция позволяет расширенную разреженную матричную типы данных, не поддерживаемых в Matlab. MATLAB поддерживает только разреженные данные с двумя рецептами. С помощью этого флага Matio будет читать разреженные данные с другими типами (т.е. с одной рецепцией и целочисленными типами).--with-matlab=DIR Этот параметр указывает каталог (dir) с помощью программы «matlab». С помощью этой опции TestSuite будет проверять, что файлы MAT, записанные MATIO, могут быть прочитаны в MATLAB. Без этого тест будет только проверять, что Matio может прочитать файл, написанный и в случае успеха, тест будет пропущен. Если Матио не сможет прочитать файл, тест не удастся.--with-zlib=DIR В этом параметре указано префикс, где установлен Zlib (см. Раздел 2.1.1 для получения информации о Zlib).--with-hdf5=DIR Этот параметр указывает префикс, в котором установлено программное обеспечение HDF5 (см. Раздел 2.1.2 для получения информации о HDF5).--with-default-file-ver=version Версия файла по умолчанию используется макросом MAT_CREATE и функцией MAT_CREATEVER, когда MAT_FT_DEFAULT используется для аргумента версии.--with-libdir-suffix=suffix Эта опция указывает суффикс для применения к библиотечным каталогам при установке и поиске зависимых библиотек (то есть HDF5 и Zlib). Например, некоторые многоаржевые дистрибутивы Linux устанавливают 64-разрядные библиотеки в LIB64 и 32-битные библиотеки в LIB. Система сборки Cmake поддерживается как альтернативная система сборки, которая обычно состоит из трех этапов для конфигурации, сборки и установки. По умолчанию проект CMAKE также настроен для тестирования с помощью CTEST. Например,
git clone git://git.code.sf.net/p/matio/matio
cd matio
git submodule update --init # for datasets used in unit tests
cmake .
cmake --build .
ctest --test-dir .
cmake --install .Доступны следующие варианты для построения с Cmake.
MATIO_USE_CONAN:BOOL=OFF Эта опция позволяет менеджеру пакетов CONAN разрешить библиотечные зависимости. Поддерживается только Conan 1.x.MATIO_DEFAULT_FILE_VERSION:STRING=5 Эта опция устанавливает версию файла по умолчанию (4,5,7.3), которая будет использоваться при написании.MATIO_EXTENDED_SPARSE:BOOL=ON этой опции позволяет расширенную разреженную матричную типы данных, не поддерживаемых в MATLAB.MATIO_MAT73:BOOL=ON этом флаге включает поддержку файлов MAT версии 7.3.MATIO_PIC:BOOL=ON этой опции позволяет независимый от положения код (PIC), то есть компиляция с флагом -fPIC . Это игнорируется для сборки Visual Studio.MATIO_SHARED:BOOL=ON этой опции создает библиотеку MATIO в качестве общего объекта (то есть библиотека динамических ссылок в Windows).MATIO_WITH_HDF5:BOOL=ON этой опции позволяет CMAKE проверить наличие библиотеки HDF5 (см. Раздел 2.1.2 для получения информации о HDF5).MATIO_WITH_ZLIB:BOOL=ON этой опции позволяет CMAKE проверить наличие библиотеки ZLIB (см. Раздел 2.1.1 для получения информации о ZLIB).MATIO_BUILD_TESTING:BOOL=ON этой опции позволяет MATIO TestSuite для CTEST.MATIO_ENABLE_CPPCHECK:BOOL=OFF Эта опция позволяет CMAKE ≥ 3.10 выполнить статический анализ с помощью CPPCHECK. Чтобы помочь Cmake найти библиотеки HDF5, установите переменную среды HDF5_DIR в каталог cmake/hdf5 (содержащий hdf5-config.cmake ) внутри каталога сборки или установки HDF5, или Call Cmake с -DHDF5_DIR="dir/to/hdf5/cmake/hdf5" . В качестве альтернативы вызовите Cmake с -DCMAKE_PREFIX_PATH="dir/to/hdf5/cmake" . Смотрите инструкции HDF5 для получения дополнительной информации. Использование hdf5-config рекомендуется использовать встроенный CMAKE FindHDF5 , особенно для статических сборок. Рекомендуется Cmake 3.10 или позже.
Visual Studio Solutions предоставляются в качестве MATIO_VS2008.SLN для VS2008 и как MATIO.SLN для VS2010 (и новее). Конфигурации отладки и выпуска обоих решений настроены для создания DLL библиотеки MATIO (libmatio.dll) и инструмента Matdump и предположить, что HDF5 доступен в каталоге, указанной с переменной среды HDF5_DIR. Предполагается, что общие библиотеки HDF5 (и Zlib) доступны. Если статические библиотеки HDF5 (и Zlib) установлены/построены макрос H5_BUILT_AS_STATIC_LIB необходимо определить (вместо H5_BUILT_AS_DYNAMIC_LIB ). Кроме того, создается конфигурация LIB LIB -либера, чтобы построить статическую LIB библиотеки MATIO (libmatio.lib) и предполагает, что статические библиотеки HDF5 (и Zlib) устанавливаются/построены.
TestSuite доступен при строительстве с AutoTools GNU. Чтобы запустить TestSuite, сначала настройте и создайте Matio. После строительства запустить make check , чтобы запустить тесты. Если Matio был построен без Zlib, сжатые переменные тесты будут пропущены. Если он будет построен без HDF5, будут пропущены тесты для файлов версии 7.3. Если путь к приложению MATLAB не был указан ( --with-matlab ), тесты на записи не удастся, если Matio не сможет прочитать файл и пропустить, если Matio может прочитать файл. Тесты на записи пройдут, если Matlab будет доступен, а также может прочитать файл.
Чтобы сообщить об отказе MATIO TestSuite, сжатие файла testSuite.log в тестовом подчинке каталога сборки. Загрузите сжатый файл журнала вместе с отчетом об ошибке (раздел 1.4 для информации о ошибках отчетности).
Библиотека была протестирована/использована на Linux, Windows и OS X, включая как маленькую архитектуру, так и большую архитектуру.
Это программное обеспечение предоставляется по упрощенной лицензии BSD. Смотрите файл копирования для получения подробной информации о лицензии.
Matlab является зарегистрированным товарным знаком MathWorks, Inc.