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装饰器decorator介绍
Nov 21 Python
使用PDB模式调试Python程序介绍
Apr 05 Python
Python中正则表达式详解
May 17 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
Jul 19 Python
python每天定时运行某程序代码
Aug 16 Python
Python socket聊天脚本代码实例
Jan 02 Python
python scatter函数用法实例详解
Feb 11 Python
Django 实现对已存在的model进行更改
Mar 28 Python
pip安装tensorflow的坑的解决
Apr 19 Python
Python更换pip源方法过程解析
May 19 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中设置多级目录session的问题
2011/08/08 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
PHP符合PSR编程规范的实例分享
2016/12/21 PHP
jquery利用event.which方法获取键盘输入值的代码
2011/10/09 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
基于dataset的使用和图片延时加载的实现方法
2017/12/11 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
Javascript的this详解
2019/03/23 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
Python微信库:itchat的用法详解
2017/08/14 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
python实现换位加密算法的示例
2018/10/14 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
Python如何执行系统命令
2020/09/23 Python
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
程序集与命名空间有什么不同
2014/07/25 面试题
大学生专科毕业生自我评价
2013/11/17 职场文书
捐款倡议书
2014/04/14 职场文书
Android开发手册TextInputLayout样式使用示例
2022/06/10 Java/Android