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中的内置函数getattr()介绍及示例
Jul 20 Python
wxPython框架类和面板类的使用实例
Sep 28 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
Python对列表排序的方法实例分析
May 16 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
Python下调用Linux的Shell命令的方法
Jun 12 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
Python笔试面试题小结
Sep 07 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
去除python中的字符串空格的简单方法
Dec 22 Python
5分钟快速掌握Python定时任务框架的实现
Jan 26 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
Mar 03 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
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
基于PHP选项与信息函数的使用详解
2013/05/10 PHP
php header功能的使用
2013/10/28 PHP
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
Nodejs+express+html5 实现拖拽上传
2014/08/08 NodeJs
bootstrap改变按钮加载状态
2014/12/01 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
漫谈JS引擎的运行机制 你应该知道什么
2016/06/15 Javascript
AngularJs Javascript MVC 框架
2016/06/20 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
puppeteer库入门初探
2019/01/09 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
2019/09/02 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
python求解数组中两个字符串的最小距离
2018/09/27 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
python 递归调用返回None的问题及解决方法
2020/03/16 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
idea2020手动安装python插件的实现方法
2020/07/17 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
使用Python封装excel操作指南
2021/01/29 Python
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
社会治安综合治理管理责任书
2014/04/16 职场文书
《开国大典》教学反思
2014/04/19 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
开学典礼演讲稿
2014/05/23 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
出国留学英文自荐信
2015/03/25 职场文书