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创建文件和追加文件内容实例
Oct 21 Python
处理Python中的URLError异常的方法
Apr 30 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
Feb 19 Python
Python实现Linux中的du命令
Jun 12 Python
利用python将xml文件解析成html文件的实现方法
Dec 22 Python
Python3 执行Linux Bash命令的方法
Jul 12 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
python线程join方法原理解析
Feb 11 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
Python+MySQL随机试卷及答案生成程序的示例代码
Feb 01 Python
python批量提取图片信息并保存的实现
Feb 05 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邮件专题
2006/10/09 PHP
改变Apache端口等配置修改方法
2008/06/05 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
向左滚动文字 js代码效果
2013/08/17 Javascript
jQuery修改CSS伪元素属性的方法
2014/07/30 Javascript
javascript事件处理模型实例说明
2016/05/31 Javascript
vue生成token并保存到本地存储中
2018/07/17 Javascript
如何让node运行es6模块文件及其原理详解
2018/12/11 Javascript
javascript History对象原理解析
2020/02/17 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
spyder常用快捷键(分享)
2017/07/19 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
Python实现批量压缩图片
2018/01/25 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
Python tkinter和exe打包的方法
2020/02/05 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
房屋转让协议书范本
2014/04/11 职场文书
大学生求职计划书
2014/04/30 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
党员民主评议总结
2014/10/20 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
工商行政处罚决定书
2015/06/24 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
小学毕业感言200字
2015/07/30 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript