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实现批量更换指定目录下文件扩展名的方法
Sep 19 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
简单实现python进度条脚本
Dec 18 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
python学生管理系统代码实现
Apr 05 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
Python Django的安装配置教程图文详解
Jul 17 Python
python机器学习包mlxtend的安装和配置详解
Aug 21 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
详解Python高阶函数
Aug 15 Python
python opencv将多个图放在一个窗口的实例详解
Feb 28 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
电脑硬件及电脑配置知识大全
2020/03/17 数码科技
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
2016/05/22 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
详解JS 比较两个Json对象的值是否相等的实例
2013/11/20 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
[03:42]2014DOTA2国际邀请赛 第三日比赛排位扑朔迷离
2014/07/12 DOTA
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
详解python tcp编程
2020/08/24 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
法国珠宝店:CLEOR
2017/01/29 全球购物
测试工程师程序员求职信范文
2014/02/20 职场文书
劳动工资科岗位职责范本
2014/03/02 职场文书
教师见习期自我鉴定
2014/04/28 职场文书
班级年度安全计划书
2014/05/01 职场文书
2015新年寄语大全
2014/12/08 职场文书
七一慰问简报
2015/07/20 职场文书