特别注意:

1. 空间和模板是两个概念,空间是规定的坐标系,模板是【组上平均脑】。
2. 有些文档就是喜欢把这两个概念混着说,看的时候要注意到底是在说啥。

个体空间和标准空间

个体空间:基于扫描仪坐标系

  1. reference space

    • 坐标原点:机器的三个梯度平面交叉点。The origin of the axes is at the magnet isocenter. This is coordinate (0, 0, 0) in our reference space. All three axes pass through the isocenter.
    • 单位:毫米。The units for all three axes are millimeters.
    • 三个坐标轴
    • scanner axes(与站在机器后,面对机器的观察者一致)
      • 上下:地板到天花板
      • 延伸方向:从磁环到床尾,平行于床
      • 左右:观察者左右
    • subject-centered scanner coordinate system(根据被试躺的方向为准,改变三个轴的顺序)most common:scanner RAS
      • 被试平躺(脸朝上),脚朝床尾:三个轴的顺序为3,2,1(无颠倒,所以为RAS+)
      • 被试平卧(脸朝下),脚朝床尾:三个轴的顺序为-3,-2,1
      • 猩猩是驼背,扫的时候一般是侧卧的(有些特殊被试可能姿势也不太一样)
  2. voxel coordinate in voxel space(刻画一个体素在数据矩阵/3D图像中的位置)

    • 对于同一个被试,同次扫描获取了两个图像:anatomical(蓝色)和EPI(红色),bounding box不同,可以通过ijk2xyz找到它们的对应关系。
    • ijk2xyz的矩阵可以在qform/sform中找到。

标准空间:借助标准模板定义的空间(用于把被试数据的脑子放整齐)

  1. MNI空间

    • 借助模板:MNI152平均模板
    • 坐标原点:前联合。The origin (0, 0, 0) point is defined to be the point that the anterior commissure of the MNI template brain crosses the midline (the AC point).
    • Axis units are millimeters.
    • Y轴【模板定义轴】:经过模板脑左右半球间的中线,穿过AC点,从posterior到anterior。The Y axis follows the midline of the MNI brain between the left and right hemispheres, going from posterior (negative) to anterior (positive), passing through the AC point. The template defines this line.
    • Z轴:垂直于X轴,穿过AC,从inferior到superior。The Z axis is at right angles to the Y axis, going from inferior (negative) to superior (positive), with the superior part of the line passing between the two hemispheres.
    • X轴:垂直于YZ轴。穿过AC,从左脑到右脑。The X axis is a line going from the left side of the brain (negative) to right side of the brain (positive), passing through the AC point, and at right angles to the Y and Z axes.
  2. Talairach空间(相比MNI,目前不那么常用了)

    • 借助模板:Talairach
    • 坐标原点:前联合。
    • Y轴【模板定义轴】:经过后联合和前联合的线。

附加内容:

qform与sform

  1. 这俩是啥?

    • 从ijk到xyz的变换矩阵。
    • sform存储了不同模板空间下的voxel坐标变换矩阵,把图像配准到相应的空间就有了。
    • qform存储了scanner space下坐标变换矩阵。
    • [qs]code存储了xyz的空间信息(见2-code信息)
      注意:不是配准!不是说code=4的时候可以应用这个sform把个体的图像配准到标准模板上!这两个矩阵都是用来ijk2xyz的!别想多了!
  2. 怎么变的?

    • method1 强行变换的方法 x = pixdim[1] * i
    • method2 while qcode>0,刚体变换,一般用于到scanner space/align anat的对应
    • method3 while scode>0,仿射变换,用于到标准模板的对应,具体看code值
    • code信息
  3. 以nifti在nibabel加载为例

[qs]form_code value: x,y,z coordinate system refers to:
define NIFTI_XFORM_UNKNOWN 0 Arbitrary coordinates (Method 1).
define NIFTI_XFORM_SCANNER_ANAT 1 Scanner-based anatomical coordinates
define NIFTI_XFORM_ALIGNED_ANAT 2 Coordinates aligned to another file's, or to anatomical "truth".
define NIFTI_XFORM_TALAIRACH 3 Coordinates aligned to Talairach-Tournoux Atlas; (0,0,0)=AC, etc.
define NIFTI_XFORM_MNI_152 4 MNI 152 normalized coordinates.

怎么配准?

    线性配准: http://web.mit.edu/fsl_v5.0.10/fsl/doc/wiki/FLIRT(2f)UserGuide.html
    非线性配准: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FNIRT/UserGuide

参考资料

https://nipy.org/nibabel/coordinate_systems.html
https://nifti.nimh.nih.gov/nifti-1/documentation/nifti1fields/nifti1fields_pages/qsform.html