EEG實驗後統一兩種不同的腦電帽的電極點數據

在不同設備或者使用了不同種帽子,可能會造成電極點數據順序不一樣,這裏提供了一個自己編寫的一個腳本,用來統一兩種不同帽子的順序,其中兩個帽子的電極點需要自行修改,實現環境爲matlab2013+eeglab13

% Written By  Yizhou 代碼僅供參考,謹慎使用
% Using the code without proper understanding the code and relevant background
% of EEG may lead to confusion, incorrect data analyses,or misinterpretations
% of results.
% The author assumes NO responsibility for inappropriate or incorrect use
% of this code.
% WX:         17373158786
clear all;clc;
%轉碼前所在目錄
filepath = '/Users/afterschoolboy/Documents/Eeg_data/reEEG/anal_Beta/Open/jingxitai_c/Pre_batch5_Epoched';
cd(filepath);
%轉碼後的文件夾
tran_code_path = '/Users/afterschoolboy/Documents/Eeg_data/reEEG/anal_Beta_gather/Open/control'
fre_file = dir([filepath,filesep,'*c.set']);
%轉碼的示例文件
EEG_K = pop_loadset('filename','New_RICAR_Sub_01_jingxitai.set','filepath',tran_code_path);
%兩批數據的電極點順序(小寫統一成大寫)
K = {'FP1';'FPZ';'FP2';'AF3';'AF4';'F7';'F5';'F3';'F1';'FZ';'F2';'F4';'F6';'F8';'FT7';'FC5';'FC3';'FC1';'FCZ';'FC2';'FC4';'FC6';'FT8';'T7';'C5';'C3';'C1';'CZ';'C2';'C4';'C6';'T8';'TP7';'CP5';'CP3';'CP1';'CPZ';'CP2';'CP4';'CP6';'TP8';'P7';'P5';'P3';'P1';'PZ';'P2';'P4';'P6';'P8';'PO7';'PO5';'PO3';'POZ';'PO4';'PO6';'PO8';'O1';'OZ';'O2'};
S = {'FP1';'FPZ';'FP2';'F7';'F3';'FZ';'F4';'F8';'FC5';'FC1';'FC2';'FC6';'T7';'C3';'CZ';'C4';'T8';'CP5';'CP1';'CP2';'CP6';'P7';'P3';'PZ';'P4';'P8';'POZ';'O1';'O2';'CPZ';'AF3';'AF4';'F5';'F1';'F2';'F6';'FC3';'FCZ';'FC4';'C5';'C1';'C2';'C6';'CP3';'CP4';'P5';'P1';'P2';'P6';'PO5';'PO3';'PO4';'PO6';'FT7';'FT8';'TP7';'TP8';'PO7';'PO8';'OZ'};

for i = 1:length(fre_file)
    fre_name = fre_file(i).name;
    EEG = pop_loadset('filename',fre_name,'filepath',filepath);
    EEG_data_ori = EEG.data;
    for s = 1:60
      j=find(strcmp(S, char(K(s)))); %找到每個電極點在新文件裏面的電極點編號 
      new_Data(s,:,:) = EEG_data_ori(j,:,:);
    end
    %下面是將整理好的新序列的數據賦值給舊的文件
    EEG.data = new_Data;
    EEG.chanlocs = EEG_K.chanlocs;
    EEG.nbchan = EEG_K.nbchan;
    new_name = ['S2K_RICAR_Sub_',num2str(i,'%02d'),'_','jingxitai.set'];
    %保存到轉碼後的目錄下
    EEG = pop_saveset( EEG, 'filename',new_name,'filepath',tran_code_path);
    clear EEG_data_ori;
    clear new_Data;
end


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章