Biblioteca de E/S de archivo MATLAB MAT
Matio es una biblioteca C de código abierto para leer y escribir archivos binarios MATLAB MAT. Esta biblioteca está diseñada para usar programas/bibliotecas que no tienen acceso o no quieren confiar en las bibliotecas compartidas de Matlab.
Puede comunicarse con el mantenedor por correo electrónico a [email protected].
Las siguientes personas/organizaciones han ayudado en el desarrollo de Matio a través de parches, informes de errores y/o pruebas:
Si está interesado en colaboraciones, comuníquese con el mantenedor por correo electrónico (consulte la Sección 1.1).
Se pueden hacer preguntas utilizando los foros en el sitio de SourceForge Hosting Matio.
Los errores, mejoras, etc. deben enviarse utilizando uno de los rastreadores en la página SourceForge.
Esta sección describe cómo construir Matio. La Sección 2.1 describe las dependencias, la Sección 2.2 Cómo construir/probar MATIO, y la Sección 2.3 documentos en las que se ha probado las plataformas MATIO.
Matio tiene dos dependencias opcionales. Estos no son necesarios para que el software funcione, pero sin ellos algunos archivos pueden ser ilegibles. Se requiere ZLIB para leer/escribir archivos MAT de nivel 5 que usan compresión. Se requiere que HDF5 funcione con archivos MAT más nuevos que usan los archivos HDF5-format.
Para admitir archivos MAT comprimidos, se requiere la versión de ZLIB ≥ 1.2.3. El software ZLIB se puede descargar desde http://zlib.net/.
Soporte para el archivo MAT versión 7.3 requiere la biblioteca HDF5. Esta biblioteca se puede descargar de https://www.hdfgroup.org/. Matio requiere la versión HDF5 ≥ 1.8.x. Ni las funciones de API HDF5 1.6.X desactivadas ni las funciones de nivel superior HDF5 se llaman.
--with-default-api-version=v18 ).--with-default-api-version=v110 ) o con la versión API desactivada (es decir, --with-default-api-version=v18 ).--with-default-api-version=v112 ), o con la versión API desactivada 1.10 (es decir --with-default-api-version=v110 ) o con la versión de API deprimada 1.8 (iE --with-default-api-version=v18 ).--with-default-api-version=v114 ), o con la versión de API desaprobado 1.12 (es decir, --with-default-api-version=v112 ), o con la versión API deprimida 1.10 (IE-with-des --with-default-api-version=v110 ), o con la versión API deprimada 1.10 (IE-with-des-default-api-api-api- v110) o con la fis. 1.8 (es decir --with-default-api-version=v18 ). Para las ventanas, se pueden usar los binarios precompilados que también incluyen una DLL de ZLIB para satisfacer la dependencia de ZLIB. Para Ubuntu, sudo apt install libhdf5-dev debería funcionar bien.
El método principal para construir el software es con GNU AutoTools utilizando configure seguido de make . Después de la construcción, el testSuite se puede ejecutar para probar el software utilizando make check . El software se puede instalar utilizando make install . Por ejemplo,
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 installSi alguna de las pruebas en el testSuite falla, debe informar la falla utilizando el rastreador (consulte la Sección 1.4). Debe adjuntar el archivo testSuite.log generado al informe de errores.
El script de configuración utilizado para construir el software toma una serie de opciones. Esta sección describe las opciones clave.
--enable-mat73=yes este indicador habilita el soporte para los archivos MAT de la versión 7.3. La opción solo tiene sentido si se construye con HDF5 como soporte para archivos de la versión 7.3. Se deshabilitará si HDF5 no está disponible.--enable-extended-sparse=yes esta opción habilita los tipos de datos de matriz dispersos extendidos no compatibles en MATLAB. MATLAB solo admite datos dispersos de doble precisión. Con esta bandera, Matio leerá datos dispersos con otros tipos (es decir, precisión única y tipos de enteros).--with-matlab=DIR esta opción especifica el directorio (Dir) con el programa 'MATLAB'. Con esta opción, el TestSuite verificará que los archivos MAT escritos por Matio se puedan leer en MATLAB. Sin esto, la prueba solo verificará que Matio pueda leer el archivo escrito y, si tiene éxito, se omitirá la prueba. Si Matio no puede leer el archivo, la prueba fallará.--with-zlib=DIR Esta opción especifica el prefijo donde se instala ZLIB (consulte la Sección 2.1.1 para obtener información sobre ZLIB).--with-hdf5=DIR esta opción especifica el prefijo donde está instalado el software HDF5 (consulte la Sección 2.1.2 para obtener información sobre HDF5).--with-default-file-ver=version Esta opción establece la versión de archivo MAT predeterminada (4,5,7.3) que se usará al escribir. La versión de archivo predeterminada es utilizada por Mat_Create Macro y la función MAT_CREATEVER cuando MAT_FT_DEFAULT se usa para el argumento de la versión.--with-libdir-suffix=suffix Esta opción especifica un sufijo para aplicar a los directorios de la biblioteca al instalar y buscar bibliotecas dependientes (es decir, HDF5 y ZLIB). Por ejemplo, algunas distribuciones de Linux multi-arco instalan bibliotecas de 64 bits en bibliotecas Lib64 y 32 bits en LIB. El sistema de compilación CMake es compatible como un sistema de compilación alternativo, que generalmente consta de tres pasos para la configuración, la construcción y la instalación. Por defecto, el proyecto CMake también está configurado para probar con CTEST. Por ejemplo,
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 .Están disponibles las siguientes opciones específicas de Matio para la construcción con CMake.
MATIO_USE_CONAN:BOOL=OFF Esta opción permite que el Administrador de paquetes de Conan resuelva las dependencias de la biblioteca. Solo Conan 1.x es compatible.MATIO_DEFAULT_FILE_VERSION:STRING=5 Esta opción establece la versión de archivo MAT predeterminada (4,5,7.3) que se usará al escribir.MATIO_EXTENDED_SPARSE:BOOL=ON esta opción habilita los tipos de datos de matriz dispersos extendidos que no se admiten en MATLAB.MATIO_MAT73:BOOL=ON este indicador habilita el soporte para los archivos MAT de la versión 7.3.MATIO_PIC:BOOL=ON esta opción habilita el código independiente de posición (PIC), es decir, la compilación con el indicador -fPIC . Se ignora para las compilaciones de Visual Studio.MATIO_SHARED:BOOL=ON esta opción construye la biblioteca Matio como objeto compartido (es decir, una biblioteca de enlaces dinámicos en Windows).MATIO_WITH_HDF5:BOOL=ON esta opción permite que CMake verifique la disponibilidad de la biblioteca HDF5 (consulte la Sección 2.1.2 para obtener información sobre HDF5).MATIO_WITH_ZLIB:BOOL=ON esta opción permite que CMake verifique la disponibilidad de la biblioteca ZLIB (consulte la Sección 2.1.1 para obtener información sobre ZLIB).MATIO_BUILD_TESTING:BOOL=ON esta opción habilita el Matio TestSuite para CTEST.MATIO_ENABLE_CPPCHECK:BOOL=OFF Esta opción permite que CMake ≥ 3.10 realice un análisis estático con CPPCHECK. Para ayudar a CMake a encontrar las bibliotecas HDF5, establezca la variable de entorno HDF5_DIR en el directorio cmake/hdf5 (que contiene hdf5-config.cmake ) dentro del directorio de compilación o instalación HDF5, o llame a CMake con -DHDF5_DIR="dir/to/hdf5/cmake/hdf5" . Alternativamente, llame a cmake con -DCMAKE_PREFIX_PATH="dir/to/hdf5/cmake" . Consulte las instrucciones HDF5 para obtener más información. El uso de hdf5-config se recomienda sobre el uso de FindHDF5 incorporado de CMake, especialmente para compilaciones estáticas. Se recomienda CMake 3.10 o posterior.
Las soluciones de Visual Studio se proporcionan como MATIO_VS2008.SLN para VS2008 y como MATIO.SLN para VS2010 (y más nuevo). Las configuraciones de depuración y lanzamiento de ambas soluciones están configuradas para construir una DLL de la biblioteca Matio (libmatio.dll) y la herramienta Matdump y asumir que HDF5 está disponible en el directorio especificado por la variable de entorno HDF5_DIR. Se supone que las bibliotecas compartidas de HDF5 (y ZLIB) están disponibles. Si las bibliotecas estáticas de HDF5 (y ZLIB) se instalan/construyen la macro H5_BUILT_AS_STATIC_LIB debe definirse (en lugar de H5_BUILT_AS_DYNAMIC_LIB ). Además, la configuración de liberación de LIB de la solución VS2010 está configurada para construir una lib estática de la biblioteca Matio (libmatio.lib) y supone que las bibliotecas estáticas de HDF5 (y ZLIB) se instalan/construyen.
Un testSuite está disponible cuando se construye con los Autotools de GNU. Para ejecutar TestSuite, primero configure y cree Matio. Después de la ejecución de la construcción, make check para ejecutar TestSuite. Si Matio se construyó sin ZLIB, se omitirán las pruebas de variables comprimidas. Si se construye sin HDF5, se omitirán las pruebas para los archivos MAT de la versión 7.3. Si no se especificó la ruta a la aplicación MATLAB ( --with-matlab ), las pruebas de escritura fallarán si Matio no puede leer el archivo y omitir si Matio puede leer el archivo. Las pruebas de escritura pasarán si MATLAB está disponible y también puede leer el archivo.
Para informar las fallas de Matio TestSuite, comprimir el archivo testSuite.log en el subdirectorio de prueba del directorio de compilación. Cargue el archivo de registro comprimido junto con un informe de errores (consulte la Sección 1.4 para obtener información sobre errores de informes).
La biblioteca ha sido probada/utilizada en Linux, Windows y OS X, incluida la arquitectura de Little-Endian y Big-Endian.
Este software se proporciona bajo una licencia BSD simplificada. Consulte el archivo de copia para obtener detalles sobre la licencia.
Matlab es una marca registrada de MathWorks, Inc.