一、溯源数据生成
溯源数据生成的步骤如下:
1. 对数据进行处理之后,如下图所示,对平均过后的ERP数据导出。
2.在Export里选择Generic,如下图所示,将方框里的文件格式改成txt,其它选项保持默认状态,点击next。
3.在Data File Fomat里面选择输出用于溯源数据的格式,切记一定要选择Text Fomat这个选项,若选择Binary Fomat,那么生成的数据将是一堆不能用于分析的乱码。然后点击next。
4.出现下面的窗口,保持各个选择的默认状态,点击next。
5.出现下面的窗口,选择你需要的电极,眼电就不用选了,之后点击Finish。
下面这些
就是我们将ERP数据导出这个过程中,后台记录的操作步骤。生成溯源数据之后,查看你的数据格式是否为ASCII,这个很重要。
*** Generic Data Export ***
File name parameter: $h_$n
File extension: .txt
Write header file: yes
Write marker file: no
Format: ASCII
Orientation: MULTIPLEXED
Line Delimiter: CRLF (PC style)
Add channel names: no
Overwrite default decimal symbol: no
Export all channels: no
Export the following channels:
C3 C4 CPz Cz F3 F4 FCz Fp1 Fp2 Fpz Fz O1 O2 Oz P3 P4
PO7 PO8 POz Pz
Exported to: F:\溯源\E\tt210_Average.txt
Header file: F:\溯源\E\tt210_Average.vhdr
Created Using Component Version 2.1.0.1257
7.下面我们就在输出路径的文件夹中找到我们“tt210”格式的两个文件。一个是txt格式,打开之后如图1所示。另一个是vhdr格式,里面包含了导出数据的一些信息,包括txt格式中每个数据对应的电极等,如图2。例如:若选用的电极数为20个,采样率为1000HZ/s,所分析的时间轴(算上基线)为550ms,那么txt文档中打开的数据就是有20列,550行(每一个电极下面所采集的550个点,若分析的时间轴是1000ms的话,那么每一个电极下面就会有1000个点,以此类推。),图2显示的就是20个电极的电极顺序。电极的排列顺序一定不能乱。
图1
图2
二、借助sloreta对差异区进行定位
第一部分:准备工作
两个文件夹和一个txt文档。每个文件夹包含了一种条件下被试的数据,数据的格式是txt。一个txt文档是编写好的电极顺序,电极顺序必须与导出的ERP数据电极顺序一致为了确保一致,可以对照vhdr文件中的电极信息顺序,将其写在txt文档中,用于分析,如图所示。
1.生成坐标电极。打开sloreta,点击主菜单Main Utilities,然后选择Electrode names to coordinates 将含有电极顺序的txt文本拖入第一个空格,转换为以sxyz为后缀的电极矩阵,这个时候有三个坐标值(X-Y-Z),是相应电极所对应的脑区位置坐标。
2. 转换矩阵。点Electrode coordinates to transformation matrix。将含有sxyz后缀文件拖入,生成spinv为后缀的文件。该文件含有电极信息,这一步就将电极信息映射到一个脑模型里。
3将从ERP里导出的txt数据转换成sloreta数据,选择EEG/ERPs to sLORETA ,注意在右侧方框内将数据类型改为txt,还可将其上面的复选框勾选上,然后,依次将两个文件夹直接拖入大方框即可。Number of lines里面显示你拖入的文件数目。最后将spinv为后缀的文件拖入到第二个空格中。(根据你的目的来选择统计分析的
)
sloreta的统计分析有两种分析思路:以独立样本t检验为例,第一种:就是用ERP操作方法,选择Convert all time frames。前提是:我们不知道哪个成分有显著差异,只是比较被试在两种条件下激活的差异脑区,例如:向被试分别呈现花朵和灰屏,我们想看一下被试在两种不同刺激条件下所激活的脑区是否有显著差异,就可以用这种方法。在某个特定时间段内找到找到两组差异最大的时间点;基于这个最大的时间点,然后在其前后3-5个时间点范围内取一时间段(比如:我们找到最大的时间点是75,因此我们的时间窗口可设置72-78以内,之后的sloreta的统计检验就是在此时间段内进行)。第二种:就是直接选取某个时间段进行sloreta的统计检验,选择Specify time frames(比如:我们对在花朵刺激条件下和灰屏刺激条件下的平均波幅进行统计分析,发现两种条件在N1成分有差异,其N1时间窗为80-120ms,我们现在相对某一种脑电成分溯源,就可以采用第二种方法。在这种条件下,我们的工作就是将ERP数据(只转换某一脑电成分的ERP数据,不需转换整个时间轴的所有数据。例如:N1,只需将80-120ms之间的ERP数据转换成slor格式即可)直接转换成slor格式,之后直接进行sloreta的统计分析。
第二部分:eLORETA and sLORETA or sLORETA
eLORETA and sLORETA(比较两种不用条件下激活的差异脑区,分别对应的是“When”的工作和“Where”的工作)
eLORETA :“When”的工作
1.在这一过程中,我们使用的是从analyser里导出的ERP数据,也就是txt格式的数据。点击sLORETA主菜单Statistics,进入下图这个工作界面,选择ERP,然后点击NEXT。
2.进入下一个界面,如图所示,选择average reference。Number of electrodes里填写上你选择的电极数目。Number of time frames中填写上你的数据一共包含有多少个时间点。例如:你截取的时间是600ms,你的基线时间是50ms,原始数据的采样率是1000HZ,一共有650个时间点,所以在这个方框里填上650,然后点击NEXT。(特别提示:所有被试原始数据的采样率必须保持一致,否则导出每个被试的数据大小不一致,在Statistics中将无法进行统计检验,提示数据提取出错。)
3.进入下一个界面,根据研究目的选择进行配对样本t检验,还是独立样本t检验,然后点击NEXT。
4.进入下一个界面。选择None,点击Next。
5.进入下一个界面。将数据导入,此阶段使用的数据是从analyser里面导出的数据,后缀为txt。在All files下拉菜单中选择txt,所有txt文件就被选出,然后将其中一个文件夹中的txt数据拖入到ListA中,将另一个文件夹中的数据拖入到ListB中(或勾选左上Indude subfolders前面的复选框,直接拖动相关文件夹),这样更方便。点击Next。
6.进入到下一个界面,选择第三个“All tests for each TimeFrames/Frequencies”,进行点对点的分析。点击Next。
关于每个复选框的解释如下:
1、 All tests for all TimeFrame/Frequencies表示对所有文件中的所有时间点(例如:时间轴是1秒的,time frame是1000,那在此步骤内就是对两种条件下的每一个电极点下的1000点进行平均,之后进行统计检验以获得差异最大的时间点)进行的eloreta分析,得出的是1000个点的数据。
2、 1 single test for averge in a specified TF interval表示对某个时间窗口中(例如:我们要对N1成分进行定位,那么N1成分的时间窗是80-120ms。在此步骤,选取80-120内的时间点进行平均,之后进行统计检验以获得一个最大的统计值)的时间点做平均,得出一个点的数据。
3、 All tests for each TimeFrame/Frequency in a specified interval表示对每一个时间点(比如:我们上述数据是1秒的,time frame是1000,在此步骤内选取某个时间窗比如:50-160内的时间点,两组A组与B组之间进行50-160内的每个时间点一一进行统计检验,即组A的50对应组B的50;组A的52对应组B的52,之后进行统计检验以获得各个时间点的最大的统计值)可以两组做点对点的sloreta分析。一般在ERP-sloreta里面做的时候就用all test for each timeframe/frequency in a specified interval。
7.进入下一个界面,选择t-statistic,按下图所示输入相应数值。双击最下方灰色的方框,设定输出文件的名称,例如:ttests,点击Next。
8.进入下一个界面。点击perform test。此阶段需要一定时间,请耐心等待。
9.如果你在步骤8中将输出的文件名称设为ttests,那么,该统计分析过程结束后,在目标文件夹中会出现5个文件,如下图所示。
10.打开名为MaxStatistics的文件,会出现以科学计数法表示的一纵列数值(图1),将这些数值复制到excel里,通过排序对这些数值的绝对值(ABS)进行降序排列,找出差异最大的那个点(图2),然后在此差异最大的点向前向后各取3个,形成一个时间区间。例如:差异最大的时间点事164,那我们的时间区间是161-167ms。
图1
图2
11.如上图所示,若我们找出的最大点是164,在下一个统计过程中,我们要检验的区间可以使161-167ms。164对应的最大差值是3.42,根据这个值看Thresholds & ExtremePs这个文件,这个文件夹提供了t检验的临界值,有单尾检验和双尾检验,请各取所需。若我们出得出差异最大的值小于t检验的临界值,就说明差异不显著;如果我们得出差异最大的值大于t检验的临界值,就说明差异显著(有0.01和0.05,请各取所需)。
sLORETA :“Where”的工作
12.回到Statistics,回到上次离开时的界面,点击Clearall & Restart,会出现“Are you sure you want to clear all data”然后选择“yes”。
13.回到下图,这一做统计分析用到的是slor数据。选择Sloreta(slor),点击Next。
14.选择None,点击Next。
15.根据实验目的,选择统计方法,例如:配对样本t检验,独立样本t检验,点击Next。
16.选择None,点击Next。
17. 将数据导入,此阶段使用的数据是经过转换的带有slor后缀的数据。在All files下拉菜单中选择slor,所有slor文件就被选出,然后将其中一个文件夹中的slor数据拖入到ListA中,将另一个文件夹中的数据拖入到ListB中。点击Next。
18.选择“I single test for average in a specified IF interval”点击Next。
19.在“when”这一步骤中,我们寻找出差异最大的点,比如说这个最大的点是161,在这个值前后3-5个值,形成一个区间,例如:161-167。
20.按照下列
进行选择,然后最下方灰色的方框,设置输出文件的文件名点击Next。
21.选择Perform tests,此阶段需要一定时间,请耐心等待。
22.此过程结束后,如果你在步骤9中设定的文件名称为t-test,目标文件夹中会生成5个文件,如图所示。MaxStatistics中会生成一个最大值,将这个最大值与Threshold & ExtremePs中的值对比,看是否具有显著性差异。
查看定位结果
23.打开sloreta, 选择Viewer/Explore。定义电极数目(选择Number of Electrodes,例如:用于分析的有20个电极,就输入20),定义采样率(Sampling RateHz。例如:1000HZ/S,就输1000)。
24.Data Type 中选择Sloreta time domain,然后红框就变成下面这样。
24.选择FlieExplore,打开Folders and files,选择t-test.slor,双击。然后再Slice Viewer中会显示出激活的脑区,如图所示。主要激活区域是 Brodmann area 10,上额回合和中额回最前测的部分。
直接进行sLORETA:对某种已知差异显著的脑电成分进行定位。
1.选择Specify time frames,输入某一成分的时间窗加基线时间的数据。例如:对N1进行定位,N1的时间是80-120ms,基线时长是200ms,那么First time frame应该输入280,Last time frame应该输入320。
2.直接进行sLORETA。步骤同13-24一致。
第三部分:单样本t检验
做组间比较的时候并没有定位到我所需要的脑区,那么可以试图通过单样本t检验来
组内是否可以出现我所需要看到的定位脑区,并且查看与0比较,是否有显著激活。
1.进行单样本t检验所需要的数据格式为slor3。拖入一种条件下所需要的数据,数据格式是txt。选择Specify time frames,输入某一成分的时间窗加基线时间的数据。例如:对N1进行定位,N1的时间是80-120ms,基线时长是200ms,那么First time frame应该输入280,Last time frame应该输入320。选择Compute sLORETA-xyz。
2. 点击sLORETA主菜单Statistics,进入下图这个工作界面,选择sLORETA-xyz(slor3),然后点击NEXT。
3.选择None。点击Next
4.选择Single group,zero mean testA=0,点击Next
5. 选择None,点击Next
6.将slor3的文件拖入listA中,点击Next 7.
7.选择第二个,“I single test for average in a specified IF interval”点击Next。
8.填入相应的时间,与之间的解释一样。
9.选择t-statistics,按一下要求进行填写,最后选择输出文件名称。
10.perform tests。
11.看结果。与之前一致 。
附带邓玉琴老师关于学习sLORETA的经验汇总:()
第一部分
2007版的主要有三个部分:Main Utilities; Viewer/Explorer; Statistics;2008版增加Connectivity,此外在Main Utilities也增加了些内容,比如:resampling。
Main utilities主要是进行电极的矩阵转换;在EEG/ERPs to sLORETA里对BP里面平均后且进行基线校正的txt数据(注意该数据只是数据没有任何电极等信息)把txt数据放入EEG/ERPfiles;在fIle with transformation matrix找到转换好的电极.spinv;如果转换所有的时间段的,则为:convert all time frames; 如果要转化某段时间内数据则为“specify time frames”--------如果只是将某组数据进行单样本T检验,则将数据转化为compute sLORETA-XYZ,转换后的数据后缀是:.slor3; 如果将某组数据与基线进行对比,或者与另一组数据进行T检验,则将数据转化compute sLORETA,转换后的数据后缀是:.slor。
Viewer/Explorer把矩阵转换后电极放入此单元,把Statistics的结果放入相应单元,来看结果。
Statistics进行统计检验;比如事件相关电位的:先进行when的统计检验,找到哪段数据是显著的,之后找到显著的时间段后,再找where显著。当然,文献中也发现有的研究中直接跳过when直接通过ERP的结果找最大的幅值点,导出相应的Time frame之后直接进行where的统计检验。
第二部分
参考文献:Neurocognitive deficits in male alcoholics: An ERP/sLORETA analysis of the N2 component in an equal probability Go/NoGo task
ERP进行源定位分析的思路:在ERP处理软件导出一段数据,确保每个被试数据电极位置一致,具体参照Slide11的介绍。
把电极txt进行转化a.sxyz为后缀的Talairach coordinates;之后将其转化为a.spinv为后缀的sLORETA transformation matrix。-----这个目的是为了更好地看结果,这样在viewer这个单元里,双击上述的相应的文件夹,之后可以在 “current information”看到相应的电极数变化;electrode coordinates file;Transformation matrix file里看到相应的文件位置。如果把data type 设定为“EEG/ERP time domain”的话,再打开某个相应的原始ERP导出的某个被试的结果,点击相应的time frame那就可以看它所激活的相应脑区。当然,这样的阅读是不完整的。进行相应的统计分析,才能更加有说服力。
这里需要学会计算几个内容:Time frame,例子数据,就是1s的采样率为256 Hz/s的数据,故number of time frames为256;如果我们采样率为500Hz/S,取3s数据,那么number of time frames为1500。
ERP里进行when的统计检验,结果文件夹里根据“PairedERPttests-Thresholds&ExtremePs.txt” 确定显著的时间点,之后“*MaxStatistics.txt”里找哪个时间段里的数据达到了显著。“*ThresholdsExtremePs.txt”里
了数据是否有达到统计显著的,其中里面的“ExtremeP”可以看到结果我们所计算的数据 里是否有显著的值,而其前面的就是相应的阈值,对应T的相应阈值,在“*MaxStatistics.txt”里看是否有大于此阈值的数据,并找到相应的 时间段。 根据上述文献作者提供,一般要取显著的前后各两个数据,即共5个数据来进行“where”的统计分析。
比如:在“*ThresholdsExtremePs.txt”里 t(0.01)下two-tailed(A<>B)是5.707;在“*MaxStatistics.txt”里这一秒数据里最大值都大于5.707,那说明有很多时间段都p<0.01;如果我要找N200(时间窗是270-300ms)下的when最大点,那么就是先找到270-300ms的time frame,(我数据采样率500Hz,即1秒500个点)那time frame:(即270*0.5-300*0.5)135-300。在time frame 135-300里的“*MaxStatistics.txt”找一个最大数字且该数值也大于5.707;之后找该数值的前后两个数据,共5个数据点来进行接下来的where统计,比如:我的N200(时间窗是270-300ms)time frame135-300里,最大值是168timeframe下的T=13.21105;------那我就选择的166 167 168 169 170这5个timeframe进行where 统计分析,即统计分析时:I single test for average in a specified TF interval----start TF填166;End TF填170.
When----“ERP”—average reference—“tests for all time frames”
Where---“sLORETA”或”sLORETA-XYZ”(单样本t检验)----“I single test for average in a specified time interval”(找到具体的显著点的数据,之后进行统计分析)----“Log of ratio of averages (similar to log of F-ratio)”---“Perform randomization SnPM,”
Where的统计检验:当进行单样本t检验时,即拿.slor3(单样本t检验:需要先将数据转换成slor3的数据,之后进行相关的统计分析。)
进行分析,可以选择single group, zero mean test A=0。
当一组数据与其自己的baseline进行比较,则为拿.slor 数据进行分析:选择paired groups testA=B,之后进行分析listA与listB选择的是同一组数据,之后A数据的timeframe是基线时间段的time frame;数据B是该数据的timeframe要分析的那段数据的tIme frame,比如(P200成分峰值的time frame)
注意结果看数据是:
1.When采用的是 EEG/ERP time domain;电极矩阵sxyz;注意底下的TF必须与你最初的统计分析所用的number of time frame一致。看相应的时间位置,找when的最大数值,这里主要看txt的结果文件。
2.Where采用的是 sLORETA time domain; 点击”*slor”为后缀的结果数据。注意数据的采样率。Value=是相应的T值或F值(T检验的值;F检验的值)
无论是when还是where都是在“-Thresholds&ExtremePs.txt”为后缀的地方看统计检验;其中,ExtremeP底下可以找到,是否有效显著的阈值,如果有.05的,那说明对应的one-tailed就有相应的数值。t(0.01)是指0.01下相应的T阈值,如果“MaxStatistics.txt”里有相应的T值大于t(0.01)下的,那说明那个时间段有显著的值。
由于when统计下是“tests for all time frames”,所以其“MaxStatistics.txt”对应n个time frame的T值,比如你的number of time frame是256;那其这里就有256个T值。
其中,where里“Thresholds&ExtremePs.txt”为后缀的地方看统计,结果比如有组数据结果是:“ t(0.01) t(0.05) t(0.10) ExtremeP
Two-Tailed (A<>B): 5.492 4.910 4.592 0.00020”
-----那么p<0.05下的T值为4.910;在文件“-MaxStatistics.txt”里数字结果为“1.092263E+0001”----这里的这个“1.092263E+0001”明显大于“Thresholds&ExtremePs.txt”文件里的任何数据,说明数据进行where对比时,是显著的。那么在Viewer/Explor里需要查看这个where的结果数据,找到相应的“.slor”文件双击,设定好TF,采样率之后打开;在SliceViewer里点击“Find Max/Min”在“Threshold(type in value)”里输入相应的阈值,比如这里T=4.910(p<0.01),即输入4.910,选择正激活或者负激活,点击go即可出现很多的脑区,