尝试加载 Fieldtrip .mat Matlab 文件并发现 EEG 事件

问题描述

首先,免责声明:我几乎是 Matlab 的新手(特别是 Fieldtrip 和 EEGlab)。

我正在尝试将一些已使用 EEGlab 预处理的 .mat 数据文件导入 Matlab,然后使用 eeglab2fieldtrip 函数传输到 Fieldtrip,在 Fieldtrip 中处理更多并最终使用 {{1} 保存}.不幸的是,由于道德问题,我还不能分享数据,但我会尝试逐步解释我需要做什么以及我做了什么。

我的数据是从眨眼人工制品 EEG 数据中提取、过滤、清理等。我需要做的是将其导入到 Matlab 中,并针对每个参与者的文件,查找并计算与我的 4 个条件对应的 4 种类型的事件。然后我需要为每个参与者创建一个 save('P_501_rnmd_cue_pru_rej_TF.mat','-struct','data_TF_rej'); 文件,为这 4 个条件中的每一个设置不同的字段。

当数据为 .set 格式并且来自 EEGLab 预处理程序时,我迄今为止的代码运行良好。但是,使用来自 Fieldtrip 预处理的 .mat 文件变得更加棘手(不幸的是,我无法跳过这些文件)。

以下是我目前拥有但不起作用的东西(创建一个空的“EEG”结构或在 _conditions.mat 处因错误而崩溃):

pop_loadset

我已经搜索了一些关于 for parc=1:length(dir('*_rnmd_cue_pru_rej_TF.mat')),fname=dir('*_rnmd_cue_pru_rej_TF.mat'); fname=fname(parc).name; EEG = pop_loadset('filename',fname); data=eeglab2fieldtrip(EEG,'preprocessing') %%% conditions: % L1 nonswitch % L2 nonswitch % L1 switch % L2 switch %%% get all the 4 conditions: c1=0 L1_NS=[]; c2=0 L2_NS=[]; c3=0 L1_S=[]; c4=0 L2_S=[] for k= 1:length(EEG.epoch),if strcmp(EEG.epoch(k).eventtype(1),'L1nonswitch')| strcmp(EEG.epoch(k).eventtype(2),'L1nonswitch'),c1=c1+1 L1_NS(c1)=k; end if strcmp(EEG.epoch(k).eventtype(1),'L2nonswitch')| strcmp(EEG.epoch(k).eventtype(2),'L2nonswitch'),c2=c2+1 L2_NS(c2)=k; end if strcmp(EEG.epoch(k).eventtype(1),'L1switch')| strcmp(EEG.epoch(k).eventtype(2),'L1switch'),c3=c3+1 L1_S(c3)=k; end if strcmp(EEG.epoch(k).eventtype(1),'L2switch')| strcmp(EEG.epoch(k).eventtype(2),'L2switch'),c4=c4+1 L2_S(c4)=k; end end save(strcat(strtok(fname,'.'),'_conditions'),'data','L2_S','L1_S','L2_NS','L1_NS') end 函数以及如何转置和组织 Fieldtrip 数据的在线解决方案,以便人们可以返回 EEGLab(如果可能的话,这将为我省去一些麻烦)但是这些都不适合我。我还附上了几张关于 fieldtrip2eeglab 文件应该是什么样子的照片。

The conditions file that I should get.

显示错误或多或少是我遇到的错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)