测试使用
posted on 16 Feb 2022 under category test
2018年5月-7月,袁老师安排我去电子科大跟随徐老师学习脑电数据挖掘,徐老师组主要用的是EEG脑网络分析方法,因此在科大的两个多月的时间里主要就是学习了如何用matlab脚本来进行脑电的脑网络。本文主要就是对之前我在徐老师组学习期间使用过的代码的一个整理,大家以后如果需要做脑网络分析的,可以根据文中描述的步骤使用这些代码(代码都放在实验室的私有云上面了,路径: /Documents/ERP and EEG/ACR脑电数据处理代码集/4.EEG脑网络分析代码
)。
此处的预处理不是针对原始数据的预处理,而是对已经预处理完的数据而言的。代码如下:
clear all
close all
clc
% path = 'C:\Users\Administrator\Desktop\ERP_yukang';
% filename = dir(path);%加载路径(文件)
File = 'D:\61_all\'; %这里改为数据导入路径
savepath = 'D:\61_conditions\' ;%这里改为数据导出路径
% freqband = [0.02 40];
% freqband = [0.02 5];
max_order = 99;
for sub = 1:61;%这里改为自己数据中被试的数量
% cnt = loadcnt1([path, '\', filename(sub).name]);%加载cnt数据
% a = pop_loadset('C:\Users\Administrator\Desktop\ERP_yukang\sub1_erp.set');
% eval(['pop_loadset',' ',File,'sub',num2str(sub),'_erp.set']); %加载rest数据
% eval(['pop_loadset',' ',File,'sub_0',num2str(sub),'.mat']); %加载rest数据
if sub<= 9;
eval(['pop_loadset',' ',File,'sub_0',num2str(sub),'.mat']); %加载rest数据
else
eval(['pop_loadset',' ',File,'sub_',num2str(sub),'.mat']);
end
struct = ans;
Data1 = ans.data;
%% 去导联,得到准确的数据
% [bool,inx] = ismember ({'AF3','Fz','F1','F3','FC1','F7','FCz','FC3','Cz','C1','C3','CP3','Pz','P3','P5','P7','PO3','PO7','Oz','O1','AF4','F2','F4','F8','FC2','FC4','C2','C4','CPz','CP4','P4','P6','P8','POz','PO4','PO8','O2'},{struct.chanlocs.labels}.');%inx是位置,bool是布尔值,
[bool,inx] = ismember ({'AF3','Fz','F1','F3','FCz','Cz','C1','C3','CP1','CP3','Pz','P3','Oz','O1','AF4','F2','F4','C2','C4','CPz','CP2','CP4','P4','POz','O2'},{struct.chanlocs.labels}.');%inx是位置,bool是布尔值,
Data = Data1([inx],:,:);
stimtype = [];%
offset = [];%
num1 = 0; num2 = 0; num3 = 0;num4 = 0;
C_V_data = []; F_N_data = []; F_data = [];S_data = [];
%获取标签值 free_neutral change_suppression free suppresion change_view
for ii = 1:length(struct.event);
if strncmp(struct.event(ii).type,'change_view',11)
num1 = num1 + 1;
C_V_data(:,:,num1) = Data(:,:,ii) ;%change_view_data
end
if strncmp(struct.event(ii).type,'free_neutral',12)
num2 = num2 + 1;
F_N_data(:,:,num2) = Data(:,:,ii); %free_neutral_data
end
if strncmp(struct.event(ii).type,'free',11)
num3 = num3+1;
F_data(:,:,num3) = Data(:,:,ii);
end
if strncmp(struct.event(ii).type,'suppresion',11)
num4 = num4+1;
S_data(:,:,num4) = Data(:,:,ii);%suppresion_data
end
end
if sub<= 9;
save([savepath,'C_V_data','\','CVdata_0',num2str(sub)],'C_V_data');
save([savepath,'F_N_data','\','FNdata_0',num2str(sub)],'F_N_data');
save([savepath,'F_data','\','Fdata_0',num2str(sub)],'F_data');
save([savepath,'S_data','\','Sdata_0',num2str(sub)],'S_data');
else
save([savepath,'C_V_data','\','CVdata_',num2str(sub)],'C_V_data');
save([savepath,'F_N_data','\','FNdata_',num2str(sub)],'F_N_data');
save([savepath,'F_data','\','Fdata_',num2str(sub)],'F_data');
save([savepath,'S_data','\','Sdata_',num2str(sub)],'S_data');
end
end