使用pydicom讀取dicom檔案,並對檔案做一些簡單操作
阿新 • • 發佈:2019-01-06
#! /usr/bin/python # -*- coding: utf-8 -*- import dicom import pylab ds=dicom.read_file("/home/s/data/LungCancer/CT/benign/contrast/602825/a_0161.dcm") ##檢視有哪些屬性 print ds.dir("pat") ##檢視對應屬性的具體值 print ds.PatientName ##將屬性值給某個元素。。。具體什麼意思還不懂。 data_element = ds.data_element("PatientsName") # or data_element = ds[0x10,0x10] print data_element.VR, data_element.value ##刪除屬性 #del ds.SoftwareVersions ##原始二進位制檔案 pixel_bytes = ds.PixelData ##CT值組成了一個矩陣 pix = ds.pixel_array ##讀取顯示圖片 pylab.imshow(ds.pixel_array, cmap=pylab.cm.bone) pylab.show() ##修改圖片中的元素,不能直接使用data_array,需要轉換成PixelData for n,val in enumerate(ds.pixel_array.flat): # example: zero anything < 300 if val < 300: ds.pixel_array.flat[n]=0 ds.PixelData = ds.pixel_array.tostring() ds.save_as("/home/s/data/LungCancer/mycodetest/newfilename.dcm")
參考:http://pydicom.readthedocs.io/en/latest/working_with_pixel_data.html