python读取dicom图像示例(SimpleITK和dicom包实现)


Posted in Python onJanuary 16, 2020

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包实现)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
python在回调函数中获取返回值的方法
Feb 22 Python
python实现socket+threading处理多连接的方法
Jul 23 Python
Python pandas实现excel工作表合并功能详解
Aug 29 Python
Python3基本输入与输出操作实例分析
Feb 14 Python
pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
Apr 24 Python
Python xlwt模块使用代码实例
Jun 10 Python
python中用ctypes模拟点击的实例讲解
Nov 26 Python
python pyhs2 的安装操作
Apr 07 Python
安装pytorch时报sslerror错误的解决方案
May 17 Python
如何使用pdb进行Python调试
Jun 30 Python
.dcm格式文件软件读取及python处理详解
Jan 16 #Python
用python解压分析jar包实例
Jan 16 #Python
Python3 实现爬取网站下所有URL方式
Jan 16 #Python
python3爬取torrent种子链接实例
Jan 16 #Python
Python 实现自动获取种子磁力链接方式
Jan 16 #Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 #Python
Python简单实现区域生长方式
Jan 16 #Python
You might like
PHP print类函数使用总结
2010/06/25 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
PHP设计模式(七)组合模式Composite实例详解【结构型】
2020/05/02 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
javascript实现网页子页面遍历回调的方法(涉及 window.frames、递归函数、函数上下文)
2015/07/27 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
JS学习笔记之贪吃蛇小游戏demo实例详解
2019/05/29 Javascript
解决Vue中 父子传值 数据丢失问题
2019/08/27 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
Python中for循环和while循环的基本使用方法
2015/08/21 Python
python if not in 多条件判断代码
2016/09/21 Python
基于python实现名片管理系统
2018/11/30 Python
pytorch 转换矩阵的维数位置方法
2018/12/08 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
通信研究生自荐信
2014/02/01 职场文书
三个儿子教学反思
2014/02/03 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
2015年文明创建工作总结
2015/04/30 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
MySQL分区以及建索引的方法总结
2022/04/13 MySQL
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL