DICOM中幾個判斷圖像方向的tag

在DICOM標準裏,有三個TAG與成像的方向相關。php

參考來源:Kitware關於DICOM方向的說明git

http://public.kitware.com/IGSTKWIKI/index.php/DICOM_data_orientationide

 

 

包括函數

一、Image Position (0020,0032): specifies the x, y, and z coordinates of the upper left hand corner of the image. In other words, this tag specifies the coordinates of the the first voxel transmitted.post

 

圖像位置:指示了圖像左上角的第一個像素的空間座標(x,y,z)。 也就是DICOM文件傳輸的第一個像素的座標ui

二、Image Orientation (0020,0037): specifies the direction cosines of the first row and the first column with respect to the patient. The direction of the axes are defined by the patients orientation to ensure LPS system ( x-axis increasing to the left hand side of the patient, y-axis increasing to the posterior side of the patient and z-axis increasing toward the head of the patient )this

圖像方向:指示了圖像第一行和第一列相對於病人的方向cosine。 座標軸的方向是根據病人的方向來肯定的(X軸指向病人的左手邊,y軸指向病人的後面,Z軸指向病人的頭部。url

 

三、Patient position( 0018,5100) : Patient position descriptor relative to the equipment. Required for CT and MR images. Possible values: HFP= head first-prone, HFS=head first-supine, HFDR= head first-decibitus right, HFDL = head first-decubiturs left, FFP = feet first-prone, FFS, FFDR, FFDL.spa

 

病人的位置:  是描述病人相對於CT或者MR等成像設備的位置。 HFP:頭部在前,俯臥; HFS:頭在前,仰臥.net

 

一個例子:

某個切片 m:

 

0020,0032  Image Position (Patient): -99.8046875/-282.8046875/94.25

0020,0037  Image Orientation (Patient): 1/0/0/0/1/0 

0018,5100  Patient Position: HFS 
另一個切片n:

 

 

0020,0032  Image Position (Patient): -99.8046875/-282.8046875/157.5

0020,0037  Image Orientation (Patient): 1/0/0/0/1/0 

0018,5100  Patient Position: HFS 
咱們發現
圖像的位置座標中,只有Z軸座標有變化,並且從Z座標的大小能夠看出,m切片是在n切片的下方
知道了圖像的方向,就很容易進行後面的圖像分析了

 

1.      Image Orientation:

        如以前在博文《DICOM中幾個判斷圖像方向的tag》中提到的ImageOrientation(0020,0037)表示的是圖像第一行和第一列相對於病人的方向。而在DICOM座標系是根據病人的方向來肯定的,其中X軸正向指向病人的左側,Y軸正向指向病人的背部,Z軸正向指向病人的頭部。

        在醫學影像處理軟件中,最多見的是將導入系統的MRI/CT序列以三視圖的形式進行呈現,分別爲軸狀位(Transverse/Axisplane)、冠狀位(Coronal/Frontal plane)和矢狀位(Sagittal plane)。如下圖顯示的是這三個方位對應的切面方位,以及在成像過程當中對應的座標系。

 

圖1 成像座標系

圖2 三視圖

2.     Software and Coding

 

圖3 醫學軟件中標準三視圖與MPR變換後的圖像方位

 

       如圖3所示爲某一款醫療影像軟件在載入一個患者頭部MRI序列後,三個不一樣視圖中所標註的圖像方位圖。能夠判斷出這三個視圖依次爲軸狀位(AP-LR)、矢狀位(HF-AP)、冠狀位(HF-LR)。

 

       在網上找到的計算視圖中方位的程序以下:

 

[cpp]  view plain  copy
 
  1. char *  
  2. ImageOrientationLayer::ComputeOrientation(Vector3D vector)  
  3. {  
  4.         char *orientation=new char[4];  
  5.         char *optr = orientation;  
  6.         *optr='\0';  
  7.   
  8.         char orientationX = vector.getX() < 0 ? 'R' : 'L';  
  9.         char orientationY = vector.getY() < 0 ? 'A' : 'P';  
  10.         char orientationZ = vector.getZ() < 0 ? 'F' : 'H';  
  11.   
  12.         double absX = fabs(vector.getX());  
  13.         double absY = fabs(vector.getY());  
  14.         double absZ = fabs(vector.getZ());  
  15.   
  16.         int i;  
  17.         for (i=0; i<3; ++i) {  
  18.                 if (absX>.0001 && absX>absY && absX>absZ) {  
  19.                         *optr++=orientationX;  
  20.                         absX=0;  
  21.                 }  
  22.   
  23.                 else if (absY>.0001 && absY>absX && absY>absZ) {  
  24.                         *optr++=orientationY;  
  25.                         absY=0;  
  26.                 }  
  27.   
  28.                 else if (absZ>.0001 && absZ>absX && absZ>absY) {  
  29.                         *optr++=orientationZ;  
  30.                         absZ=0;  
  31.                 }  
  32.   
  33.                 else break;  
  34.   
  35.                 *optr='\0';  
  36.         }  
  37.   
  38.         return orientation;  
  39. }  

 

結合到軟件開發中,則首先須要在窗口的top,bottom,left,right中間找到四個單位向量,(0,1,0),(0,-1,0),(-1,0,0),(1,0,0),將其對應的窗口座標點轉化爲世界座標系的點,求出與(0,0,0)所對應的世界座標原點的四個向量而且歸一化,做爲上述ComputeOrientaton函數的參數傳進去,便可獲得當前圖像在世界座標系下的方位。

相關文章
相關標籤/搜索