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类的基础入门知识
Nov 24 Python
Python 创建子进程模块subprocess详解
Apr 08 Python
简单学习Python time模块
Apr 29 Python
异步任务队列Celery在Django中的使用方法
Jun 07 Python
Django添加favicon.ico图标的示例代码
Aug 07 Python
python3转换code128条形码的方法
Apr 17 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
python模块常用用法实例详解
Oct 17 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
Django实现whoosh搜索引擎使用jieba分词
Apr 08 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
Oct 16 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
PHP输出缓冲控制Output Control系列函数详解
2015/07/02 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
JQuery开发的数独游戏代码
2010/10/29 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
2013/06/28 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
JS设置获取cookies的方法
2014/01/26 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
javascript DIV实现跟随鼠标移动
2020/03/19 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
浅析Ajax语法
2016/12/05 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
python 控制语句
2011/11/03 Python
Python去掉字符串中空格的方法
2014/03/11 Python
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
python开发简易版在线音乐播放器
2017/03/03 Python
详解python3中tkinter知识点
2018/06/21 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
利用python绘制正态分布曲线
2021/01/04 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
大学生蛋糕店创业计划书
2014/01/13 职场文书
写给老师的表扬信
2014/01/21 职场文书
同事打架检讨书
2014/02/04 职场文书
住院医师规范化培训实施方案
2014/06/12 职场文书
Python 如何实现文件自动去重
2021/06/02 Python