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 13 Python
解析Python中的二进制位运算符
May 13 Python
Python语言描述随机梯度下降法
Jan 04 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
python实现人民币大写转换
Jun 20 Python
Python数据库小程序源代码
Sep 15 Python
python Pillow图像处理方法汇总
Oct 16 Python
python中pandas库中DataFrame对行和列的操作使用方法示例
Jun 14 Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 Python
Django模型验证器介绍与源码分析
Sep 08 Python
如何在Python3中使用telnetlib模块连接网络设备
Sep 21 Python
七个非常实用的Python工具包总结
Jun 15 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 mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
jquery图片上下tab切换效果
2011/03/18 Javascript
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
Python3.2中Print函数用法实例详解
2015/05/19 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
pyinstaller将含有多个py文件的python程序做成exe
2020/04/29 Python
Django通过json格式收集主机信息
2020/05/29 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
家长评语大全
2014/01/22 职场文书
小学生开学感言
2014/02/28 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
租房协议书怎么写
2014/04/10 职场文书
赡养老人协议书
2014/04/21 职场文书
社会公德演讲稿
2014/05/20 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
JavaScript 事件捕获冒泡与捕获详情
2021/11/11 Javascript