查看原文
其他

代码分享|静息态数据重新分段/拼接回连续数据

周翊 茗创科技 2021-09-15

请点击上面“茗创科技”四个字,选择关注我们

大家好,我是茗创科技的周翊,近日发现大家在对静息态数据进行处理的时候,可能会因为事先分段太短(太长)有一定的不便,这个时候就可以将数据进行重新分段,思路是这样的,首先把数据的每个分段挨个取出成一个单独的数据,然后使用pop_mergeset函数重新拼接就变成连续数据了

实现代码如下:


% 代码由茗创科技工程师 周翊编写 并无偿分享使用 转载注明来源% 更多需要可加微信了解% 茗创科技专注于脑影像数据处理,涵盖(fMRI,结构像,DTI,ASL,EEG/ERP,FNIRS,眼动)等,也欢迎% 了解茗创科技的课程及数据处理服务,可添加微信号 17373158786 进行咨询。
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

% Copyright (c) 2020-2021 MCKJ. All rights reserved.

拼接以后的数据如下图所示

实现环境为matlab2013+eeglab13

微信扫码或者长按选择识别关注茗创

非常感谢转发支持与推荐


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存