MATLAB MAT File I/O Library
Matio adalah perpustakaan C open-source untuk membaca dan menulis file matlab matlab. Perpustakaan ini dirancang untuk digunakan oleh program/perpustakaan yang tidak memiliki akses atau tidak ingin mengandalkan perpustakaan bersama Matlab.
Anda dapat menghubungi pemelihara melalui email di [email protected].
Orang/organisasi berikut telah membantu dalam pengembangan Matio melalui tambalan, laporan bug, dan/atau pengujian:
Jika Anda tertarik dengan kolaborasi, hubungi pengelola melalui email (lihat Bagian 1.1).
Pertanyaan dapat diajukan menggunakan forum di situs SourceForge yang menampung Matio.
Bug, perangkat tambahan, dll. Harus dikirimkan menggunakan salah satu pelacak di halaman SourceForge.
Bagian ini menjelaskan cara membangun Matio. Bagian 2.1 Menjelaskan dependensi, Bagian 2.2 Cara Membangun/Menguji Matio, dan Bagian 2.3 mendokumentasikan platform yang telah diuji Matio.
Matio memiliki dua dependensi opsional. Ini tidak diperlukan agar perangkat lunak berfungsi, tetapi tanpa mereka beberapa file mungkin tidak dapat dibaca. Zlib diharuskan untuk membaca/menulis file MAT level 5 yang menggunakan kompresi. HDF5 diperlukan untuk bekerja dengan file MAT yang lebih baru yang menggunakan file format HDF5.
Untuk mendukung file MAT terkompresi, versi ZLIB ≥ 1.2.3 diperlukan. Perangkat lunak Zlib dapat diunduh dari http://zlib.net/.
Dukungan untuk MAT File Versi 7.3 membutuhkan perpustakaan HDF5. Perpustakaan ini dapat diunduh dari https://www.hdfgroup.org/. Matio membutuhkan versi HDF5 ≥ 1.8.x. Baik fungsi HDF5 1.6.x API yang sudah usang maupun fungsi tingkat tinggi HDF5 disebut.
--with-default-api-version=v18 ).--with-default-api-version=v110 ) atau dengan API yang sudah usang versi 1.8 ( --with-default-api-version=v18 ).--with-default-api-version=v112 ), atau dengan API yang sudah usang versi 1.10 (yaitu --with-default-api-version=v110 --with-default-api-version=v18 ) atau dengan Versi API yang sudah usang.--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 version 1.8 (yaitu --with-default-api-version=v18 ). Untuk Windows, biner yang telah dikompilasi sebelumnya dapat digunakan yang juga mencakup DLL Zlib untuk memenuhi ketergantungan Zlib. Untuk Ubuntu, sudo apt install libhdf5-dev harus berfungsi dengan baik.
Metode utama untuk membangun perangkat lunak adalah dengan GNU AutoTools menggunakan configure diikuti oleh make . Setelah membangun, TestSuite dapat dieksekusi untuk menguji perangkat lunak menggunakan make check . Perangkat lunak dapat diinstal menggunakan make install . Misalnya,
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 installJika salah satu tes di TestSuite gagal, Anda harus melaporkan kegagalan menggunakan pelacak (lihat Bagian 1.4). Anda harus melampirkan file testSuite.log yang dihasilkan ke laporan bug.
Skrip konfigurasi yang digunakan untuk membangun perangkat lunak mengambil sejumlah opsi. Bagian ini menjelaskan opsi utama.
--enable-mat73=yes Bendera ini memungkinkan dukungan untuk file MAT versi 7.3. Opsi ini hanya masuk akal jika dibangun dengan HDF5 sebagai dukungan untuk file versi 7.3. Ini akan dinonaktifkan jika HDF5 tidak tersedia.--enable-extended-sparse=yes Opsi ini memungkinkan tipe data matriks jarang yang diperluas yang tidak didukung di MATLAB. Matlab hanya mendukung data jarang presisi ganda. Dengan bendera ini, Matio akan membaca data yang jarang dengan jenis lain (yaitu tipe presisi tunggal dan integer).--with-matlab=DIR opsi ini menentukan direktori (dir) dengan program 'matlab'. Dengan opsi ini, TestSuite akan memeriksa bahwa file MAT yang ditulis oleh Matio dapat dibaca ke MATLAB. Tanpa ini, tes hanya akan memeriksa bahwa Matio dapat membaca file yang ditulis dan jika berhasil tes akan dilewati. Jika Matio tidak dapat membaca file, tes akan gagal.--with-zlib=DIR opsi ini menentukan awalan di mana zlib diinstal (lihat bagian 2.1.1 untuk informasi tentang zlib).--with-hdf5=DIR Opsi ini menentukan awalan di mana perangkat lunak HDF5 diinstal (lihat Bagian 2.1.2 untuk informasi tentang HDF5).--with-default-file-ver=version Opsi ini menetapkan versi file mat default (4,5,7.3) yang akan digunakan saat menulis. Versi file default digunakan oleh MAC_CREATE makro dan fungsi Mat_Createver ketika Mat_ft_default digunakan untuk argumen versi.--with-libdir-suffix=suffix Opsi ini menentukan akhiran untuk diterapkan pada direktori perpustakaan saat menginstal dan mencari perpustakaan dependen (yaitu HDF5 dan Zlib). Misalnya, beberapa distribusi Linux multi-arch menginstal perpustakaan 64-bit ke dalam LIB64 dan pustaka 32-bit ke LIB. Sistem CMake Build didukung sebagai sistem build alternatif, yang biasanya terdiri dari tiga langkah untuk konfigurasi, build, dan pemasangan. Secara default, proyek CMake juga dikonfigurasi untuk pengujian dengan CTEST. Misalnya,
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 .Opsi spesifik Matio berikut untuk membangun dengan CMake tersedia.
MATIO_USE_CONAN:BOOL=OFF Opsi ini memungkinkan manajer paket Conan untuk menyelesaikan dependensi perpustakaan. Hanya Conan 1.x yang didukung.MATIO_DEFAULT_FILE_VERSION:STRING=5 Opsi ini menetapkan versi file mat default (4,5,7.3) yang akan digunakan saat menulis.MATIO_EXTENDED_SPARSE:BOOL=ON opsi ini memungkinkan tipe data matriks jarang yang diperluas yang tidak didukung dalam MATLAB.MATIO_MAT73:BOOL=ON bendera ini memungkinkan dukungan untuk file MAT versi 7.3.MATIO_PIC:BOOL=ON opsi ini memungkinkan kode -independen posisi (PIC), yaitu, kompilasi dengan bendera -fPIC . Ini diabaikan untuk visual studio builds.MATIO_SHARED:BOOL=ON opsi ini membangun perpustakaan Matio sebagai objek bersama (yaitu, pustaka tautan dinamis di windows).MATIO_WITH_HDF5:BOOL=ON opsi ini memungkinkan cmake untuk memeriksa ketersediaan pustaka HDF5 (lihat bagian 2.1.2 untuk informasi tentang HDF5).MATIO_WITH_ZLIB:BOOL=ON opsi ini memungkinkan cmake untuk memeriksa ketersediaan pustaka zlib (lihat bagian 2.1.1 untuk informasi tentang zlib).MATIO_BUILD_TESTING:BOOL=ON opsi ini memungkinkan matio testSuite untuk ctest.MATIO_ENABLE_CPPCHECK:BOOL=OFF opsi ini memungkinkan cmake ≥ 3.10 untuk melakukan analisis statis dengan cppCheck. Untuk membantu CMake menemukan pustaka HDF5, atur variabel lingkungan HDF5_DIR ke direktori cmake/hdf5 (berisi hdf5-config.cmake ) di dalam Direktori Build atau Instalasi HDF5, atau hubungi CMake dengan -DHDF5_DIR="dir/to/hdf5/cmake/hdf5" . Atau hubungi cmake dengan -DCMAKE_PREFIX_PATH="dir/to/hdf5/cmake" . Lihat instruksi HDF5 untuk informasi lebih lanjut. Menggunakan hdf5-config direkomendasikan untuk menggunakan FindHDF5 bawaan CMake, terutama untuk bangunan statis. CMake 3.10 atau lebih baru direkomendasikan.
Solusi Visual Studio disediakan sebagai matio_vs2008.sln untuk VS2008 dan sebagai matio.sln untuk VS2010 (dan lebih baru). Konfigurasi debug dan rilis dari kedua solusi diatur untuk membangun DLL dari Matio Library (libmatio.dll) dan alat matdump dan mengasumsikan HDF5 tersedia di direktori yang ditentukan oleh variabel lingkungan HDF5_DIR. Diasumsikan bahwa perpustakaan bersama HDF5 (dan Zlib) tersedia. Jika pustaka statis HDF5 (dan Zlib) diinstal/dibangun makro H5_BUILT_AS_STATIC_LIB perlu ditentukan (bukan H5_BUILT_AS_DYNAMIC_LIB ). Selain itu, konfigurasi lib rilis dari solusi VS2010 diatur untuk membangun lib statis dari perpustakaan Matio (libmato.lib) dan mengasumsikan bahwa pustaka statis HDF5 (dan zlib) diinstal/dibangun.
Testsuite tersedia saat membangun dengan GNU AutoTools. Untuk menjalankan TestSuite, pertama -tama konfigurasikan dan buat Matio. Setelah membangun run, make check untuk menjalankan testsuite. Jika Matio dibangun tanpa Zlib, tes variabel terkompresi akan dilewati. Jika dibangun tanpa HDF5, pengujian untuk file MAT versi 7.3 akan dilewati. Jika jalur ke aplikasi MATLAB tidak ditentukan ( --with-matlab ), tes tulis akan gagal jika Matio tidak dapat membaca file dan melewatkan jika Matio dapat membaca file. Tes tulis akan lulus jika MATLAB tersedia dan juga dapat membaca file.
Untuk melaporkan kegagalan Matio TestSuite, kompres file testSuite.log di sub-direktori uji direktori build. Unggah file log terkompresi bersama dengan laporan bug (lihat Bagian 1.4 untuk informasi tentang pelaporan bug).
Perpustakaan telah diuji/digunakan di Linux, Windows, dan OS X termasuk arsitektur kecil-endian dan besar.
Perangkat lunak ini disediakan di bawah lisensi BSD yang disederhanakan. Lihat file menyalin untuk detailnya pada lisensi.
Matlab adalah merek dagang terdaftar dari Mathworks, Inc.