Dicom圖像解析

醫療圖像解析

Dicom

後綴: .dcm.DCM
Dicom中規定的座標系是以人座標系爲絕對座標系的,規定X軸正向指向病人的左側,Y軸正向指向病人的背部,Z軸正向指向病人的頭部。可是,座標點的位置,每一個廠商都有本身的見解
下圖展現了成像過程當中對應的座標系
成像座標系
url

三視圖
spa

圖片信息中的Tag說明
在DICOM中,是經過Image Position和Image Orientation來描述當前的圖像和人體座標系的相對位置的。
解析舉例.net

import dicom
import pylab
import os


dcm_img_base_url = "/home/fan/datas/dcmFile"
ds = dicom.read_file(os.path.join(dcm_img_base_url, "N2D_0020.dcm"))
print("圖片中存在的屬性: ", ds.dir("pat"))
print("病人方位: ", ds.PatientOrientation)
# 如下兩個屬性標籤描述圖像位置信息
print("圖像病人方向: ", ds.ImageOrientationPatient)
print("圖像病人位置: ", ds.ImagePositionPatient)
# CT矩陣
pix = ds.pixel_array
# 打印圖片
pylab.imshow(pix, cmap=pylab.cm.bone)
pylab.show()

ds1 = dicom.read_file(os.path.join(dcm_img_base_url, "N2D_0140.dcm"))
pix1 = ds1.pixel_array
pylab.imshow(pix1, cmap=pylab.cm.bone)
pylab.show()

以上使用的圖片爲ADNI數據集中的一個.nii圖像轉換爲Dicom圖像後的一個圖片
圖片中存在的部分信息爲
ImageOrientationPatient: ['1', '-2.18345624778243e-11', '0', '2.1834562200241e-11', '1', '2.1834562200241e-11']
ImagePositionPatient: ['-101.501693725586', '-141.694915766789', '-90.989616394043']
以後咱們須要使用這兩個量來進行定位線的計算,VR,MPR的空間計算
這兩個量使用的空間座標系
code

原始座標系爲O,O<sub>1</sub>座標系繞z軸以O系統的基礎上旋轉了θ的一個角度,咱們能夠把這個矩陣記錄爲
$$ A_0^1 = \begin{bmatrix} C\theta & -S\theta & 0 & 0 \ S\theta & C\theta & 0 & 0 \ 0 & 0 & 1 & 0\ 0 & 0 & 0 & 1\ \end{bmatrix} $$ 經過一系列這樣的變換,咱們能夠獲得最終的變換矩陣爲
$$ T = A_0^1A_1^2{\cdots}A_n^m $$ 把T記爲
$$ T = \begin{bmatrix} X_x & Y_x & Z_x & S_x \ X_y & Y_y & Z_y & S_y \ X_z & Y_z & Z_z & S_z \ 0 & 0 & 0 & 1 \ \end{bmatrix} $$ 咱們的圖像是一個2維的量,因爲當前圖像像素點的z方向座標相對於當前圖像的座標系的值都爲0,當前圖像的座標點能夠用(x,y,0)的向量來表示,表示在齊次座標方式就爲(x,y,0,1),那麼,這時想要計算出圖像上的某個點相對於原始座標系的座標,就直接和轉換矩陣T相乘便可,記爲
$$ \begin{bmatrix} x_o \ y_o \ z_o \ 0 \end{bmatrix} = T\begin{bmatrix} x \ y \ 0 \ 1 \end{bmatrix} \Rightarrow \begin{bmatrix} x_o \ y_o \ z_o \ 0 \end{bmatrix} = \begin{bmatrix} X_x & Y_x & Z_x & S_x \ X_y & Y_y & Z_y & S_y \ X_z & Y_z & Z_z & S_z \ 0 & 0 & 0 & 1 \ \end{bmatrix} \begin{bmatrix} x \ y \ 0 \ 1 \end{bmatrix} $$ Image Orientation的6個量就顯而易見爲
$$ X_x, X_y, X_z, Y_x, Y_y, Y_z $$ Image Position中的三個量爲
$$ S_x, S_y, S_z $$blog

引用

Dicom中的Image Orientation/Position的理解和應用
醫學影像處理軟件之Image Orientation相關介紹 醫學圖像數據格式: DICOM圖片

相關文章
相關標籤/搜索