脑电处理之脑连接分析包SIFT使用及分析教程

这里是失踪人口回归第一篇~放了好久的假,最近又要开始重拾科研了,给自己顺便记录一下研究过程,有问题欢迎大家指正,共同进步~

1.脑连接信息流分析工具包SIFT(Source Information Flow Toolbox

*【示例程序和sample data会更新在我的下载资源中,需要可以自取】

这里以以下数据为例,.set格式是matlab-eeglab独有的数据存储格式。

 这里打开这个文件,读取数据如下,

 

可以看到,这段数据按照epochs(trails)xtimesxchannels的通用脑电数据处理格式来看的话,共有123次重复实验片段,每次时长2+1.996s,共有123个通道。

接下来,我们进行进一步预处理,进行感兴趣ROI时间区域的选取。这里选取-1~1.25s数据进行分析。

下一步,选择进行ICA后数据的保留、剔除的主要成分。run ica后会出先remove components

接下来,用SIFT的工具包来对数据进行一些预处理。SIFT--》pre-processing

 

预处理完成后,正式进行MVAR的数据拟合模型。SIFT--》Model fitting and validation-->model order selection

运行后,出现如下界面:

这里就是SIFT的关键部分了,关于MVAR拟合模型的结束选取。

(休息会,晚点来更)

 

 

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
SIFTGPU是一个用于实现尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)的GPU加速库。下面是一些基本的使用教程: 1. 安装SIFTGPU:你可以从 https://github.com/pitzer/SIFTGPU 下载SIFTGPU的源代码。根据该项目中的安装说明,编译并安装SIFTGPU库。 2. 导入SIFTGPU库:在你的项目中,导入SIFTGPU库的头文件,并链接SIFTGPU的库文件。 3. 初始化SIFTGPU:在你的代码中,使用以下代码初始化SIFTGPU: ```cpp #include <GL/glew.h> #include <GL/glut.h> #include <SiftGPU.h> SiftGPU sift; int width = 640, height = 480; int main(int argc, char *argv[]) { // 初始化OpenGL上下文 glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); glutInitWindowSize(width, height); glutCreateWindow("SIFTGPU"); // 初始化SIFTGPU if (sift.CreateContextGL() != SiftGPU::SIFTGPU_FULL_SUPPORTED) { printf("SIFTGPU is not supported!\n"); return 1; } // 设置SIFTGPU参数 sift.SetVerbose(true); sift.SetOuputFormat(SiftGPU::SIFTGPU_SIFT); sift.VerifyContextGL(); // ...其他操作 return 0; } ``` 4. 加载图像数据:使用以下代码将图像数据传递给SIFTGPU进行处理: ```cpp // 设置图像尺寸 sift.SetImageSize(width, height); // 加载图像数据 unsigned char* imageData = new unsigned char[width * height * 3]; // ...从文件或其他方式获取图像数据并存储到imageData中 // 传递图像数据给SIFTGPU sift.RunSIFT(width, height, imageData, GL_RGB, GL_UNSIGNED_BYTE); ``` 5. 提取特征点:使用以下代码提取图像中的特征点: ```cpp int numFeatures = sift.GetFeatureNum(); // 为特征点分配内存 float* featureData = new float[numFeatures * 128]; // 提取特征点 sift.GetFeatureVector(featureData); // 遍历特征点并进行处理 for (int i = 0; i < numFeatures; ++i) { // 获取特征点的关键信息(位置、尺度、方向等) SiftGPU::SiftKeypoint& keypoint = sift.GetFeature(i); // ...在这里可以对每个特征点进行处理 } // 释放内存 delete[] featureData; ``` 这只是一个简单的SIFTGPU使用教程,更详细的用法可以参考SIFTGPU的文档和示例代码。希望对你有帮助!如果你有更多问题,可以继续问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值