您好,登錄后才能下訂單哦!
1. 用SimpleITK讀取dicom序列:
import SimpleITK as sitk import numpy as np img_path='F:\\dataset\\pancreas\\Output\\thick\\original\\1' mask_path='F:\\dataset\\pancreas\\Output\\thick\\groundtruth\\1' reader = sitk.ImageSeriesReader() img_names = reader.GetGDCMSeriesFileNames(img_path) reader.SetFileNames(img_names) image = reader.Execute() image_array = sitk.GetArrayFromImage(image) # z, y, x reader = sitk.ImageSeriesReader() mask_names = reader.GetGDCMSeriesFileNames(mask_path) reader.SetFileNames(mask_names) mask = reader.Execute() mask_array = sitk.GetArrayFromImage(mask) # z, y, x
2. 用dicom讀取單張dicom圖像并顯示:
import dicom import pylab ds=dicom.read_file("F:\\dataset\\pancreas\\Output\\thick\\groundtruth\\1\\FILE0001_seg.dcm") pixel_bytes = ds.PixelData ##CT值組成了一個矩陣 pix = ds.pixel_array ##讀取顯示圖片 pylab.imshow(ds.pixel_array, cmap=pylab.cm.bone) pylab.show() 如果要對dicom圖像中的像素值進行修改,繼續執行以下代碼: ##修改圖片中的元素,不能直接使用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("newfilename.dcm")
3. 此外,用pydicom也可讀取dicom圖像
以上這篇python讀取dicom圖像示例(SimpleITK和dicom包實現)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。