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 正在令人難以置信地增長!

TAG:医学影像 | Python |