brainstorm MEG处理流程
文章目录
- 1创建protocol,subject和加载mri
- 2MRI配准
- 导入数据
- 观察电磁图
- 伪影的干扰和剔除
- 导入片段
- 试次的检查和通道的拒绝
- 平均对比的差异
- 源成像的分析
- 进行体积mri的讨论
- 对溯源的皮层数据进行处理
- 保存和记录操作为流水线pipline
- 导入其他模版
自己分析了一个meg溯源的流程,但是最后没有结果。
按照brainstorm的示例教程走一遍。
过时的教程
介绍性的教程
先按照过时的教程走一遍。
有一个示例视频提供的一些信息。
记录一下分析meg的示例:
使用的示例数据。
sample_auditory.zip
1创建protocol,subject和加载mri
创建subject
在第一个窗口下,可以选择anatomy的模版。
15000点默认。
2MRI配准
下方红字
Click here to compute MNI normalization
先进行mni的配准。
此处的位置只是参考,应该以实际图像为主。
ac-pc
这个在我的图谱的文章里有提及Talairach图谱。
然后设置那个框的六个定位点。
其中NAS,LPA,RPA是对应脑外部的配准。
AC,PC,IH是脑内部组织的配准。
配置左右耳凸和眼前的点位。
NAS: x=127, y=213, z=139
LPA: x=52, y=113, z=96
RPA: x=202, y=113, z=91
AC 128 118 147
PC 128 78 141
IH 132 35 183 (MRI)(0 -70 60 MNI坐标)
上面的点位是我搜集相关资料找到的。
NAS(128 213 141)
RPA(203 80 96)
左耳垂LPA(174 115 142)
AC节点的位置(129 121 149)
PC的位置(128 91 142)
IH(128 100 192)
save保存,然后就来到了导入数据。
导入数据
开始教程中,没有提及。
我选择了import meg/eeg。此处提醒,应该是review raw file
此处导入是数据后,还会要求进行通道点位对齐和矫正。
大概率是对齐的。
如果偏差明显。
edit是手动调节。
然后refine using head points这个是自动调这个步骤。
观察电磁图
DC此处是选择去除直流漂移。
按照分区筛选数据
此范式说明
standard是正常的声音信号刺激。
而deviant是非正常频率的声音刺激信号。
button是进行反应的标记。
可以按照类型选择查看哪些数据。
此外,Sensor cap还可以查看热图。
将这拖到下方
对时域进行处理,点击run,选择
此处是我的数据
该图为alpha波的频谱psd分布。
这个是听力的例子的数据,可见有60Hz的电子干扰,而且还有谐波的
50-80Hz处还有一定的肌电干扰
事实上,300处也有一个干扰
伪影的干扰和剔除
因为脑磁图记录了丰富的数据,如ECG,EOG,EMG等。
我们可以对这些数据进行检测和移除。
我们可以查看到对应的影响关系。
使用此处的伪迹检测处理,将心跳数据,眼球的移动数据进行检测和剔除。
对每次的心跳事件都进行了标注。
同理对于眼动数据,可以使用
VEOG和HEOG。当然因为,可以使用两个。VEOG,HEOG
在标记后,我们可以使用移除片段和主成分分析剔除这两种方法。
使用SSP主成分的方法分析和处理之后
眼电的移除效果非常显著,原来的较大的眼电影响区域消失了。
导入片段
在可视数据之后,我们对这个数据进行分割和数据导入。
设置使用投影器(即数据处理的部分)
试次的检查和通道的拒绝
分割数据后
选中进行批量处理
试次叠加
会出现一个avg的文件。
并不是很显著,进行滤波
查看这个任务范式的动态响应过程。不知道什么原因,感觉没有视频里的显著。
但是大致是一致的
此示例的MISC有两个eeg通道
好像在初期,可以看到两种声音,响应的不一致,在后续就慢慢变的相近了。
在此处可以打开脑区的选中通道来进行查看。
选中通道布局显示
平均对比的差异
源成像的分析
对通道进行头模型的计算。
直接使用这个计算方式,不需要生成三个层的surf.可能是因为meg的衰减不明显。
噪声的计算
噪声的协方差矩阵
开始非常的不显著。
因为没有设置这个透明度和最小的尺寸。
设置感兴趣的区域
使用加号。
此处选择区域的大小。
使用加号旁边的标志来分析波形图
扩大后
显示波形
此处我使用的静息态的数据,事实上,分析erp区域和响应位置,更有说服力和精确的结果。
此处分析了听力的响应区域和运动区的响应。
A1区域的响应曲线
区域的选择和叠加
我选择的点位并非特别显著。但是大体趋势是一致的。
进行体积mri的讨论
在三维的mri数据中定位位置。
截图的功能
对溯源的皮层数据进行处理
colorbar是可交互的
可能是由于脑区选择的原因,我的数据没有出现这个明显的40Hz左右的频率相应带。
保存和记录操作为流水线pipline
从最开始的数据导入开始,然后把这个处理过程给添加到这个pipeline中。
具体看视频,每个都和之前一样,只是不点击运行。
导入其他模版
选择这个
Brainnetome模版下载
可能会出现无法对齐的情况,此时可以使用matlab来处理一下。
使用MRI体积模版。进行顶点表面的重新投影。
BN_Atlas_246_1mm.nii.gz。
导入label.
或者直接导入体积模版。
配准体积模板到个体MRI
% 在Matlab命令行执行
% 获取文件索引
sSubject = bst_get('Subject', 'Subjecttest');
iMri = find(strcmp({sSubject.Anatomy.Comment}, 'MRI T1'));
iAtlas = find(strcmp({sSubject.Anatomy.Comment}, 'BN_Atlas_246_1mm_mni_reslice'));% 配准模板到个体空间
process_coregister('Run', [], ...sSubject.Anatomy(iMri), ... % 参考:个体MRIsSubject.Anatomy(iAtlas), ... % 目标:BNA模板'vox2vox', ... % 配准方法1, ... % 插值:最近邻0); % 不重采样
将配准后的模板投影到15002顶点表面
% 获取15002顶点表面
sSurf = bst_get('SurfaceFileByType', sSubject.SubjectName, 'Cortex');% 创建投影过程
sProcess = process_extract_scout('GetDescription');
sProcess.options.scouts.Value = 'All';
sProcess.options.scoutfunc.Value = 1; % 最近邻插值
sProcess.options.isflip.Value = 0;
sProcess.options.addrow.Value = 0;
sProcess.options.usedefault.Value = 0;% 执行投影
OutputFiles = process_extract_scout('Run', sProcess, ...sSubject.Anatomy(iAtlas), ... % 配准后的BNA模板sSurf); % 15002V表面
创建并保存Scout模板
% 加载投影结果
sScouts = in_label(OutputFiles{1});% 添加脑区名称(使用BN_Atlas_246_LUT.txt信息)
% 假设您已加载LUT变量(246×2 cell数组)
for i = 1:length(sScouts)sScouts(i).Label = LUT{i,2}; % 使用官方脑区名称
end% 添加到表面
sSurf = bst_get('SurfaceFile', sSurf);
sSurf.Atlas(end+1) = db_template('Atlas');
sSurf.Atlas(end).Name = 'Brainnetome_15002';
sSurf.Atlas(end).Scouts = sScouts;
bst_save(file_fullpath(sSurf.FileName), sSurf, 'v7');% 更新数据库
db_reload_subjects(sSubject.SubjectName);