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原始字符串(raw strings)用法实例
Oct 13 Python
Python 多线程抓取图片效率对比
Feb 27 Python
深入理解NumPy简明教程---数组3(组合)
Dec 17 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
Selenium的使用详解
Oct 19 Python
利用Python将文本中的中英文分离方法
Oct 31 Python
python操作日志的封装方法(两种方法)
May 23 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
Python操作redis和mongoDB的方法
Dec 19 Python
Python文本处理简单易懂方法解析
Dec 19 Python
Python内存映射文件读写方式
Apr 24 Python
Python如何实现机器人聊天
Sep 10 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
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
js判断浏览器是否支持严格模式的方法
2016/10/04 Javascript
详解JavaScript树结构
2017/01/09 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
Python pickle模块用法实例
2015/04/14 Python
Python绘制七段数码管实例代码
2017/12/20 Python
python使用RNN实现文本分类
2018/05/24 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
Python StringIO如何在内存中读写str
2020/01/07 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
工商管理系学生的自我评价分享
2013/11/29 职场文书
公司管理建议书范文
2014/03/12 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
学雷锋月活动总结
2014/04/25 职场文书
学校施工安全责任书
2015/01/29 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
会议简讯范文
2015/07/20 职场文书
小学教师师德培训心得体会
2016/01/09 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
python通过新建环境安装tfx的问题
2022/05/20 Python