Bibliothèque d'E / S de fichier MATLAB MAT
Matio est une bibliothèque C open-source pour lire et écrire des fichiers Binary MATLAB MAT. Cette bibliothèque est conçue pour être utilisée par des programmes / bibliothèques qui n'ont pas accès ou qui ne souhaitent pas compter sur les bibliothèques partagées de Matlab.
Vous pouvez contacter le responsable par e-mail à [email protected].
Les personnes / organisations suivantes ont contribué au développement de Matio grâce à des correctifs, des rapports de bogues et / ou des tests:
Si vous êtes intéressé par les collaborations, contactez le responsable par e-mail (voir la section 1.1).
Des questions peuvent être posées en utilisant les forums du site Sourceforge hébergeant Matio.
Les bogues, les améliorations, etc. doivent être soumis à l'aide de l'un des trackers sur la page SourceForge.
Cette section décrit comment construire Matio. La section 2.1 décrit les dépendances, la section 2.2 Comment construire / tester Matio et la section 2.3 documente sur laquelle Matio a été testé.
Matio a deux dépendances facultatives. Ceux-ci ne sont pas requis pour que le logiciel fonctionne, mais sans eux, certains fichiers peuvent être illisibles. ZLIB est nécessaire pour lire / écrire des fichiers MAT de niveau 5 qui utilisent la compression. HDF5 est requis pour travailler avec des fichiers de tapis plus récents qui utilisent les fichiers HDF5-format.
Pour prendre en charge les fichiers de tapis compressés, la version ZLIB ≥ 1.2.3 est requise. Le logiciel ZLIB peut être téléchargé à partir de http://zlib.net/.
Prise en charge du fichier MAT La version 7.3 nécessite la bibliothèque HDF5. Cette bibliothèque peut être téléchargée à partir de https://www.hdfgroup.org/. Matio nécessite la version HDF5 ≥ 1.8.x. Ni les fonctions API HDF5 1.6.x dépréciées ni les fonctions de niveau supérieur HDF5 ne sont appelées.
--with-default-api-version=v18 ).--with-default-api-version=v110 ) ou avec API DÉCRÉCÉDÉE 1.8 (c'est-à-dire --with-default-api-version=v18 ).--with-default-api-version=v112 ), ou avec API obsolète version 1.10 (c'est --with-default-api-version=v110 dire --with-default-api-version=v18 ) ou avec API verscré.--with-default-api-version=v114 ), ou avec une API dépréciée version 1.12 (c'est --with-default-api-version=v112 --with-default-api-version=v110 ) ORS. 1.8 (c'est-à-dire --with-default-api-version=v18 ). Pour Windows, les binaires pré-compilés peuvent être utilisés qui incluent également une DLL de ZLIB pour satisfaire la dépendance ZLIB. Pour Ubuntu, sudo apt install libhdf5-dev devrait bien fonctionner.
La principale méthode de création du logiciel est avec GNU Autotools à l'aide de configure suivie de make . Après la construction, la rédaction de tests peut être exécutée pour tester le logiciel à l'aide make check . Le logiciel peut être installé à l'aide de make install . Par exemple,
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 l'un des tests de la réalisation de Testsuite échoue, vous devez signaler la défaillance à l'aide du tracker (voir la section 1.4). Vous devez joindre le fichier TestSuite.log généré au rapport de bogue.
Le script de configuration utilisé pour créer le logiciel prend un certain nombre d'options. Cette section décrit les options clés.
--enable-mat73=yes ce drapeau permet la prise en charge des fichiers MAT de la version 7.3. L'option n'a de sens que si elle est construite avec HDF5 comme prise en charge des fichiers de version 7.3. Il sera désactivé si HDF5 n'est pas disponible.--enable-extended-sparse=yes Cette option permet les types de données de matrice clairsemés étendus non pris en charge dans MATLAB. MATLAB ne prend en charge que les données clairsemées à double précision. Avec ce drapeau, Matio lira des données clairsemées avec d'autres types (c'est-à-dire des types de précision et entière).--with-matlab=DIR cette option spécifie le répertoire (dir) avec le programme 'MATLAB'. Avec cette option, le Testsuite vérifiera que les fichiers de MAT écrits par Matio peuvent être lus dans MATLAB. Sans cela, le test vérifie que Matio peut lire le fichier écrit et en cas de succès, le test sera ignoré. Si Matio ne peut pas lire le fichier, le test échouera.--with-zlib=DIR cette option spécifie le préfixe où ZLIB est installé (voir la section 2.1.1 pour des informations sur ZLIB).--with-hdf5=DIR Cette option spécifie le préfixe où le logiciel HDF5 est installé (voir la section 2.1.2 pour plus d'informations sur HDF5).--with-default-file-ver=version Cette option définit la version de fichier de mat par défaut (4,5,7.3) qui sera utilisée lors de l'écriture. La version de fichier par défaut est utilisée par la macro MAT_CREATE et la fonction MAT_CREATEVER lorsque MAT_FT_DEFAULT est utilisée pour l'argument de la version.--with-libdir-suffix=suffix Cette option spécifie un suffixe pour s'appliquer aux répertoires de bibliothèque lors de l'installation et de la recherche de bibliothèques dépendantes (c'est-à-dire HDF5 et ZLIB). Par exemple, certaines distributions Linux multi-Archs installent des bibliothèques 64 bits dans des bibliothèques Lib64 et 32 bits dans LiB. Le système de construction CMake est pris en charge comme un système de construction alternatif, qui se compose généralement de trois étapes pour la configuration, la construction et l'installation. Par défaut, le projet CMake est également configuré pour les tests avec CTEST. Par exemple,
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 .Les options spécifiques à Matio suivantes pour la construction avec CMake sont disponibles.
MATIO_USE_CONAN:BOOL=OFF Cette option permet au gestionnaire de package Conan de résoudre les dépendances de la bibliothèque. Seul Conan 1.x est pris en charge.MATIO_DEFAULT_FILE_VERSION:STRING=5 Cette option définit la version de fichier de mat par défaut (4,5,7.3) qui sera utilisée lors de l'écriture.MATIO_EXTENDED_SPARSE:BOOL=ON cette option permet des types de données de matrice clairsemés étendus non pris en charge dans MATLAB.MATIO_MAT73:BOOL=ON cet drapeau permet la prise en charge des fichiers MAT de la version 7.3.MATIO_PIC:BOOL=ON cette option permet le code indépendant de position (PIC), c'est-à-dire la compilation avec l'indicateur -fPIC . Il est ignoré pour les constructions Visual Studio.MATIO_SHARED:BOOL=ON cette option construit la bibliothèque matio en tant qu'objet partagé (c'est-à-dire une bibliothèque de liens dynamiques sur Windows).MATIO_WITH_HDF5:BOOL=ON cette option permet à CMake de vérifier la disponibilité de la bibliothèque HDF5 (voir la section 2.1.2 pour des informations sur HDF5).MATIO_WITH_ZLIB:BOOL=ON cette option permet à CMake de vérifier la disponibilité de la bibliothèque ZLIB (voir la section 2.1.1 pour des informations sur ZLIB).MATIO_BUILD_TESTING:BOOL=ON cette option permet à la rédaction de test matio pour ctest.MATIO_ENABLE_CPPCHECK:BOOL=OFF cette option permet à Cmake ≥ 3,10 d'effectuer une analyse statique avec CPPCHECK. Pour aider CMake à trouver les bibliothèques HDF5, définissez la variable d'environnement HDF5_DIR dans le répertoire cmake/hdf5 (contenant hdf5-config.cmake ) à l'intérieur du répertoire de construction ou d'installation HDF5, ou appelez Cmake avec -DHDF5_DIR="dir/to/hdf5/cmake/hdf5" . Alternativement, appelez cmake avec -DCMAKE_PREFIX_PATH="dir/to/hdf5/cmake" . Voir les instructions HDF5 pour plus d'informations. L'utilisation de hdf5-config est recommandée sur l'utilisation de FindHDF5 intégrée de CMake, en particulier pour les versions statiques. CMake 3.10 ou ultérieure est recommandé.
Les solutions Visual Studio sont fournies sous le nom de Matio_VS2008.SLN pour VS2008 et Matio.Sln pour VS2010 (et plus récent). Les configurations de débogage et de version des deux solutions sont configurées pour créer une DLL de la bibliothèque Matio (libmatio.dll) et l'outil Matdump et supposer HDF5 est disponible dans le répertoire spécifié par la variable d'environnement HDF5_DIR. On suppose que les bibliothèques partagées de HDF5 (et ZLIB) sont disponibles. Si les bibliothèques statiques de HDF5 (et ZLIB) sont installées / construites, la macro H5_BUILT_AS_STATIC_LIB doit être définie (au lieu de H5_BUILT_AS_DYNAMIC_LIB ). En outre, la configuration Lib Lib de la solution VS2010 est configurée pour créer une lib statique de la bibliothèque Matio (libmatio.lib) et suppose que les bibliothèques statiques de HDF5 (et ZLIB) sont installées / construites.
Une suite de tests est disponible lors de la construction avec le GNU Autotools. Pour exécuter le testsuite, configurez et créez d'abord Matio. Après la construction de la construction, make check pour exécuter la suite de tests. Si Matio a été construit sans ZLIB, les tests de variables compressés seront ignorés. S'il est construit sans HDF5, les tests pour les fichiers MAT de la version 7.3 seront ignorés. Si le chemin d'accès à l'application MATLAB n'a pas été spécifié ( --with-matlab ), les tests d'écriture échoueront si Matio ne peut pas lire le fichier et sauter si Matio peut lire le fichier. Les tests d'écriture passeront si MATLAB est disponible et peut également lire le fichier.
Pour signaler les défaillances de la découpe Matio, compressez le fichier testsuite.log dans le sous-répertoire de test du répertoire de construction. Téléchargez le fichier journal compressé avec un rapport de bogue (voir la section 1.4 pour des informations sur la déclaration des bogues).
La bibliothèque a été testée / utilisée sur Linux, Windows et OS X, y compris l'architecture Little-Endian et Big-Endan.
Ce logiciel est fourni dans une licence BSD simplifiée. Voir le fichier de copie pour plus de détails sur la licence.
Matlab est une marque déposée de Mathworks, Inc.