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内置的HTTP协议服务器SimpleHTTPServer使用指南
Mar 30 Python
用yum安装MySQLdb模块的步骤方法
Dec 15 Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 Python
使用Python对Access读写操作
Mar 30 Python
python中通过预先编译正则表达式提高效率
Sep 25 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
Aug 31 Python
Python3和pyqt5实现控件数据动态显示方式
Dec 13 Python
使用python自动追踪你的快递(物流推送邮箱)
Mar 17 Python
Python如何使用队列方式实现多线程爬虫
May 12 Python
Python计算信息熵实例
Jun 18 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
selenium如何定位span元素的实现
Jan 13 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&amp;mysql(二)
2006/10/09 PHP
php抓取页面的几种方法详解
2013/06/17 PHP
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
2013/06/28 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
Symfony查询方法实例小结
2017/06/28 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
Jquery事件的连接使用示例
2013/06/18 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
2014/01/06 Javascript
Chrome扩展页面动态绑定JS事件提示错误
2014/02/11 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
详解vue beforeEach 死循环问题解决方法
2020/02/25 Javascript
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
pandas 时间格式转换的实现
2019/07/06 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
python中数字是否为可变类型
2020/07/08 Python
python 装饰器的实际作用有哪些
2020/09/07 Python
中学生获奖感言
2014/02/04 职场文书
竞选村长演讲稿
2014/04/28 职场文书
搞笑爱情保证书
2014/04/29 职场文书
体育运动口号
2014/06/09 职场文书
查摆问题自查报告范文
2014/10/13 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
二审代理词范文
2015/05/25 职场文书
2015小学新教师个人工作总结
2015/10/14 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers