微状态的分析软件有好几个,它们分别针对不同的数据:
resting EEG: 可以直接在EEGLAB 中使用插件分析;
ERP: 可以使用Cartool 软件分析,该软件比较全能,但是不识别EEGLAB的数据格式;
另外,LORETA也可以分析resting EEG 和 ERP 的数据,但是在进行聚类时,只能选择k-means的方法。
使用EEGLAB分析resting EEG
1)首先对原始数据进行预处理(*要不要分段?-正常预处理就可以了)
2)成功安装微状态插件后,eeglab中会出现该选项
预处理的时候要保证所有被试的处理过程和处理中使用的参数一致,才能进行之后的分析
3)为了方便计算一般都是使用代码进行每个条件下的批处理
下面为了方便,简单描述下在代码中涉及到的分析过程:
- 首先选择不同条件下所有的经过同一步骤、参数处理的干净数据;
- 接下来进行平均参考和 2-20Hz 的滤波(这个是约定俗成的,滤波是为了较少噪音2-20Hz是比较常见的范围,这里滤波和预处理的滤波不一样、不冲突);
- 选择要使用聚类值:GFP峰值聚类还是所有时间点上值(一般是使用GFP);
- 在resting EEG 中忽略极性;
- 选择聚类分析的方法:K-means 还是 AAHC(如果要是K-means需要填写run100-200次;AAHC只要run1次);
- 最后会得到在这个条件下的所有被试的组水平上的图,但是顺序和一般的Microstates A,B,C,D顺序不同,需要经过man.sort手动调整(组水平上的结果可能会受到不同电脑的影响而出现比较诡异的情况);
调整这里有个bug,调整之后,每个sub的结果进行了调整,但是事实上组水平上没有调整顺序 - 鉴别时间点上的是那个微状态成分:推荐选择GFP峰值
- 运行上面的步骤之后就会出现一个.csv的结果,里面就是每个被试的各种参数值了,可以直接用来进行下一步的统计分析了。
4)作图
因为上面的组平均的图不好看,也不方便看每个被试的4个图,所以可以再使用代码画出组平均的图和每个被试的图;
这里可以设计下极性反转
EEG = pop_loadset('filename','GrandMeanECgroup1.set','filepath','C:\Users\a\Desktop\');
EEG = eeg_checkset( EEG );
maps = EEG.data; % maps
maps2 = squeeze(maps(:,:,4)); % 组水平上
figure;topoplot(maps2(:,2),EEG.chanlocs); % 极性反转 figure;topoplot(-1*maps2(:,2),EEG.chanlocs);
补充说明--如何绘制出下面的这种图?
step1:使用eeglab打开一个被试的数据;
step2:选择‘plot microstate dynamics’并选择class数目;
使用CARTOOL分析ERP
1)首先对原始数据进行预处理,并进行接下来一些处理
-
step1:用eeglab把每个条件下的被试数据拼接在一起并计算组平均ERP;
-
step2:再次分段,因为对微状态分析来说不需要这么长的时间,原有的预处理的分段时间时间太长。并进行平均参考
- step3:保存并导出非.set格式的数据
2)成功安装Cartool软件后,打开软件
-
step1:导入之前处理过的数据
-
step2:设置参数
参数设置完成后,即可运行,等待结果
- step3:查看结果
在运行结束后,会出现一个没有序号的.vrb文件,里面可以查看最优解个数
确定最优解后,找到相应的标明数值/序号的三个文件,其中.ep文件是用来绘制地形图的;.seg文件说明每个时刻点属于哪一类微状态;