python读取CT医学图像

需要安装OpenCV和SimpleItk。

SimpleItk比较简单,直接pip install SimpleItk即可。

代码如下:

[python] view plain copy
  1. #coding:utf-8  
  2. import SimpleITK as sitk  
  3. import cv2  
  4.   
  5. #LKDS-00058,-102.655469971,108.188810974,438.759994507,12.2279986879  
  6. if __name__ == '__main__':  
  7.     filename = "F:/cancer_solution/data/train_subset00/LKDS-00058.mhd"  
  8.     ds = sitk.ReadImage(filename)  
  9.     img_array = sitk.GetArrayFromImage(ds)  
  10.     frame_num, width, height = img_array.shape  
  11.   
  12.     outpath = "F:/cancer_solution/out/train/LKDS-00058"  
  13.     index = -1  
  14.     for img_item in img_array:  
  15.         index = index + 1  
  16.         cv2.imwrite("%s/%d.png"%(outpath,index),img_item)  
  17.   
  18.     print "done!"  

如上所示,就将CT影像解析成了多个单幅图片。

python读取CT医学图像python读取CT医学图像

目前还不太理解(x,y,z)坐标是如何对应的。

但祈世间人无病,何愁架上药生尘。癌症,终有一天可以被战胜。