坐标系
Dicom成像系统中常用三种坐标系,即世界坐标系、解剖坐标系、图像坐标系,下图说明了三个空间及其对应的轴。
世界坐标系
世界坐标系通常是其中放置模型的笛卡尔坐标系。每个模型(如MRI扫描仪或患者)都有自己的坐标系,但只有一个世界坐标系来定义每个模型的位置和方向
解剖坐标系
也叫患者坐标系,最常用的坐标系了。有三个平面组成,用于描述人的标准解剖位置。
轴向平面,平行于地面,并将上下分开
冠状面,垂直于地面,并将前后分开
矢状面,垂直于地面,并将左右分开
不同的应用对这个定义也不同
LPS(左、后、上)用于Dicom图像和ITK工具包
RAS(右、前、上)用于3D Slicer
图像坐标系
描述了相对于解构解构如何获取图像
除了每个体素(ijk)的强度值之外,还存储了解剖坐标的原点和间距
-
原点表示第一个体素(0,0,0)在解剖坐标系中的位置
-
间距指定体素之间沿每个轴的距离
,(0018,0088) SpacingBetweenSlices
使用原点和间距,可以计算每个体素在解剖坐标系中的对应位置。
图像变换
图1表示线性变换是通过矩阵乘法实现的,而平移是通过向量加法实现的。所以为了通过矩阵乘法来表示坐标变换和平移,必须使用增广矩阵。
2D示例(计算IJ转LS)
原点坐标(50,300),像素间距(50,50)
IJtoLS,J是往后是正向,但是LPS中,正向却是往前,所以才有-50.
IJtoRS,I跟R也是反向,所以又有一个-50,好理解。
使用Matlab将Slicer的RAS坐标映射到NIFTI
M是变换矩阵,RAS是Slice中的坐标,d是体素坐标。Matlab中的niftiread已经实现了该功能,但因为Matlab是按列存储,需要转置一下。