python讀取dicom圖像示例(SimpleITK和dicom包實(shí)現(xiàn))
更新時(shí)間:2020年01月16日 17:15:03 作者:愿十四億神州盡舜堯
今天小編就為大家分享一篇python讀取dicom圖像示例(SimpleITK和dicom包實(shí)現(xiàn)),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
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值組成了一個(gè)矩陣 pix = ds.pixel_array ##讀取顯示圖片 pylab.imshow(ds.pixel_array, cmap=pylab.cm.bone) pylab.show() 如果要對dicom圖像中的像素值進(jìn)行修改,繼續(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包實(shí)現(xiàn))就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python隨機(jī)數(shù)random模塊使用指南
本文給大家分享的是Python隨機(jī)數(shù)random模塊的幾個(gè)常用的方法,非常的簡單,小伙伴們喜歡的話,后續(xù)繼續(xù)深入探討2016-09-09PyTorch dropout設(shè)置訓(xùn)練和測試模式的實(shí)現(xiàn)
這篇文章主要介紹了PyTorch dropout設(shè)置訓(xùn)練和測試模式的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。2021-05-05Python實(shí)現(xiàn)的Excel文件讀寫類
這篇文章主要介紹了Python實(shí)現(xiàn)的Excel文件讀寫類,涉及Python針對Excel常見的讀寫、打印等操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07Python使用Flask框架同時(shí)上傳多個(gè)文件的方法
這篇文章主要介紹了Python使用Flask框架同時(shí)上傳多個(gè)文件的方法,實(shí)例分析了Python中Flask框架操作文件實(shí)現(xiàn)上傳的技巧,需要的朋友可以參考下2015-03-03