DICOM数据信息解析及Pydicom简单处理
1、DICOM简介
DICOM(Digital Imaging and Communications in Medicine):医学影像成像和通讯标准。
所有患者的医学图像都以DICOM文件格式存储。这个格式包含关于患者的PHI(Protected Health Information)信息,例如患者姓名,患者性别以及一些医学上的信息。
1、基于DICOM3.0标准,每一张图都携带大量的信息,可以细分为以下四类:
- Patient
- Study
- Series
- Image
每一项信息都可以用DICOM TAG来标识,DICOM TAG由两个十六进制数组成,即(Group,Element)(之后详细说明)
2、每一项信息被包装成最基本的单元:Data Element(数据元素)。每个Data Element 由四部分组成:
- DICOM TAG :存储该项信息的标识
- VR(Value Representation):存储描述该项信息的数据类型
- value length :存储描述该项信息的数据长度
- value:存储描述该项信息的数据值
2、Pydicom库处理DICOM数据信息
1、pydicom的API参考
data_element(个人,姓名) #返回与元素关键字name对应的DataElement
dir(自身,\*过滤器) #返回数据集中的DataElement关键字的字符顺序列表
value(自) #返回DICOM标签值以模拟dict
以上只列出了下文会用到的部分,详情请查看Pydicom官网
2、pydicom具体代码(画图需要额外导入库)
import pydicom #导入所需要的库
import pylab#读取该dcm文件,两者都可以,亲测有效
ds = pydicom.read_file("dicom/image/000001.dcm")
ds = pydicom.dcmread("dicom/image/000001.dcm") #查看有哪些属性
print(ds.dir()) #查看全部的属性
print(ds.dir("pat")) #查看带关键字pat的属性#查看属性对应的具体值
print(ds.PatientName) #查看PatientName属性对应的具体值,想查看哪个可以直接·出来#打印完整的数据元素,包括(Group,Element),VR,Value,两种方式都可以
data_element = ds.data_element("PatientID")
print(data_element.tag,data_element.VR,data_element.value)
print(ds.data_element('PatientID')) #原始二进制文件
pixel_bytes =ds.PixelData#像素值矩阵
pix = ds.pixel_array#打印矩阵维度
print(pix.shape)#打印dicom图片
pylab.imshow(pix,cmap=pylab.cm.bone) #cmap 表示 colormap
pylab.show()
将运行的结果和第三部分的分类相结合,可以更好的理解DICOM数据信息!
3、DICOM TAG与VR分类
1、DICOM TAG
Patient
Study
Series
Image
2、VR
DICOM数据信息解析及Pydicom简单处理相关推荐
- arduino JSON数据信息解析
参数考太极创客的程序代码,将代码风格换成我习惯的用法,并在注释上加上自己的理解 单一对象JSON解析 JSON格式 {"errno":0,"error":&qu ...
- dicom多帧转换_Python解析多帧dicom数据详解
概述 pydicom是一个常用python DICOM parser.但是,没有提供解析多帧图的示例.本文结合相关函数和DICOM知识做一个简单说明. DICOM多帧数据存储 DICOM标准中关于多帧 ...
- 【Android RTMP】音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 )
文章目录 安卓直播推流专栏博客总结 一. AAC 音频格式解析 二. FLV 音频数据标签解析 1. 分析 FLV 格式中的 AAC 音频格式数据 2. AAC 音频特殊配置 3. AAC 音频数据标 ...
- Beanshell解析json-解析简单复杂json数据
Beanshell解析json-解析简单&复杂json数据 1.概述 如果在beanshell中解析json数据,那么这篇文章你get到了重点.不仅给出了解决方案,同时还理清了解决的思路. 2 ...
- 一个简单实用的电子称数据接收/解析类(C#)(附简单使用实例)
一个C#写的接收电子称数据并解析出重量数据的类. 之前单位购买了两架电子称,同时单独购买了配套的软件.该软件是用Delphi 7写就的,界面老旧就不说了,关键是功能太弱了,基本只能简单地记录一下称重的 ...
- 以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂
以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂,这是我个人觉得是一种比较简单易懂的json数据解析方法: 看下其中一个类的代码 package com.example.text_jso ...
- 用Python来获取DICOM数据TAG信息
用Python来获取DICOM数据TAG信息 单刀直入 1 数据读进来 2 调函数 3 调万能函数 其他 by 今天不飞了 单刀直入 今天我也来个言简意赅,上代码 1 数据读进来 # import一波 ...
- dicom文件详细解析
dicom文件解析 Dicom全称是医学数字图像与通讯,这里讲diocm格式文件的解读,读取本身是没啥难度的 无非就是字节码数据流处理.只不过确实比较繁琐. dicom中文协议文档:http://do ...
- 网络爬虫模拟登陆获取数据并解析实战(二)
本文为原创博客,仅供学习使用.未经本人允许禁止复制下来,上传到百度文库等平台. 目录 分析要获取的数据 程序的结构 构建封装数据的model 模拟登陆程序并解析数据 结果展示 分析要获取的数据 下面继 ...
最新文章
- 你会不会用mysql查询近7个月的数据?没有记录默认为空
- [转]Sandcastle初探——官方版的NDoc
- Mysql学习(三)之数据库管理工具Navicat
- (1)dotnet开源电商系统-brnshopbrnMall 和老外开发的nopCommerce(dotnet两套电商来PK--第一篇)...
- YbtOJ-相似子串【SA,RMQ,二分】
- 二叉树的一些leetcode题目+python(c++)
- 2021年石家庄七中高考成绩查询入口,石家庄市教育考试院官网2020中考查分:成绩查询入口...
- Java基础入门笔记-对象与引用
- java month_java11教程--类Month用法
- 任务分发系统-Qcmd-http详解
- 刑侦高考:如何用SQL解决环环相扣的刑侦推理问题
- three.js制作3d模型工具_浙江3D打印模型制作收费标准▁来图定制
- RTKLIB之RTCM解析
- 明通智能:EA交易外汇ea能稳定盈利吗?
- CSS3火焰文字特效制作教程
- 【CSS3】渐变背景
- LOAD the data R语言-如何加载数据?
- InputStream和FileInputStream
- 关于调整专业技术人员职称计算机应用能力考试有关规定的通知,关于完善专业技术人员计算机应用能力考试有关规定的通知...
- Oracle SQL调优系列之no_unnest和unnest用法简介
热门文章
- 【java毕业设计】基于javaEE+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码)——新闻发布及管理系统
- 礼金记账本安卓_份子钱记账本下载-份子钱记账本最新版下载(暂未上线)_预约_飞翔手机下载站...
- c语言魔塔编程,魔塔V1.0 用C语言写的魔塔小游戏 - 下载 - 搜珍网
- JMP 17 全新发布,让分析工作流程更简便
- 高新兴:智慧城市和公共安全运营商
- 拼多多主站频道推广接口/限时秒杀/充值中心/百亿补贴/领券中心
- 高速相机在企业生产领域的应用效果
- 如何判断车与路边线距离_车身与边线30公分距离如何判断?7种方法秒懂
- 【嵌入式】流水灯程序
- windows phonegap android,phonegap windows 安装