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实现的百度贴吧网络爬虫实例
Apr 17 Python
django实现分页的方法
May 26 Python
Python实现对象转换为xml的方法示例
Jun 08 Python
python3学习之Splash的安装与实例教程
Jul 09 Python
opencv实现静态手势识别 opencv实现剪刀石头布游戏
Jan 22 Python
python实现微信自动回复机器人功能
Jul 11 Python
python实现邮件自动发送
Aug 10 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 Python
Python基于数列实现购物车程序过程详解
Jun 09 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 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
人大复印资料处理程序_输入篇
2006/10/09 PHP
一个PHP缓存类代码(附详细说明)
2011/06/09 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
基于jquery的无刷新分页技术
2011/06/11 Javascript
jqGrid jQuery 表格插件测试代码
2011/08/23 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
keep-alive不能缓存多层级路由菜单问题解决
2020/03/10 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
python的pstuil模块使用方法总结
2019/07/26 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
wxPython实现带颜色的进度条
2019/11/19 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
python 字符串格式化的示例
2020/09/21 Python
利用CSS3实现文本框的清除按钮相关的一些效果
2015/06/23 HTML / CSS
"引用"与多态的关系
2013/02/01 面试题
学生实习介绍信
2014/01/15 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
求职简历自我评价范文
2015/03/10 职场文书
五年级作文之想象作文
2019/10/30 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android