神经影像数据处理/处理/步骤/层间时间校正
为了采集整个大脑的数据,一个典型的脉冲序列可能会在整个重复时间TR(例如 3 秒)内采集 30 个(或更多)层。一种方法是使用升序/降序层间采集,其中层间依次采集。然而,大多数 fMRI 研究现在使用交错层间采集,其中扫描仪首先采集所有奇数层的层,然后采集所有偶数层的层(避免层间激发)。
由于连续或交错层间采集,大脑的相邻部分在某个重复时间内以不同的时间点采集。换句话说,大脑不同层上的血氧水平依赖信号BOLD在不同的时间点进行采样。因此,在最后采集的层(重复时间后期)中获得的信号(血流动力学反应)似乎比周围层(重复时间早期采集)的信号更早达到峰值,即使潜在的活动是相同的。如果不校正每个层的采集时间,时间进程在层间似乎会有所不同。
但我们真的希望在同一时间点获得整个体积的信号!
有时层间时间校正被认为是预处理中的一个可选步骤,以及在配准之前还是之后进行(旨在克服头部运动带来的问题)也存在争议。通常,论点是,使用短重复时间时,层间时间校正不是强制性的,因为血流动力学反应比较缓慢。然而,对此也有一些反对意见,Sladky 等人(2011)表明,在最坏的情况下,它不会改变结果,但在大多数情况下,它会改善结果——尤其是在事件相关设计中。
SPM 对这些问题提供了一些建议。
- 使用顺序层间顺序
- 轻微头部运动:先配准,然后进行层间时间校正
- 显著头部运动:先进行层间时间校正,然后配准
- 使用交错层间顺序
- 关于是否应该使用层间时间校正存在很大争议,尤其是在存在严重头部运动时。
- 执行动态因果模型 (DCM)
- 如果要使用 DCM,则层间时间校正是一个必要的步骤。
通常,他们不建议将层间时间校正用于 GLM 分析。相反,他们建议在模型中使用时间导数。如果您仍然选择进行层间时间校正,他们建议在运动校正之后进行(这也是在 FEAT 工作流程中实现的方式)。
可以通过时间插值来校正层间时间差异。时间插值是指使用来自附近时间点的数据来估计未原始采集的信号在某个时间点的值。换句话说,插值使用来自附近时间点的信息来估计每个层的 MR 信号在重复时间内单个时间点的幅度。通常选择重复时间的第一个时间点,即体积的第一个层采集的时间,或中间时间点,即在 TA/2 采集的体积的层,作为参考层。选择第一个时间点具有简单易行的优势,例如,然后可以使用体积起始作为时间信息来执行 GLM 分析。使用中间时间点可能更准确,因为需要的插值较少(最大时间差为 TA/2 与完整的 TA),但必须在对信号/事件起始进行建模时考虑这一点。标准算法在时间点之间使用 sinc 插值。
任何恢复缺失信息的尝试都将受到实验数据变异性的限制,特别是与任务无关的变异性。
为每个层创建单独的分析模型,然后将其作为数据分析的一部分,而不是预处理。
当使用标准的EPI序列时,静息态 fMRI 的层间时间校正与基于任务的 fMRI 相同。然而,一些静息态 fMRI 研究使用多波段序列[1] 这使得层间时间校正 a) 由于非常短的重复时间而可能变得过时 b) 更加棘手,因为并非所有层都被单独采集。
3dTshift 是 AFNI 中进行层间时间校正的命令。-tzero nn 选项可用于定义所有层应重新采样到的时间偏移量。或者,可以使用选项 -slice n 来插值到体积的第 n 个层。默认插值是傅里叶插值,据说(在 AFNI 页面上)它是最准确但最慢的,但也可以进行调整。请参阅手册页以获取更多选项和详细信息[2]。用于将 z 方向(alt+z)交错采集的层的层间时间校正到时间点零,并且重复时间为 2.3 秒的命令如下所示
3dTshift -TR 2.3s -tzero 0 -tpattern alt+z -prefix OUTPUTFILE INPUTFILE
要验证层间时间(例如,层是否以交错方式采集),可以在 .results 文件夹中执行以下命令,这将为您提供层 0、1、2、... 的偏移量(其中 FILENAME
是当前数据集的名称,即在层间时间校正之前但在例如丢弃前几个体积之后,通常类似于 pb00.SUBJECTNAME.RUNNAME.tcat+orig
)
3dinfo -VERB FILENAME | grep offsets
您也可以使用afni查看器中的图形显示来检查切片时间。当时间(索引、值、**at...**)在图像中描绘获取平面切片的过程中来回跳动时,表示切片是交错获取的。切片时间校正后,时间不应该再发生变化,并且在图形本身中遍历时间序列时,时间应该从一个体素到另一个体素以TR递增。请参阅本书“AFNI软件”部分中提到的教程以获取更详细的描述。
在**afni_proc.py**中,这是一个默认组件,与第一个TR对齐。令人困惑的是,这里的标准插值是五次插值。当然,可以使用以下方法调整所有参数
-tshift_interp -tshift_align_to
切片顺序是切片时间过程中一个非常重要的参数,对顺序的准确描述可以确保校正效果。如果您不确定顺序,最好的方法是直接询问实验人员并获取第一手信息。在大多数扫描仪上,EPI将提供以下切片顺序:
- 升序:从负方向到正方向获取切片,在SPM中可以表示为[1ː1ːnslices]
- 降序:从正方向到负方向获取切片,在SPM中可以表示为[nslicesː-1ː1]
- 交错:交替地从奇数和偶数切片获取切片。奇数切片可以表示为[1ː2ːnslices],偶数切片可以表示为[2ː2ːnslices]。通常在这种模式下,采集顺序是升序的。
此外,某些机器可能具有特定的切片顺序模式(例如中心、反向中心、最大交错等),有关更多信息,请参见SPM/Slice_Timing。
参数 | 值 | 注释 |
---|---|---|
会话 | 图像批次 | / |
切片数 | 切片数量 | 整数 |
TR | 重复时间 | 浮点数 |
TA | TA = TR-(TR/nslices) | 浮点数 |
切片顺序 | 参见上文 | / |
文件前缀 | 带ä.nii | / |
FSL中的切片时间校正属于FEAT[3]预统计方法的一部分。它的工作原理是使用(汉宁窗)sinc插值将每个时间序列相对于TR周期的中间移动适当的TR分数。
在FSL GUI中选择FEAT,然后选择预统计选项卡。在那里,您可以将切片时间校正:从无更改为相应的选项,具体取决于切片的获取方式。如果切片是从大脑底部到顶部获取的,请选择常规向上。如果切片是从大脑顶部到底部获取的,请选择常规向下。如果切片以交错顺序获取(0、2、4...1、3、5...),则选择交错选项。如果切片不是按常规顺序获取的,则需要使用切片顺序文件或切片时间文件。如果要使用切片顺序文件,请创建一个文本文件,每行包含一个数字,其中第一行说明第一个获取的切片,第二行说明第二个获取的切片,依此类推。第一个切片编号为1,而不是0。如果要使用切片时间文件,请在文本文件的每一行中放置一个值(即每个切片的值)。单位为TR,0.5对应于无偏移。因此,合理的值范围将在0到1之间。[4]
FSL中的命令行选项为slicetimer[5]
slicetimer -i INPUTFILE [options]
您应该考虑指定的选项
-r,--repeat Specify TR of data (default is 3s) -d,--direction direction of slice acquisition (x=1,y=2,z=3) (default is z) --odd use interleaved acquisition (default is ascending) --down reverse slice indexing (default is ascending) --tcustom filename of single-column custom interleave timing file --ocustom filename of single-column custom interleave order file (first slice is referred to as 1 not 0)
Huettel, S. A.,Song, A.W. 和 McCarthy, G. (2008)。《功能性磁共振成像》(第二版)。Sinauer Associates, Inc: 美国马萨诸塞州桑德兰。
Sladky, R.,Friston, K.,Trostl, J,Cunnington, R.,Moser, E. 和 Windischberger, C. (2011)。功能性磁共振成像中的切片时间效应及其校正。神经影像,58, 588-594
- ↑ http://practicalfmri.blogspot.de/2012/03/grappa-and-multi-band-imaging-and.html
- ↑ http://afni.nimh.nih.gov/pub/dist/doc/program_help/3dTshift.html
- ↑ http://fsl.fmrib.ox.ac.uk/fsl/fsl4.0/feat5/detail.html
- ↑ http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FEAT/UserGuide#Pre-Stats
- ↑ http://poc.vl-e.nl/distribution/manual/fsl-3.2/slicetimer/index.html