使⽤MNE⼯具包处理脑电数据(2)基础处理总览(EEG、MEG、ERP研究)MNEpackages
epochs segementation
获取事件码
mne中利⽤find_events获得数据中已有的事件码,tip:事件码存储在channels中的’status’,因此前⾯提取通道的时候务必保留该通道。
events = mne.find_events()
分割事件
mne中⽤Epoch函数进⾏事件分割,返回对象类似字典,调⽤⽅式也与字典相同如epoch[‘keyname’]。在Epoch函数中,需要定义事件码与事件名称,并赋值给Epoch第⼆个参数。
events_id = {'name of your condition': corresponding mark, 'name of your condition2': corresponding mark}
epochs = mne.Epochs(rawdata, events ,events_id, tmin=t1,tmax=2.0, baseline = (-0.2, None))
剔除极端值
define的基本用法如若需要剔除极端值,只需在上述mne.Epochs增加关键字reject,赋值为极端值标准,需要注意的是,对于不同类型的数据,极端值的赋值单位。
epochs = mne.Epochs(rawdata, events, events_ids, tmin=t1, tmax=t2,
baseline=(None, 0), reject=reject_criteria, proj=True, preload=True)
## 下⾯为官⽹的单位举例,常见的ERP极端值150微伏可以设定为150e-6。
reject = dict(grad=4000e-13,  # unit: T / m (gradiometers)
mag=4e-12,      # unit: T (magnetometers)
eeg=40e-6,      # unit: V (EEG channels)
eog=250e-6      # unit: V (EOG channels)
)
⼀些常⽤的功能
基于两个码定义事件
如需要利⽤两个mark定义⼀个事件,可以利⽤下述函数基于两个已有的mark定义⼀个新的mark,函数可以限定两个mark之间的时间间隔。new_id为新定义的mark名字。
mne.event.define_target_events(events, reference_id, target_id, sfreq, tmin, tmax, new_id=None, fill_na=None)
合并多个码
如需将多个mark替换为同样的⼀个mark,可以⽤下述函数。其中,old_event_ids是需要合并的mark,new_event_id为新定义的mark。mne.epochsbine_event_ids(epochs, old_event_ids, new_event_id, copy=True)
合并不同的事件
如需要将多个条件的事件合并连接起来,可以⽤下述函数,其中,第⼀个参数为需要合并的事件列表,例如[ epochs[keyname1] , epochs[keyname2] ]
epochs = atenate_epochs(epochs_list, add_offset=True)
average
单个被试ERP
对于⼀般的ERP研究⽽⾔,此时已可以将上述不同条件的epoch平均,得到ERP。
ERP1_onesub =  epochs[keyname1].average() # 获取的格式为EVOKED
多个被试平均
计算不同条件的ERP差值
计算出不同的ERP后,通过下述函数计算ERP差异,其中,第⼀个参数为原始ERP,第⼆个参数为对应的权重。
diff = mnebine_evoked( [evoked1,evoked2] , [1,-1] )
计算不同通道的ERP差值(可适⽤于原始数据或者单个事件,可⾃定义通道之间的关系)
简单介绍⼀下该函数,inst为数据,groups为新通道地点,关键字为通道名,值为需要合并的通道索引。method为使⽤的⽅法,mne⾃带’mean’,‘std’,'median’三种⽅法,也可以⾃定义⽅法。
如若是计算多个通道的平均值,可以⽤‘mean’。
如若是计算多个通道的差值(例如常见的CDA、N2pc成分都是双侧通道的差值),需要⾃定义⼀个函数,并赋给method,这个函数计算了通道的差值并返回。
如若是计算多个通道之间的其他关系,也是⾃定义函数并赋值给method。
mne.channelsbine_channels(inst, groups, method='mean')
下期预告
下期我记录⼀下1)如何⽤mne时频分析,2)mne可以画什么图,怎么画,怎么调整?3)如何输出数据?
如果⼤家在使⽤过程中遇到其他的疑难问题,欢迎⼀起讨论:)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。