python 读取DICOM头文件的实例


Posted in Python onMay 07, 2018

用dicompyler软件打开dicom图像,头文件如图所示:

python 读取DICOM头文件的实例

当然也可以直接读取:

ds = dicom.read_file('H:\Data\data\\21662\\2.16.840.1.113662.2.0.105002416.1489146183.701\CT\\CT#0#21662#E7AB693D.dcm')
print ds
>>
(0008, 0008) Image Type       CS: ['ORIGINAL', 'SECONDARY', 'AXIAL']
(0008, 0016) SOP Class UID      UI: CT Image Storage
(0008, 0018) SOP Instance UID     UI: 2.16.840.1.113662.2.0.105002416.1489146183.501.0
(0008, 0020) Study Date       DA: '20170310'
(0008, 0021) Series Date       DA: '20170310'
(0008, 0023) Content Date      DA: '20060505'
(0008, 0030) Study Time       TM: '1942'
(0008, 0031) Series Time       TM: '1942'
(0008, 0033) Content Time      TM: ''
(0008, 0050) Accession Number     SH: '63071'
(0008, 0060) Modality       CS: 'CT'
(0008, 0070) Manufacturer      LO: 'NOMOS'
(0008, 0090) Referring Physician's Name   PN: ''
(0008, 1010) Station Name      SH: ''
(0008, 1090) Manufacturer's Model Name   LO: 'CORVUS 6.4'
(0010, 0010) Patient's Name      PN: '*M32-2^CHENJUN^^^'
(0010, 0020) Patient ID       LO: '21662'
(0010, 0030) Patient's Birth Date    DA: ''
(0010, 0040) Patient's Sex      CS: ''
(0018, 0050) Slice Thickness      DS: '4.75'
(0018, 0060) KVP         DS: '0'
(0018, 1020) Software Version(s)     LO: 'CORVUS 6.4'
(0018, 5100) Patient Position     CS: 'HFS'
(0020, 000d) Study Instance UID     UI: 2.16.840.1.113662.2.0.105002416.1489146183.701
(0020, 000e) Series Instance UID     UI: 2.16.840.1.113662.2.0.105002416.1489146183.501
(0020, 0010) Study ID       SH: '63071'
(0020, 0011) Series Number      IS: '0'
(0020, 0012) Acquisition Number     IS: '0'
(0020, 0013) Instance Number      IS: '0'
(0020, 0020) Patient Orientation     CS: ['L', 'P']
(0020, 0032) Image Position (Patient)   DS: ['0.73437356948853', '0', '3.25']
(0020, 0037) Image Orientation (Patient)   DS: ['1', '0', '0', '0', '1', '0']
(0020, 0052) Frame of Reference UID    UI: 2.16.840.1.113662.2.0.105002416.1489146183.601
(0020, 0060) Laterality       CS: ''
(0020, 1040) Position Reference Indicator  LO: ''
(0020, 1041) Slice Location      DS: '3.25'
(0028, 0002) Samples per Pixel     US: 1
(0028, 0004) Photometric Interpretation   CS: 'MONOCHROME2'
(0028, 0010) Rows        US: 330
(0028, 0011) Columns        US: 339
(0028, 0030) Pixel Spacing      DS: ['0.734375', '0.734375']
(0028, 0100) Bits Allocated      US: 16
(0028, 0101) Bits Stored       US: 12
(0028, 0102) High Bit       US: 11
(0028, 0103) Pixel Representation    US: 0
(0028, 1052) Rescale Intercept     DS: '-1024'
(0028, 1053) Rescale Slope      DS: '1'
(7fe0, 0010) Pixel Data

发现一套图的第一张和最后一张的Slice Thickness往往和中间层的值是不同的。

Path = 'H:\Data\data\\21662\\2.16.840.1.113662.2.0.105002416.1489146183.701\CT\\a.dcm'
slices = dicom.read_file(path)
spacing = slices.PixelSpacing

读取头文件信息方法:

Slices.上图头文件中的name列。

这时要注意的是,name大小写不变,去掉空格,去掉符号,比如括号。

举例:

origin = slices.SoftwareVersions
print origin
>>CORVUS 6.4
spacing = slices[1].PixelSpacing
print spacing
>>['0.734375', '0.734375']

以上这篇python 读取DICOM头文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python实现的可以拷贝或剪切一个文件列表中的所有文件
Apr 30 Python
用Python实现QQ游戏大家来找茬辅助工具
Sep 14 Python
python中类的一些方法分析
Sep 25 Python
Python读写文件方法总结
Jun 09 Python
分享给Python新手们的几道简单练习题
Sep 21 Python
Python 绘图库 Matplotlib 入门教程
Apr 19 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
python将时分秒转换成秒的实例
Dec 07 Python
解决springboot yml配置 logging.level 报错问题
Feb 21 Python
python关于倒排列的知识点总结
Oct 13 Python
Python中过滤字符串列表的方法
Dec 22 Python
用python 绘制茎叶图和复合饼图
Feb 26 Python
解决Python requests库编码 socks5代理的问题
May 07 #Python
基于python requests库中的代理实例讲解
May 07 #Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 #Python
Pandas实现数据类型转换的一些小技巧汇总
May 07 #Python
Python使用cx_Oracle模块操作Oracle数据库详解
May 07 #Python
Python代码缩进和测试模块示例详解
May 07 #Python
Python采集代理ip并判断是否可用和定时更新的方法
May 07 #Python
You might like
jQuery 源码分析笔记
2011/05/25 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
基于webpack 实用配置方法总结
2017/09/28 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
jQuery中DOM常见操作实例小结
2019/08/01 jQuery
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
[02:28]DOTA2亚洲邀请赛附加赛 RECAP赛事回顾
2015/01/29 DOTA
[03:22]DAC最前线(第二期)—DOTA2亚洲邀请赛主赛场周边及线路探访
2015/01/24 DOTA
python实现简单的计时器功能函数
2015/03/14 Python
Python解惑之True和False详解
2017/04/24 Python
Python有序查找算法之二分法实例分析
2017/12/11 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
营销与策划应届生求职信
2013/11/04 职场文书
有兼职工作经历的简历自我评价
2014/03/07 职场文书
关于读书的活动方案
2014/08/14 职场文书
2014年质检员工作总结
2014/11/18 职场文书