python醫學影像2:坐標系
(出於版權方面的考慮,刪除了引用的三張圖片 -- 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]是相對於醫療設備中心點的位置信息,單位為毫米。
推薦閱讀:
※詳解Python元類
※如何向不懂 Python 的人介紹 Python?
※Python中Turtle模塊的基本指令都有哪些?
※數學不行還學AI-第4話-圖解張量(內有惡貓)
※Stack Overflow 報告:Python 正在令人難以置信地增長!