python讀取dicom圖像示例(SimpleITK和dicom包實現(xiàn))
更新時間:2020年01月16日 17:15:03 作者:愿十四億神州盡舜堯
今天小編就為大家分享一篇python讀取dicom圖像示例(SimpleITK和dicom包實現(xiàn)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
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圖像中的像素值進行修改,繼續(xù)執(zhí)行以下代碼: ##修改圖片中的元素,不能直接使用data_array,需要轉(zhuǎn)換成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包實現(xiàn))就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
PyTorch dropout設(shè)置訓練和測試模式的實現(xiàn)
這篇文章主要介紹了PyTorch dropout設(shè)置訓練和測試模式的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。2021-05-05