设置工作空间:
## bash
<source_freesurfer>
export TUTORIAL_DATA=<path_to_your_tutorial_data>
export SUBJECTS_DIR=$TUTORIAL_DATA/buckner_data/tutorial_subjs/group_analysis_tutorial
cd $SUBJECTS_DIR
## tcsh
source $FREESURFER_HOME/SetUpFreeSurfer.csh
setenv TUTORIAL_DATA <path_to_your_tutorial_data>
setenv SUBJECTS_DIR $TUTORIAL_DATA/buckner_data/tutorial_subjs/group_analysis_tutorial
cd $SUBJECTS_DIR
在本教程中,您将学习如何对基于组曲面的数据进行统计分析,包括:
1.预处理组数据
2.构造对象受众特征的qdec.table.dat文件
3.使用Qdec设计和执行分析
4.与Qdec显示互动
5.创建感兴趣区域(ROI)以便进一步分析和最终检查数据
Qdec是FreeSurfer发行版中包含的单二进制应用程序。 Qdec是查询,设计,估计,对比度的首字母缩写。 它旨在帮助研究人员对FreeSurfer处理流生成的形态数据(皮质表面和体积)进行对象间/组平均和推理。 Qdec允许对与误差方差有关的感兴趣效果进行统计推断。 它还允许进行某些置换测试和其他手段来校正多重比较。 Qdec在结合了mri_glmfit实用程序(第4节Surface Based Group Analysis中的内容)的同时,提供了更加用户友好的GUI;具有更广泛的GLM功能的仅命令行工具。
Qdec旨在:
1.选择符合研究标准的对象
2.生成必要的输入到统计引擎,对于mri_glmfit包括:
1.包含解释变量的设计矩阵(在GLM方程中称为X)
2.参数估计矩阵(在GLM方程中称为A)
3.对比向量
3.生成并可选地显示输出数据和/或图像
----------------------------------------------------------------
线性建模概述
线性建模将观察到的数据描述为解释性因素加噪声的线性组合,并确定该描述对所分析数据的解释程度。为了了解如何在FreeSurfer中执行组分析,您需要了解通用线性模型general linear model (GLM)以及如何以矩阵表示法构造GLM。您可以单击此处查看该材料的回顾。我们在这里使用的表示法是:y = X * beta,其中y是矢量观察到的数据(例如,每个受试者在某个顶点的厚度),X是已知的设计矩阵(例如,性别,年龄),而beta是未知参数估计(PEs)的向量。 PEs的解释将取决于X的构造方式。例如,它们可以解释为表示厚度随年龄变化的斜率。然后,分析/估计是在给定数据y和设计矩阵X的情况下计算beta的过程。使用对比矩阵C构造空假设(H0)。通过测试值gamma = Cb是否为零得出推断。
------------------------------------------------------------------
Preprocess Group Data
recon-all
在使用qdec应用程序之前,您的小组对象数据必须通过recon-all脚本由标准的FreeSurfer处理流处理。 该处理流提供每个对象的表面和形态测量数据。 在tutorial中的数据已经被处理过了。
pre-smoothed fsaverage surfaces预平滑的fsaverage曲面
Qdec需要每个对象为每个度量(厚度,表面,面积,弯曲度等)的目标表面(默认为fsaverage)具有预先计算的平滑数据。 在$FREESURFER_HOME/subjects 目录中,您的SUBJECTS_DIR应该包含fsaverage对象的链接或副本。 将数据预平滑到目标表面上不是通常的recon处理流的一部分,但是您可以使用以下命令轻松地使用recon-all创建此数据(您可以将<subjid>替换为真实的对象ID):
recon-all -s <subjid> -qcache
-qcache标志将在您的计算机上运行许多back-to-back的mris_preproc进程,有关此标志的更多信息,请参见qcache页面。
qdec.table.dat
Qdec的主要输入是一个名为qdec.table.dat的文本文件,其中包含对象ID以及离散(分类)和连续因子,以表格的格式。这实际上是一张针对您的受试者的人口统计学表格,其中包括您要考虑的所有变量和因素。您可能具有不同的离散(分类)因子名称和级别(甚至没有离散因子,在这种情况下,所有列数据均假定为连续因子)。如果要控制因子在显示屏中出现的顺序,请单击此处获取说明。出于组织目的,最好在$ SUBJECTS_DIR中创建一个名为qdec的目录。您可以在其中保存qdec.table.dat文件。 Qdec运行时,还将把您的分析保存到该目录。已经为您创建了一个带有qdec.table.dat的qdec子目录。这是该文件的示例:
该文件包含40个受试者ID,其性别,年龄,左海马体积和右海马体积。 对于本教程,您已经存在qdec.table.dat文件。 或者,您的qdec.table.dat文件可以显式指定SUBJECTS_DIR,方法是将其包括在第一行非注释行中:
# This is a comment-line in the qdec.table.dat file.
# This explicitly specifies the SUBJECTS_DIR:
SUBJECTS_DIR /my/path/to/subject/data
.
.
.
fsaverage平均
出于显示目的,您需要在SUBJECTS_DIR中包含平均对象。 在MNI305空间中制作的FreeSurfer的fsaverage效果很好:
就本教程而言,fsaverage已添加到您的SUBJECTS_DIR中,因此您无需运行以下命令。
cd $SUBJECTS_DIR
ln -sf $FREESURFER_HOME/subjects/fsaverage
上述命令将会在SUBJECTS_DIR中增加一个fsaverage。
如果希望从自己的数据集中创建平均对象,则可以使用make_average_subject。
Usage
从SUBJECTS_DIR中运行Qdec,只需要以下命令:
export SUBJECTS_DIR=$TUTORIAL_DATA/buckner_data/tutorial_subjs/group_analysis_tutorial
cd $SUBJECTS_DIR
qdec &
Qdec打开可能需要几秒钟。 “与”号指示终端在后台运行此过程,因此您可能会在Qdec打开之前看到命令提示符返回。
Subjects
Qdec打开时,您正在查看“对象”选项卡。 您需要做的第一件事是加载qdec.table.dat文件。 单击File -> Load Data Table(文件->加载数据表),或者您可以使用qdec-load-data-table.png按钮,并遍历您的Subjects目录并选择qdec.table.dat文件。 单击“打开”时,它将加载文件,并在终端窗口中滚动内容。 如果正确加载了数据,则应该在终端窗口中看到一个摘要,例如以下示例:
这些因素(性别,年龄,左海马和右海马)应显示在控制面板上“Data Table View数据表视图”下的列表中。 如果从该列表中选择一个因子,则数据散点图将出现在窗口中。 选择年龄,并且显示应如下所示:
x轴具有对象编号(从对象在qdec.table.dat中列出的顺序中获取),y轴具有所选变量的值。 在所示的示例中,您可以看到所有40个对象的年龄的图表。 您可以使用它直观地检查数据中的异常值。 在Qdec中,如果将鼠标悬停在图上的一个点上,则可以找出它是哪个对象----ID将显示在Qdec界面的左下角。
Stats Data Import
可以从FreeSurfer处理的组数据中导入aseg和aparc数据。为此,请按“Generate Stats Data Tables生成统计数据表”按钮。这将在您的组数据上运行FreeSurfer实用程序asegstats2table和aparcstats2table。完成后(您应该在终端屏幕上看到进度),应该在“Stats Data Import统计数据导入”下拉菜单下看到许多选项。按住“Stats Data Import统计数据导入”按钮以滚动浏览并选择一个文件。在该菜单中,您可以选择aseg.volume。这样做后,将显示各种皮层下结构的体积数据。例如,您可以选择Left-Lateral-Ventricle,然后单击Add Selection to Data Table。这样做后,它将显示在“Data Table View数据表”视图的“ Discrete and Continuous Factors离散和连续因子”中。现在可以在分析中使用Left-Lateral-Ventricle左旋侧脑室(左海马体和右海马体以这种方式从aseg.volume中导入)。如果在“Data Table View数据表”视图中选择“Left-Lateral-Ventricle”,则会绘制所有对象的体积数据。您可以查找模式或异常值。如果您怀疑有异常值,请在散点图中右键单击该点。然后,您可以排除该对象,或者在TkMedit中对其进行检查,以检查原始扫描数据中是否存在问题。最后,您可以通过从“File menu文件”菜单中选择“Save Data Table 保存数据表”,将此新导入的数据(在本例中为Left-Lateral-Ventricle)保存到qdec.table.dat文件中(但对于本教程不做此操作)。
Design
单击“Design tab设计”选项卡时,您的离散(性别)和连续(年龄,左海马,右海马和左外侧心)因子应会出现。
您可以在“Design设计”选项卡中选择最多四个要进行回归的因素。对于本教程数据,您可以选择年龄(或只选择一个连续因子,“左海马”)。 “Design设计”选项卡中的“Nuisance Factor讨厌因素”菜单允许选择任意数量的连续变量,这些连续变量将被视为GLM中的nuisance variables讨厌变量(对比度矩阵的连续变量值将为“ 0”)。为了简化本示例,请在“Continuous连续变量”菜单中only age仅选择年龄(在“Continuous连续”窗口下的菜单中单击它),将“度量”,“平滑度”和“半球”保留在页面顶部的Measure (Dependent Variable)“度量(因变量)”菜单中,其默认值(厚度,10mm和lh)。在单击“Analyze分析”按钮之前,您需要为您的设计命名,例如“ lh-thickness-age-fwhm10”,然后将其输入到窗口顶部的“Design Name设计名称”文本输入框中。现在单击Analyze分析按钮,统计引擎将开始处理,执行mri_glmfit可执行文件。单击“Analyze分析”后,终端将显示此处理的输出。同样,进度信息显示在Qdec应用程序的底部栏中。分析可能需要一两分钟。
Display
分析完成后(大型对象集最多需要花费几分钟),您可以单击“Display显示”选项卡,并且在屏幕上将显示fsaverage膨胀的曲面。 您将看到一个问题列表,总结了已完成的各种分析。
您可以单击以下问题之一以加载结果。 如果单击“Does the correlation between thickness and age differ from zero厚度与年龄之间的相关性是否不同于零”,它将显示与年龄和厚度相关的统计上显着的区域。 这是显示示例:
“ Find Clusters and Goto Max”按钮在选定的结果上运行mri_surfcluster,它将根据当前选定的显示阈值查找群集,将结果表输出到终端,并将光标移至#1群集中的最大顶点。 Qdec中的“下一个”和“上一个”按钮允许光标循环移动要找的群集。 在显示的图像上,注意指示您当前选择的顶点的绿色十字线。 通过按住Ctrl键的同时单击鼠标左键,可以更改顶点并显示特定顶点的数据图。 如果要关闭光标显示,可以使用cursor.png按钮。 这是与所选数据相对应的示例图:
该图在y轴(垂直)上(在这种情况下为皮质厚度)显示了测量值,在x轴(水平)上的变量为(这种情况下为年龄)。 绘图上的每个数据点都代表单个对象,表示所选顶点处的年龄和皮质厚度。 对于这个顶点的示例,我们可以看到皮质随着年龄的增长而变薄。 绘图窗口和Qdec窗口底部的信息都显示该顶点具有surface表面坐标(-33.80、30.67,-2.98),并且是Vertex#124962。有效值为-6.43,位于中前区域。 该显示的含义是-log(10)p值,而不是直接p值。 除此之外,您还可以通过使用运行前数据的Monte Carlo蒙特卡洛聚类仿真对多个比较进行校正,从而使运行时间接近瞬时。
Interacting with your data
Rotating, Panning and Zoom
要旋转显示,请按住鼠标左键并移动鼠标。 在移动鼠标的同时按住中间按钮将在窗口中移动对象显示。 移动时按住鼠标右键将缩放显示。
Qdec显示屏顶部有一些按钮,它们也会旋转和缩放:
Parcellation Display拼合显示 打开时,皮质拼合被加载到Qdec中。 在Display显示选项卡中,您可以调整注释不透明度。 显示更新时可能会稍有延迟,请耐心等待!
向右滑动按钮将开始在叠加层下方显示拼合注释。 您可以将不透明度提高到与数据交互有用的水平。 选择一个点后(按住ctrl键并单击鼠标左键即可完成),窗口底部的信息将告诉您在哪个区域或分割单元中找到了该点。
Significance Thresholds重要阈值 您还可以在“显示”选项卡上调整覆盖的阈值级别。 设置色标时,您对两件事感兴趣:阈值(即低于该值的顶点将是透明的-最小值)和饱和点(即超过该值的颜色将不会改变-最大值) )。 这些阈值的含义取决于作为叠加层加载的数据的性质。 您当前正在查看的地图是-log10(p),其中p是有效位,因此最小值2将显示p <.01的所有顶点,最大值5将显示p <.00001的相同颜色的顶点 。 您可以将阈值降低至1.3、2、3,以显示p <.05的所有顶点。 您可以将阈值提高到4、5、6,以显示p <.0001的所有顶点。
Variations on Design
使用Qdec,可以轻松设计和运行各种不同的分析。对于第一个示例,我们仅研究对象的年龄和体厚。单击返回到“设计”选项卡,然后选择“性别”,以将其添加到设计中。您将要更改设计的名称,将其命名为“ lh-thickness-age-gender-fwhm10”,然后单击“分析”。分析完成运行后,单击“显示”选项卡,然后查看列表中是否有其他问题,这些问题总结了已完成的各种分析。现在显示的问题是,男性和女性之间的厚度-年龄相关性是否不同?男女之间的平均厚度是否有所不同?单击以下问题之一以显示统计学上显着的区域,在该区域中,男性和女性的年龄和厚度相关性不同,或者男性和女性的平均厚度分别不同。同样,您可以使用其他连续变量之一-海马体积-并运行该设计。您还可以进一步更改设计,如果单击“设计”选项卡,则可以将尺寸从厚度更改为其他内容-面积,体积和其他。您还可以更改平滑级别-您可以选择0、5、10、15、20和25。您可以在左(lh)或右(rh)半球上执行任何这些操作。花几分钟选择要运行的新设计,记住在单击“分析”之前将其命名为新名称,以便可以保存结果目录。
Define a Region of Interest
FreeSurfer能够计算在定义的region of interest关注区域(ROI)上平均的统计数据,这是测试统计假设的另一种流行方法,也是一种检查数据的好方法。 由于我们将在各个对象之间进行比较,因此我们将在fsaverage平均水平上定义ROI。 要定义在表面上标记ROI的标签,请按住shift键,然后单击鼠标左键并拖动以绘制ROI。 绘制ROI时,请缓慢绘制,以便在必要时使显示跟上您的步伐。 无需担心精确地关闭ROI-完成并释放鼠标按钮后,Qdec将自动为您关闭ROI。 然后,您应该看到绘制的ROI的绿色轮廓,如下所示:
然后,您可以选择add the selection to the ROI将所选内容添加到ROI按钮,并且您的标签现在应该用紫色填充,如下所示:
如果您没有将标签添加到ROI并再次开始绘制,则Qdec将删除您的第一个标签并开始第二个标签。
如果您已向ROI添加了某些内容并想要删除它,则可以使用ROI按钮中的删除选择。
完成后,可以通过选择文件->保存标签或单击保存标签按钮来保存标签。 将弹出一个对话框,您可以选择位置和名称来保存标签。 在此示例中,您可以将其称为“ lh.supramarg.label”,因为它是supramarginal gyrus超上回的标签,然后单击“保存”。
可选(因为这需要几分钟才能完成):
然后,将此标签映射到小组研究中的所有单个对象,从该区域提取统计值或可视化每个对象的区域以检查结果的完整性,可能会很有用。您可以通过File --> Map Label to Subjects...选择文件->将标签映射到对象来自动执行此操作。将弹出一个对话框,询问标签名称。您可以在名称的.label之前输入任何内容。对于此示例,输入lh.supramarg,然后单击确定。这将使用mri_label2label将该标签从您的平均表面映射到您研究中的所有对象。完成后(可能需要几分钟),每个对象的标签子目录中都会有一个名为lh.supramarg.label的文件。
出于教程目的,您可以运行以下命令以将标签映射到单个对象,而不必执行上述命令。 (如果命令提示符看不见,可能需要在终端中按Enter键,以使命令提示符返回。)
mri_label2label --srclabel lh.supramarg --srcsubject fsaverage --trgsubject 004 --trglabel lh.supramarg --regmethod surface --hemi lh
上面的命令在004 / label目录中创建标签lh.supramarg.label。 有关此命令的更多信息,请在终端内键入“ mri_label2label --help”。
Important flags:
--srcsubject (the source subject)
--srclabel (the input label file from source subject)
--trgsubject (target subject you are mapping the label to)
--trglabel (output label file on target subject)
--regmethod (specify if you want the registration to occur on the surface or in the volume)
mris_anatomical_stats
您可以使用mris_anatomical_stats获取有关所创建的每个标签的一组统计信息。 在为主题004生成的标签lh.supramarg.label上运行的命令是:
cd $SUBJECTS_DIR
mris_anatomical_stats -l lh.supramarg.label \ -t lh.thickness -b -f 004/stats/lh.supramarg.stats 004 lh
Important flags:
-l limit calculations to a specified label (in our case, lh.supramarg.label)
-t use specified file for computing thickness statistics ( in our case, lh.thickness)
-b tabular output
-f table output to tablefile (different format than -b). Must use -a or -l options to specify input.
这将输出004 / stats / lh.supramarg.stats。 该文件只提供了这个区域的顶点的数量,表面积,灰质体积,平均厚度和st. deviation,平均曲率,高斯曲率,折叠指数和曲率指数。 您可以对所有主题运行相同的命令以生成这些统计信息。 然后,您可以使用aparcstats2table为您的对象生成一个包含这些信息的用空格分隔的表。
将标签映射到多个对象时,最好使用Freeview在每个主题上可视化此标签,以确保没有问题。
Correction for Multiple-Comparisons
有关支持Qdec中多个比较的校正的信息,请参见此页面。 请注意,这不是教程。 在此可以找到关于该主题的更深入的教程。
Miscellaneous
Qdec通过.Qdecrc文件支持一些自定义。