Matlab MatファイルI/Oライブラリ
Matioは、バイナリMatlab Matファイルを読み書きするためのオープンソースCライブラリです。このライブラリは、アクセスできない、またはMatlabの共有ライブラリに依存したくないプログラム/ライブラリで使用するために設計されています。
[email protected]でメールでメンテナーに連絡できます。
次の人々/組織は、パッチ、バグレポート、および/またはテストを通じてMatioの開発に役立ちました。
コラボレーションに興味がある場合は、メールでメンテナーに連絡してください(セクション1.1を参照)。
MatioをホストするSourceForgeサイトのフォーラムを使用して、質問をすることができます。
SourceForgeページのトラッカーのいずれかを使用して、バグ、拡張機能などを提出する必要があります。
このセクションでは、Matioの構築方法について説明します。セクション2.1では、依存関係、セクション2.2のMatioの構築方法/テスト方法、およびセクション2.3のドキュメントについて説明します。
Matioには2つのオプションの依存関係があります。これらはソフトウェアが機能するためには必要ありませんが、それらがなければ、いくつかのファイルは読めない場合があります。 Zlibは、圧縮を使用するレベル5マットファイルの読み取り/書き込みに必要です。 HDF5は、HDF5-Formatファイルを使用する新しいマットファイルを使用する必要があります。
圧縮マットファイルをサポートするには、ZLIBバージョン≥1.2.3が必要です。 ZLIBソフトウェアは、http://zlib.net/からダウンロードできます。
MATファイルバージョン7.3のサポートには、HDF5ライブラリが必要です。このライブラリは、https://www.hdfgroup.org/からダウンロードできます。 MatioにはHDF5バージョン≥1.8.xが必要です。非推奨HDF5 1.6.x API関数もHDF5高レベル関数も呼び出されません。
--with-default-api-version=v18 )でHDF5の構成が必要です。--with-default-api-version=v110 )または非推奨APIバージョン1.8(すなわち--with-default-api-version=v18 )のいずれかでHDF5の構成が必要です。--with-default-api-version=v112 )、または非推奨APIバージョン1.10(すなわち--with-default-api-version=v110 )または非推奨APIバージョン1.8(IE --with-default-api-version=v18 )のいずれかでHDF5の構成が必要です。--with-default-api-version=v114 )、または非推奨APIバージョン1.12(すなわち--with-default-api-version=v112 --with-default-api-version=v110かでHDF5の構成が必要です。バージョン1.8(すなわち--with-default-api-version=v18 )。 Windowsの場合、ZLIB依存性を満たすためにZLIBのDLLも含む、事前にコンパイルされたバイナリを使用できます。 ubuntuの場合、 sudo apt install libhdf5-dev正常に動作するはずです。
ソフトウェアを構築するための主要な方法はmake configureを使用してGNU AutoToolsを使用することです。構築後、 make checkを使用してソフトウェアをテストするためにTestSuiteを実行できます。ソフトウェアは、 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 installTestSuiteのテストが失敗した場合は、トラッカーを使用して障害を報告する必要があります(セクション1.4を参照)。生成されたtestsuite.logファイルをバグレポートに添付する必要があります。
ソフトウェアの構築に使用される構成スクリプトには、多くのオプションが必要です。このセクションでは、重要なオプションについて説明します。
--enable-mat73=yesこのフラグはバージョン7.3マットファイルのサポートを有効にします。このオプションは、バージョン7.3ファイルのサポートとしてHDF5で構築された場合にのみ理にかなっています。 HDF5が利用できない場合、無効になります。--enable-extended-sparse=yesこのオプションは、MATLABでサポートされていない拡張されたスパースマトリックスデータ型を有効にします。 MATLABは、二重精度のスパースデータのみをサポートします。このフラグを使用すると、Matioは他のタイプ(つまり、単一の精度と整数タイプ)を含むまばらなデータを読み取ります。--with-matlab=DIRこのオプションは、「matlab」プログラムでディレクトリ(dir)を指定します。このオプションを使用すると、TestSuiteはMatioによって記述されたマットファイルをMatlabに読み取ることができることを確認します。これがないと、テストでは、Matioが書かれたファイルを読み取ることができることのみを確認し、成功した場合はテストがスキップされます。 Matioがファイルを読み取れない場合、テストは失敗します。--with-zlib=DIRこのオプションは、Zlibがインストールされているプレフィックスを指定します(ZLIBの詳細については、セクション2.1.1を参照)。--with-hdf5=DIRこのオプションは、HDF5ソフトウェアがインストールされているプレフィックスを指定します(HDF5の詳細については、セクション2.1.2を参照)。--with-default-file-ver=versionこのオプションは、執筆時に使用されるデフォルトのマットファイルバージョン(4,5,7.3)を設定します。デフォルトのファイルバージョンは、MAT_FT_DEFAULTがバージョン引数に使用されるときにMAT_CREATEマクロとMAT_Createver関数によって使用されます。--with-libdir-suffix=suffixこのオプションは、従属ライブラリ(IE HDF5およびZLIB)をインストールして探しているときに、ライブラリディレクトリに適用するサフィックスを指定します。たとえば、一部のマルチアーチLinux分布は、64ビットライブラリをLIB64および32ビットライブラリにLIBにインストールします。 Cmakeビルドシステムは、通常、構成、ビルド、およびインストールのための3つのステップで構成される代替ビルドシステムとしてサポートされています。デフォルトでは、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固有のオプションが利用可能です。
MATIO_USE_CONAN:BOOL=OFFこのオプションにより、Conan Package Managerはライブラリの依存関係を解決できます。コナン1.xのみがサポートされています。MATIO_DEFAULT_FILE_VERSION:STRING=5このオプションは、執筆時に使用されるデフォルトのマットファイルバージョン(4,5,7.3)を設定します。MATIO_EXTENDED_SPARSE:BOOL=ON MATLABでサポートされていない拡張されたスパースマトリックスデータ型を有効にします。MATIO_MAT73:BOOL=ONバージョン7.3マットファイルのサポートを可能にします。MATIO_PIC:BOOL=ON 、位置に依存しないコード(PIC)、つまり、 -fPICフラグとのコンパイルを有効にします。ビジュアルスタジオビルドでは無視されます。MATIO_SHARED:BOOL=ON Matioライブラリを共有オブジェクトとして構築します(つまり、Windowsの動的リンクライブラリ)。MATIO_WITH_HDF5:BOOL=ON CMAKEがHDF5ライブラリの可用性を確認できます(HDF5の詳細については、セクション2.1.2を参照)。MATIO_WITH_ZLIB:BOOL=ON cmakeがzlibライブラリの可用性を確認できます(zlibの詳細については、セクション2.1.1を参照)。MATIO_BUILD_TESTING:BOOL=ON ctestのmatio testsuiteを有効にします。MATIO_ENABLE_CPPCHECK:BOOL=OFFこのオプションは、cmake≥3.10をcppcheckで静的分析を実行できるようにします。 cmakeがHDF5ライブラリを見つけるのを助けるために、環境変数HDF5_DIR cmake/hdf5ディレクトリ( -DHDF5_DIR="dir/to/hdf5/cmake/hdf5" hdf5-config.cmakeを含む)に設定します。または、 -DCMAKE_PREFIX_PATH="dir/to/hdf5/cmake"でcmakeを呼び出します。詳細については、HDF5の指示を参照してください。特に静的ビルドには、Cmakeの組み込みのFindHDF5を使用することよりもhdf5-configを使用することをお勧めします。 Cmake 3.10以降をお勧めします。
Visual Studio Solutionsは、VS2008のMATIO_VS2008.SLNとして、およびVS2010のMATIO.SLNとして提供されます(および新しい)。両方のソリューションのデバッグおよびリリース構成は、MATIOライブラリ(libmatio.dll)のDLLを構築するために設定され、HDF5がHDF5_DIR環境変数によって指定されたディレクトリで利用可能であると仮定します。 HDF5(およびZLIB)の共有ライブラリが利用可能であると想定されています。 HDF5(およびZLIB)の静的ライブラリがインストール/構築されている場合、Macro H5_BUILT_AS_STATIC_LIBを定義する必要があります( H5_BUILT_AS_DYNAMIC_LIBの代わりに)。さらに、VS2010ソリューションのリリースLIB構成は、Matioライブラリ(libmatio.lib)の静的LIBを構築するために設定され、HDF5(およびZLIB)の静的ライブラリがインストール/構築されていると想定しています。
GNU AutoToolsとともに構築するときにテストスイートが利用できます。 TestSuiteを実行するには、最初にMatioを構成および構築します。ランニング後、テストスイートを実行するためにmake check 。 ZlibなしでMatioが構築された場合、圧縮変数テストがスキップされます。 HDF5なしで構築された場合、バージョン7.3マットファイルのテストがスキップされます。 MATLABアプリケーションへのパスが指定されていない場合( --with-matlab )、Matioがファイルを読み取ってMatioがファイルを読み取ることができる場合はスキップできない場合、書き込みテストは失敗します。 MATLABが利用可能である場合、書き込みテストは渡され、ファイルも読むことができます。
Matio TestSuiteの障害を報告するには、ビルドディレクトリのテストサブディレクトリにTestSuite.logファイルを圧縮します。バグレポートとともに圧縮ログファイルをアップロードします(バグの報告については、セクション1.4を参照)。
ライブラリは、Linux、Windows、およびOS Xでテスト/使用されています。
このソフトウェアは、簡素化されたBSDライセンスの下で提供されます。ライセンスの詳細については、コピーファイルを参照してください。
Matlabは、Mathworks、Inc。の登録商標です。