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 23 Python
python求crc32值的方法
Oct 05 Python
Python的Tornado框架异步编程入门实例
Apr 24 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
Python自定义线程类简单示例
Mar 23 Python
Python中py文件引用另一个py文件变量的方法
Apr 29 Python
python实现ssh及sftp功能(实例代码)
Mar 16 Python
基于python生成英文版词云图代码实例
May 16 Python
Spring http服务远程调用实现过程解析
Jun 11 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
Python学习开发之图形用户界面详解
Aug 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
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
浅谈PHP之ThinkPHP框架使用详解
2020/07/21 PHP
JavaScript Accessor实现说明
2010/12/06 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
基于NodeJS的前后端分离的思考与实践(三)轻量级的接口配置建模框架
2014/09/26 NodeJs
javascript包装对象实例分析
2015/03/27 Javascript
使用console进行性能测试
2015/04/27 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
JS闭包经典实例详解
2018/12/20 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
2019/05/31 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
Python求导数的方法
2015/05/09 Python
Python字符编码与函数的基本使用方法
2017/09/30 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Python实现的爬取小说爬虫功能示例
2019/03/30 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
python如何删除文件、目录
2020/06/23 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
大学生毕业求职简历的自我评价
2013/10/24 职场文书
应届生服务员求职信
2013/10/31 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
优秀学生干部推荐材料
2014/02/03 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
2019个人工作总结
2019/06/21 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
Python+Tkinter打造签名设计工具
2022/04/01 Python