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编程求质数实例代码
Jan 31 Python
python判断一个集合是否为另一个集合的子集方法
May 04 Python
基于Python List的赋值方法
Jun 23 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
安装好Pycharm后如何配置Python解释器简易教程
Jun 28 Python
python隐藏类中属性的3种实现方法
Dec 19 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
Jul 09 Python
如何用Python编写一个电子考勤系统
Feb 08 Python
python中pandas.read_csv()函数的深入讲解
Mar 29 Python
深入理解Pytorch微调torchvision模型
Nov 11 Python
python百行代码实现汉服圈图片爬取
Nov 23 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错误日志的获取方法
2015/07/20 PHP
jquery实用代码片段集合
2010/08/12 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
DOM节点删除函数removeChild()用法实例
2015/01/12 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
webpack vue项目开发环境局域网访问方法
2018/03/20 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
node.js实现带进度条的多文件上传
2020/03/27 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
2020/10/28 Javascript
python处理文本文件并生成指定格式的文件
2014/07/31 Python
python 去除txt文本中的空格、数字、特定字母等方法
2018/07/24 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
解决django FileFIELD的编码问题
2020/03/30 Python
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
请解释接口的显式实现有什么意义
2012/05/26 面试题
个人简历自荐信
2013/12/05 职场文书
求职信模板怎么做
2014/01/26 职场文书
工作表现自我评价
2014/02/08 职场文书
课程改革实施方案
2014/03/16 职场文书
中职生自荐信范文
2014/06/15 职场文书
2014年领班工作总结
2014/11/25 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
捐资助学感谢信
2015/01/21 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
认识实习感想
2015/08/10 职场文书
Python中的tkinter库简单案例详解
2022/01/22 Python
Hive常用日期格式转换语法
2022/06/25 数据库