本仓库是应用于康复工程实验室VR程序保存的二进制数据的解析和转码。
此文件夹下存放库的核心功能。
此文件夹包含dllmain.h
头文件,parser
库所有对外暴露函数签名都声明于此。在matlab中直接引用libparser需要输入此头文件。
此文件夹包含两部分,一部分utils
文件夹包含库的一些辅助功能的纯C++实现。另外一部分是dllmain
的代码的实现。
此文件夹主要包含库的对其他语言的接口的包装,以及一些实例代码。
matlab
文件夹包含用于matlab的接口,文件夹中的文件主要是纯matlab实现的功能,在functions
中包含Matlab Mex封装的类接口,其功能都在文件名中有体现,编译这些代码的方式如下,以GetMarkers.cpp
为例:
打开Matlab,导航至matlab下,在命令行键入:
mex functions/GetMarkers.cpp -I../../source -lparser
markers = GetMarkers('marker.txt');
此文件夹下存放测试parser
的代码。可选择编译。
下面的代码用于转码VR实验的eeg数据:
const char* root = "/home/zaijun/Research/vr/data";
const char* outDir = "/home/zaijun/Research/vr/transcode";
vector<int> subs{ 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
vector<string> vibs{ "on", "off" };
vector<int> tris{ 0, 1, 2 };
for (int s : subs) {
for (string& v : vibs) {
for (int t : tris) {
string indir = getDir(root, s, v, t);
string outdir = getDir(outDir, s, v, t);
vrEegConvertAllInFolder(indir.c_str(), outdir.c_str());
}
}
cout << s << " subject has converted" << endl;
}
CMake (minimum 3.16.0)
Visual Studio 2019
or
Clion 2020
- 克隆本仓库到本地
git clone git@github.com:rehabsdu/VRParser.git`
- 导航到根目录,执行cmake(Windows环境)
需要生成matlab functions时需要指定:
mkdir build && cd build cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Debug ..
注意上面的命令需要系统安装matlab,并且添加到了PATH中。cmake -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Debug -DADD_MATLAB=ON ..
- 打开.sln工程编译出DLL文件。