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简单处理相关推荐

  1. arduino JSON数据信息解析

    参数考太极创客的程序代码,将代码风格换成我习惯的用法,并在注释上加上自己的理解 单一对象JSON解析 JSON格式 {"errno":0,"error":&qu ...

  2. dicom多帧转换_Python解析多帧dicom数据详解

    概述 pydicom是一个常用python DICOM parser.但是,没有提供解析多帧图的示例.本文结合相关函数和DICOM知识做一个简单说明. DICOM多帧数据存储 DICOM标准中关于多帧 ...

  3. 【Android RTMP】音频数据采集编码 ( AAC 音频格式解析 | FLV 音频数据标签解析 | AAC 音频数据标签头 | 音频解码配置信息 )

    文章目录 安卓直播推流专栏博客总结 一. AAC 音频格式解析 二. FLV 音频数据标签解析 1. 分析 FLV 格式中的 AAC 音频格式数据 2. AAC 音频特殊配置 3. AAC 音频数据标 ...

  4. Beanshell解析json-解析简单复杂json数据

    Beanshell解析json-解析简单&复杂json数据 1.概述 如果在beanshell中解析json数据,那么这篇文章你get到了重点.不仅给出了解决方案,同时还理清了解决的思路. 2 ...

  5. 一个简单实用的电子称数据接收/解析类(C#)(附简单使用实例)

    一个C#写的接收电子称数据并解析出重量数据的类. 之前单位购买了两架电子称,同时单独购买了配套的软件.该软件是用Delphi 7写就的,界面老旧就不说了,关键是功能太弱了,基本只能简单地记录一下称重的 ...

  6. 以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂

    以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂,这是我个人觉得是一种比较简单易懂的json数据解析方法: 看下其中一个类的代码 package com.example.text_jso ...

  7. 用Python来获取DICOM数据TAG信息

    用Python来获取DICOM数据TAG信息 单刀直入 1 数据读进来 2 调函数 3 调万能函数 其他 by 今天不飞了 单刀直入 今天我也来个言简意赅,上代码 1 数据读进来 # import一波 ...

  8. dicom文件详细解析

    dicom文件解析 Dicom全称是医学数字图像与通讯,这里讲diocm格式文件的解读,读取本身是没啥难度的 无非就是字节码数据流处理.只不过确实比较繁琐. dicom中文协议文档:http://do ...

  9. 网络爬虫模拟登陆获取数据并解析实战(二)

    本文为原创博客,仅供学习使用.未经本人允许禁止复制下来,上传到百度文库等平台. 目录 分析要获取的数据 程序的结构 构建封装数据的model 模拟登陆程序并解析数据 结果展示 分析要获取的数据 下面继 ...

最新文章

  1. 你会不会用mysql查询近7个月的数据?没有记录默认为空
  2. [转]Sandcastle初探——官方版的NDoc
  3. Mysql学习(三)之数据库管理工具Navicat
  4. (1)dotnet开源电商系统-brnshopbrnMall 和老外开发的nopCommerce(dotnet两套电商来PK--第一篇)...
  5. YbtOJ-相似子串【SA,RMQ,二分】
  6. 二叉树的一些leetcode题目+python(c++)
  7. 2021年石家庄七中高考成绩查询入口,石家庄市教育考试院官网2020中考查分:成绩查询入口...
  8. Java基础入门笔记-对象与引用
  9. java month_java11教程--类Month用法
  10. 任务分发系统-Qcmd-http详解
  11. 刑侦高考:如何用SQL解决环环相扣的刑侦推理问题
  12. three.js制作3d模型工具_浙江3D打印模型制作收费标准▁来图定制
  13. RTKLIB之RTCM解析
  14. 明通智能:EA交易外汇ea能稳定盈利吗?
  15. CSS3火焰文字特效制作教程
  16. 【CSS3】渐变背景
  17. LOAD the data R语言-如何加载数据?
  18. InputStream和FileInputStream
  19. 关于调整专业技术人员职称计算机应用能力考试有关规定的通知,关于完善专业技术人员计算机应用能力考试有关规定的通知...
  20. Oracle SQL调优系列之no_unnest和unnest用法简介

热门文章

  1. 【java毕业设计】基于javaEE+Spring的新闻发布及管理系统设计与实现(毕业论文+程序源码)——新闻发布及管理系统
  2. 礼金记账本安卓_份子钱记账本下载-份子钱记账本最新版下载(暂未上线)_预约_飞翔手机下载站...
  3. c语言魔塔编程,魔塔V1.0 用C语言写的魔塔小游戏 - 下载 - 搜珍网
  4. JMP 17 全新发布,让分析工作流程更简便
  5. 高新兴:智慧城市和公共安全运营商
  6. 拼多多主站频道推广接口/限时秒杀/充值中心/百亿补贴/领券中心
  7. 高速相机在企业生产领域的应用效果
  8. 如何判断车与路边线距离_车身与边线30公分距离如何判断?7种方法秒懂
  9. 【嵌入式】流水灯程序
  10. windows phonegap android,phonegap windows 安装