靜息態數據重新分段/拼接回連續數據

在對靜息態數據進行處理的時候,可能會因爲事先分段太短(太長)有一定的不便,這個時候就可以將數據進行重新分段,代碼如下

%% 重新分段
% Written By nobody
% 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:         18874126604
% 代碼可免費使用,不包含額外的使用指導,合理使用,不對使用不當的後果負責

clear;
% 指定代碼存放的路徑
dir_path = 'D:\Docu\Work\1_Projects\tim_freq_12K\anal_data\Neg_rest';
cd(dir_path);
files = dir([dir_path,filesep,'ref_A12_*.set']); % 此處是已經分過段的數據
for subj = 1:length(files)
    EEG = pop_loadset(files(subj).name,dir_path); % 載入一個分段後的數據
    parfor i = 1:length(EEG.epoch)
        ALLEEG(i) = pop_selectevent( EEG, 'epoch',i,'deleteevents','off','deleteepochs','on','invertepochs','off'); % 用AllEEG結構體儲存每個分段的EEG數據
    end
    EEG = pop_mergeset( ALLEEG, [1:length(EEG.epoch)], 0); % 把每個分段的數據用pop_mergeset 重新拼接成連續數據
    EEG.event = []; % 因爲之前靜息態分段用的maker還保存在數據中,此處清除掉這些maker;
    EEG = eeg_regepochs(EEG, 'recurrence', 0.5, 'limits',[0 0.5], 'rmbase',NaN); % 重新分段,按需要進行,如果不需要重新分段,而只是想獲得連接數據,則可以註釋掉此行
    EEG = pop_saveset( EEG, 'filename',['re_epoch_E5_',files(subj).name(end-5:end)],'filepath',dir_path); % 保存重新分段/拼接連續後的數據;
end

運行環境:matlab 2013B + eeglab 13;

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