1. 程式人生 > >使用pydicom讀取dicom檔案,並對檔案做一些簡單操作

使用pydicom讀取dicom檔案,並對檔案做一些簡單操作

#! /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