MATLAB 매트 파일 I/O 라이브러리
Matio는 바이너리 MATLAB 매트 파일을 읽고 쓰는 오픈 소스 C 라이브러리입니다. 이 라이브러리는 액세스 할 수 없거나 MATLAB의 공유 라이브러리에 의존하지 않는 프로그램/라이브러리에서 사용하도록 설계되었습니다.
[email protected]으로 이메일을 통해 관리자에게 연락 할 수 있습니다.
다음 사람들/조직은 패치, 버그 보고서 및/또는 테스트를 통해 Matio 개발에 도움을주었습니다.
협업에 관심이 있으시면 이메일을 통해 관리자에게 문의하십시오 (섹션 1.1 참조).
Matio를 호스팅하는 Sourceforge 사이트의 포럼을 사용하여 질문을 할 수 있습니다.
SourceForge 페이지의 트래커 중 하나를 사용하여 버그, 개선 사항 등을 제출해야합니다.
이 섹션에서는 Matio를 구축하는 방법에 대해 설명합니다. 섹션 2.1은 종속성, 2.2 절을 구축/테스트하는 방법 및 섹션 2.3을 설명합니다.
Matio에는 두 가지 선택적 종속성이 있습니다. 소프트웨어가 작동하는 데 필요하지는 않지만 일부 파일이 읽을 수 없을 수도 있습니다. Zlib는 압축을 사용하는 레벨 5 매트 파일을 읽고 쓰기 위해 필요합니다. HDF5는 HDF5 형식 파일을 사용하는 최신 매트 파일로 작업해야합니다.
압축 MAT 파일을 지원하려면 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 ( --with-default-api-version=v18 )이있는 HDF5의 구성이 필요합니다.--with-default-api-version=v114 ) 또는 더 이상 사용되지 않은 API 버전 1.12 (즉 --with-default-api-version=v112 ) 또는 API 버전 1.10 ( --with-default-api-version=v110 )을 사용하여 HDF5를 구성해야합니다. 버전 1.8 (즉 --with-default-api-version=v18 ). Windows의 경우 사전 컴파일 된 바이너리를 사용할 수 있으며 Zlib 의존성을 만족시키기 위해 Zlib의 DLL을 포함 할 수 있습니다. Ubuntu의 경우 sudo apt install libhdf5-dev 제대로 작동해야합니다.
소프트웨어를 구축하는 주요 방법은 configure 사용하여 GNU Autotools와 make 사용하는 것입니다. 구축 후 TestSuite를 실행하여 make check 사용하여 소프트웨어를 테스트 할 수 있습니다. 소프트웨어는 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 install테스트 스위트의 테스트가 실패하면 추적기를 사용하여 고장을보고해야합니다 (섹션 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가 작성한 MAT 파일을 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 MACRO 및 MAT_CREATEVEREVER 기능에 의해 사용됩니다.--with-libdir-suffix=suffix 옵션은 종속 라이브러리 (예 : HDF5 및 ZLIB)를 설치하고 찾을 때 라이브러리 디렉토리에 적용 할 접미사를 지정합니다. 예를 들어, 일부 다축 Linux 배포판은 64 비트 라이브러리를 LIB64에 설치하고 32 비트 라이브러리를 LIB에 설치합니다. CMAKE 빌드 시스템은 대체 빌드 시스템으로 지원되며, 일반적으로 구성, 빌드 및 설치를위한 세 단계로 구성됩니다. 기본적으로 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 패키지 관리자가 라이브러리 종속성을 해결할 수 있습니다. Conan 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 플래그를 사용한 컴파일을 가능하게합니다. Visual Studio 빌드에 대해서는 무시됩니다.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 HDF5 빌드 또는 설치 디렉토리 내부의 cmake/hdf5 디렉토리 ( hdf5-config.cmake 포함)로 설정하거나 -DHDF5_DIR="dir/to/hdf5/cmake/hdf5" 로 전화하십시오. 또는 -DCMAKE_PREFIX_PATH="dir/to/hdf5/cmake" 로 cmake를 호출하십시오. 자세한 내용은 HDF5 지침을 참조하십시오. hdf5-config 사용은 CMAKE의 내장 FindHDF5 , 특히 정적 빌드의 경우 사용하는 것이 좋습니다. CMAKE 3.10 이상이 권장됩니다.
Visual Studio 솔루션은 VS2008 용 Matio_vs2008.sln 및 VS2010 (및 새로운)의 경우 Matio.Sln으로 제공됩니다. 두 솔루션의 디버그 및 릴리스 구성은 Matio Library (Libmatio.dll)의 DLL을 구축하기 위해 설정되었으며 Matdump 도구를 작성하고 HDF5는 HDF5_DIR 환경 변수에서 지정된 디렉토리에서 사용할 수 있다고 가정합니다. HDF5 (및 ZLIB)의 공유 라이브러리를 사용할 수 있다고 가정합니다. HDF5 (및 ZLIB)의 정적 라이브러리가 설치/빌드 된 경우 매크로 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 절 참조).
라이브러리는 Little-Endian 및 Big-Endian Architecture를 포함하여 Linux, Windows 및 OS X에서 테스트/사용되었습니다.
이 소프트웨어는 단순화 된 BSD 라이센스에 따라 제공됩니다. 라이센스에 대한 자세한 내용은 복사 파일을 참조하십시오.
Matlab은 Mathworks, Inc.의 등록 상표입니다.