(出于版权方面的考虑,删除了引用的三张图片 -- 2016-07-05)医学影像文件有两个坐标系,一个用于现实世界,一个用于计算机显示。
上图是现实世界的坐标系,想象下一个人站在磁共振设备当中,进行逐点扫描。其三个坐标轴分别称为Axial、Coronal、Sagittal。
Axial图像示例
Coronal图像示例
Sagittal图像示例
用于计算机显示的坐标系,就是体素坐标系了(voxel coordinates),把MRI扫描结果看成一个三维数组,每个元素即为一个体素。
用nipy.load_image打开一个nii文件,把它的坐标映射打印出来:
epi_img = nipy.load_image('file_name.nii')
print epi_img.coordmap
epi_img.coordmap:
AffineTransform( function_domain=CoordinateSystem(coord_names=('i', 'j', 'k'), name='voxels', coord_dtype=float64),
function_range=CoordinateSystem(coord_names=('scanner-x=L->R', 'scanner-y=P->A','scanner-z=I->S'), name='scanner', coord_dtype=float64),
affine=array([[ 0. , 0. , 1.20000458, -78.1088028 ],
[ -0.9375 , 0. , 0. , 146.58000183],
[ 0. , -0.9375 , 0. , 134.55000305],
[ 0. , 0. , 0. , 1. ]])
)
其中的affine保存了现实世界坐标和体素坐标系的映射关系:
print 'coordmap:', epi_img.coordmap([0, 0, 0])
输出:
coordmap: [ -78.1088028 146.58000183 134.55000305]
即,affine数组的第4列,保存的是体素坐标系的原点[0,0,0]在现实世界中的位置信息,上述输出中的[ -78.1088028 146.58000183 134.55000305]是相对于医疗设备中心点的位置信息,单位为毫米。