Biblioteca de E/S do arquivo Matlab Mat
O Matio é uma biblioteca C de código aberto para leitura e gravação de arquivos binários do MATLAB. Esta biblioteca foi projetada para uso por programas/bibliotecas que não têm acesso ou não querem confiar nas bibliotecas compartilhadas do MATLAB.
Você pode entrar em contato com o mantenedor por e-mail para [email protected].
As seguintes pessoas/organizações ajudaram no desenvolvimento da Matio por meio de patches, relatórios de bugs e/ou testes:
Se você estiver interessado em colaborações, entre em contato com o mantenedor por e -mail (consulte a Seção 1.1).
Perguntas podem ser feitas usando os fóruns no site da fonte de hospedagem Matio.
Bugs, aprimoramentos, etc. devem ser enviados usando um dos rastreadores na página Origemforge.
Esta seção descreve como construir a MATIO. A Seção 2.1 descreve as dependências, a seção 2.2 Como criar/testar a MATIO e a Seção 2.3 Documentos em que a matéria das plataformas foi testada.
A MATIO tem duas dependências opcionais. Eles não são necessários para que o software funcione, mas sem eles alguns arquivos podem ser ilegíveis. O ZLIB é necessário para ler/gravar arquivos Mat Nível 5 que usam compactação. O HDF5 é obrigado a trabalhar com arquivos MAT mais novos que usam os arquivos de formato HDF5.
Para suportar arquivos de tapete compactados, a versão ZLIB ≥ 1.2.3 é necessária. O software ZLIB pode ser baixado em http://zlib.net/.
O suporte ao arquivo MAT versão 7.3 requer a biblioteca HDF5. Esta biblioteca pode ser baixada em https://www.hdfgroup.org/. A MATIO requer versão HDF5 ≥ 1.8.x. Nem as funções de API HDF5 1.6.x depreciadas nem as funções de nível superior HDF5 são chamadas.
--with-default-api-version=v18 ).--with-default-api-version=v110 ) ou com API depreciada versão 1.8 (ou seja --with-default-api-version=v18 ).--with-default-api-version=v112 ) ou com API depreciado versão 1.10 (ie --with-default-api-version=v110 ) ou com verificação de depreciação 1.8 (ie --with-default-api-version=v18 ) ou comepipipiSep APION:--with-default-api-version=v114 ), or with deprecated API version 1.12 (ie --with-default-api-version=v112 ), or with deprecated API version 1.10 (ie --with-default-api-version=v110 ) or with deprecated API Versão 1.8 (ou seja --with-default-api-version=v18 ). Para o Windows, os binários pré-compilados podem ser usados, que também incluem uma DLL de Zlib para satisfazer a dependência do ZLIB. Para o Ubuntu, sudo apt install libhdf5-dev deve funcionar bem.
O método principal para a criação do software é com o GNU AutoTools usando configure seguida pela make . Após a construção, o TestSuite pode ser executado para testar o software usando make check . O software pode ser instalado usando make install . Por exemplo,
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 installSe algum dos testes no testSuite falhar, você deverá relatar a falha usando o rastreador (consulte a Seção 1.4). Você deve anexar o arquivo Gerado TestSuite.log ao relatório do Bug.
O script de configuração usado para criar o software exige várias opções. Esta seção descreve as principais opções.
--enable-mat73=yes Este sinalizador permite o suporte aos arquivos da versão 7.3 MAT. A opção só faz sentido se construído com o HDF5 como suporte para arquivos da versão 7.3. Será desativado se o HDF5 não estiver disponível.--enable-extended-sparse=yes Esta opção permite que os tipos de dados da matriz esparsa estendida não suportados no MATLAB. O MATLAB suporta apenas dados esparsos de precisão dupla. Com esse sinalizador, o Matio lerá dados esparsos com outros tipos (ou seja, tipos de precisão única e número inteiro).--with-matlab=DIR Esta opção especifica o diretório (dir) com o programa 'MATLAB'. Com esta opção, o TestSuite verificará se os arquivos MAT gravados pelo MATIO podem ser lidos no MATLAB. Sem isso, o teste apenas verificará se o MATIO pode ler o arquivo escrito e, se bem -sucedido, o teste será ignorado. Se o Matio não puder ler o arquivo, o teste falhará.--with-zlib=DIR Esta opção Especifica o prefixo em que o ZLIB está instalado (consulte a Seção 2.1.1 para obter informações sobre o ZLIB).--with-hdf5=DIR Esta opção especifica o prefixo em que o software HDF5 está instalado (consulte a Seção 2.1.2 para obter informações sobre o HDF5).--with-default-file-ver=version Esta opção define a versão do arquivo de tapete padrão (4,5,7,3) que será usada ao gravar. A versão de arquivo padrão é usada pela macro MAT_CREATE e pela função MAT_CREATEVER quando MAT_FT_DEFAULT é usada para o argumento da versão.--with-libdir-suffix=suffix Esta opção especifica um sufixo a ser aplicado aos diretórios da biblioteca ao instalar e procurar bibliotecas dependentes (ou seja, HDF5 e ZLIB). Por exemplo, algumas distribuições de linux de vários arco instalam bibliotecas de 64 bits nas bibliotecas LIB64 e 32 bits na lib. O sistema de compilação CMake é suportado como um sistema de construção alternativo, que geralmente consiste em três etapas para configuração, construção e instalação. Por padrão, o projeto CMake também está configurado para teste com o CTEST. Por exemplo,
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 .As seguintes opções específicas da MATIO para construir com CMake estão disponíveis.
MATIO_USE_CONAN:BOOL=OFF Esta opção permite que o gerenciador de pacotes Conan resolva as dependências da biblioteca. Somente Conan 1.x é suportado.MATIO_DEFAULT_FILE_VERSION:STRING=5 Esta opção define a versão do arquivo de tapete padrão (4,5,7.3) que será usada ao gravar.MATIO_EXTENDED_SPARSE:BOOL=ON Nesta opção, permite que os tipos de dados da matriz esparsa estendida não suportados no MATLAB.MATIO_MAT73:BOOL=ON Neste sinalizador permite o suporte para os arquivos da versão 7.3 MAT.MATIO_PIC:BOOL=ON nesta opção permite o código independente da posição (PIC), ou seja, compilação com a bandeira -fPIC . É ignorado para construções do Visual Studio.MATIO_SHARED:BOOL=ON nesta opção cria a biblioteca MATIO como objeto compartilhado (ou seja, uma biblioteca de link dinâmica no Windows).MATIO_WITH_HDF5:BOOL=ON nesta opção permite que o cmake verifique a disponibilidade da biblioteca HDF5 (consulte a Seção 2.1.2 para obter informações sobre o HDF5).MATIO_WITH_ZLIB:BOOL=ON nesta opção permite que o cmake verifique a disponibilidade da biblioteca ZLIB (consulte a Seção 2.1.1 para obter informações sobre o ZLIB).MATIO_BUILD_TESTING:BOOL=ON nesta opção Ativa o Matio testSuite para ctest.MATIO_ENABLE_CPPCHECK:BOOL=OFF Esta opção permite que o cmake ≥ 3,10 realize análise estática com o CPPCHECK. Para ajudar o CMake a encontrar as bibliotecas HDF5, defina a variável de ambiente HDF5_DIR no diretório cmake/hdf5 (contendo hdf5-config.cmake ) dentro do diretório de construção ou instalação de HDF5 ou ligue para Cmake com -DHDF5_DIR="dir/to/hdf5/cmake/hdf5" . Como alternativa, ligue para cmake com -DCMAKE_PREFIX_PATH="dir/to/hdf5/cmake" . Consulte as instruções do HDF5 para obter mais informações. O uso hdf5-config é recomendado usando FindHDF5 embutido do CMAKE, especialmente para construções estáticas. Cmake 3.10 ou posterior é recomendado.
As soluções do Visual Studio são fornecidas como matio_vs2008.sln para vs2008 e como matio.sln para vs2010 (e mais recente). As configurações de depuração e liberação de ambas as soluções são configuradas para criar uma DLL da Biblioteca Matio (libmatio.dll) e a ferramenta Matdump e assume que o HDF5 está disponível no diretório especificado pela variável de ambiente HDF5_DIR. Supõe -se que as bibliotecas compartilhadas do HDF5 (e ZLIB) estejam disponíveis. Se as bibliotecas estáticas do HDF5 (e ZLIB) estiverem instaladas/construídas, a macro H5_BUILT_AS_STATIC_LIB precisará ser definida (em vez de H5_BUILT_AS_DYNAMIC_LIB ). Além disso, a configuração LIB de liberação da solução VS2010 é configurada para construir um LIB estático da Biblioteca Matio (libmatio.lib) e assume que as bibliotecas estáticas do HDF5 (e Zlib) estão instaladas/construídas.
Um testSuite está disponível ao construir com o GNU AutoTools. Para executar o TestSuite, primeiro configure e construa a MATIO. Após a construção, make check para executar o TestSuite. Se a MATIO foi construída sem Zlib, os testes variáveis compactados serão ignorados. Se construído sem HDF5, os testes para os arquivos da versão 7.3 serão ignorados. Se o caminho para o aplicativo MATLAB não foi especificado ( --with-matlab ), os testes de gravação falharão se o Matio não puder ler o arquivo e pular se o Matio puder ler o arquivo. Os testes de gravação passarão se o Matlab estiver disponível e também puder ler o arquivo.
Para relatar falhas no teste matemuíno, compacte o arquivo testsuite.log no subdiretório de teste do diretório de construção. Carregue o arquivo de log compactado junto com um relatório de bug (consulte a Seção 1.4 para obter informações sobre o relatório de bugs).
A biblioteca foi testada/usada no Linux, Windows e OS X, incluindo a arquitetura pouco endiana e grande e-e-endiana.
Este software é fornecido sob uma licença BSD simplificada. Consulte o arquivo de cópia para obter detalhes sobre a licença.
O Matlab é uma marca registrada da Mathworks, Inc.