DICOM

医学数字成像和通信(Digital Imaging and Communications in Medicine, DICOM)是医学图像和相关信息的国际标准。DICOM3.0组成如下图。

DICOM文件

当然,我们关心的重点是DICOM文件。DICOM文件是指按照DICOM标准而存储的医学文件,一般由一个DICOM文件头和一个DICOM数据集合组成,结构图如下图:

DICOM头文件(DICOM File Meta Information)包含了标识数据集合的相关信息。每个DICOM文件都必须包括一个文件头。

  • 文件导言,由128个字节组成。
  • DICOM前缀,一个长度为四个字节的字符串“DICM”,可以根据其值来判断文件是不是DICOM文件。
  • 文件元信息元素
    DICOM文件主要组成部分是数据集合,它是由DICOM数据元素按照指定的顺序依次排列组成的。对于DICOM文件,一般采用显式传输,数据元素按照标签Tag从小到大顺序排列。最基本的单元是数据元素(Data Element)。数据元素主要由四个部分组成:
  • 标签Tag:一个16位的无符合整数的有序对,前8位表示组号,后8位表示元素号。
  • 值表示VR:指明该数据元素中的数据是哪种数据类型。
  • 数据长度:一个16或32位的无符合整数,表明了准确的数据域的长度,按字节数目(为偶数)记录。
  • 数据域:含有数据元素的值,它的存储长度为偶数个字节。存在在这个字段的值的数据类型由这个数据元素的值表示(VR)决定。

标签Tag

每个数据元素从前到后可以简单分段:文件元tag,普通tag,像素tag。

  • 文件元tag(组号+0000):不受传输语法影响,总是以显示VR方式表示,因为它里面就定义了传输语法;文件元tag的dataElement,并没有多大的意义,它的VF数值是整个组所有dataElement的字节长度,一个dicom中可以只有一个文件元tag,也可以有多个文件元tag。
  • 普通tag:除了文件元tag和像素tag,其余的都是普tag数据。包括:图像宽,高,数据传输格式,病人姓名,病人生日,病历医院,病历科室,病情的描述等等数据;
  • 像素tag(7fe0,0010):表示dataElement存储的是病历的图像数据。
    比如tag(0002,0010)决定普通tag的读取方式 little字节序还是big字节序,隐式VR还是显示VR。由它的值决定。tag(7fe0,0010)像素数据开始处。其他部分重要tag如下图。


使用Sante DICOM Viewer查看DICOM数据,截图DICOMTag信息。

DCM文件

符合DICOM标准的文件通常后缀为.dcm。当选择一个DICOM文件进行显示时,DICOM文件的后缀名是DCM或dcm,对文件名的后缀名检查后就可以初步判定文件是否为DICOM文件,但是后缀名满足要求并不代表是标准的DICOM文件,需要打开文件,跳过128字节的文件导言,然后读取四个字节,检查这四个字节的数据是否为“DICM”。当满足要求时,可以判断该文件时一个DICOM文件。

解析DICOM文件

  1. 跳过128字节的文件导言,读取“DICM“四个字节,确认是DICOM格式的文件
  2. 读取重要的数据元素,如传输语法等。0010组号描述患者信息,0008组号描述特征参数。
  3. 读取普通的tag,直到ttag(7fe0,0010),即像素数据开始处。像素数据的存储顺序,从左到右,从上到下。

    备注:DICOM文件的所有数据元素必须按照tag编号来排序,帮助校验数据完整性。在DICOM文件中一个接一个地读取元素时,如果发现读取的下个数据元素tag标签编号比前一个还小,那么说明DICOM文件损坏了。

参考资料

DICOM文件tag详解
DICOM学习笔记

医疗技术之DICOM3.0相关推荐

  1. DICOM3.0标准梳理

    DICOM3.0标准梳理: 自1993年DICOM3.0首次发布后,DICOM标准不断的发展,每年都会进行多次扩充和修改.目前,DICOM标准共有22个章节,但是随着网络技术的发展,第9章和第13章节 ...

  2. 【2018慢性病与信息大会】闫树:区块链与医疗技术共享

    2018年4月27日-28日,由中国疾控中心.中国信息通信研究院主办,中国疾控中心慢病中心.中国信息通信研究院云计算与大数据云研究所.中国通信标准化协会慢性病防控信息技术委员会承办的"第四届 ...

  3. DICOM3.0中的VR相关介绍

    最近在跟一个关于医疗的项目,所以了解了一下DICOM3.0协议. DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,是医学 ...

  4. DICOM:DICOM3.0网络通信协议(三)

    背景: 专栏对于DICOM网络传输介绍过多次,例如DICOM:DICOM3.0网络通信协议(续).DICOM医学图像处理:DICOM网络传输.DICOM医学图像处理:全面分析DICOM3.0标准中的通 ...

  5. 平安科技亮相重庆,「AI人脸识别+健康医疗」首秀;GE 推智能医疗影像系统UV6.0,已在3000家机构投入使用...

    平安科技亮相重庆,「AI人脸识别+健康医疗」首秀 雷锋网(公众号:雷锋网)消息,9月1日,平安科技亮相重庆,参加由中华医学会.中华医学会健康管理学分会主办的第十一届中国健康服务业大会,其「AI人脸识别 ...

  6. 《智能网联汽车技术路线图 2.0》重磅发布

    全文共计3644字,预计阅读时间8分钟 来源 | 国汽智联(转载请注明来源) 编辑 | 蒲蒲 11月11日,由北京市人民政府.工业和信息化部.公安部.交通运输部.中国科学技术协会共同主办的2020世界 ...

  7. 中国式微服务技术栈2.0

    本文转载自公众号: 波波微课 | 前言 近年,Spring Cloud俨然已经成为微服务开发的主流技术栈,在国内开发者社区非常火爆. 我近年一直在一线互联网公司(携程,拍拍贷等)开展微服务架构实践,根 ...

  8. 【转】DCMTK开源库类继承结构与DICOM3.0标准元素定义的对应关系图

    转自:https://blog.csdn.net/zssureqh/article/details/9275271 最近由于课题需要,拿出来一些时间阅读了下DICOM3.0标准.在处理相关的DCM医学 ...

  9. 实力登场!移动云技术内核2.0 四大全新升级!

    " 中国数字经济占GDP比重持续增长,5G网络建设已进入规模化部署阶段.随着5G网络的发展,企业的数字化改造需求越来越旺盛. 企业日益增长的数字化改造需求对云基础设施提出了新的挑战:需要支持 ...

最新文章

  1. CentOS6.6+Puppet3.7.3分布式部署Zabbix2.4监控系统
  2. JQuery模拟网页中自定义鼠标右键菜单
  3. hht时频谱 matlab 乱序_频谱、能量谱、功率谱的区别与联系
  4. PAT甲级1004 Counting Leaves (30分):[C++题解]树、邻接表存储树、dfs遍历树
  5. 惊呆!学习MySQL真的这一篇就够了!太全了
  6. 棉花糖多少钱_如何在6.0棉花糖及更高版本中访问Android的正在运行的应用程序列表...
  7. 性能测试流程_流性能
  8. python字典速度能比字典高多少_python – 字典访问速度比较与整数键对字符串键...
  9. node.js模块和包
  10. oracle组合数据类型,oracle复合数据类型-相关方法
  11. Myeclipse10 整合SSH过程(巨详细!!!)及出错笔记
  12. easyexcel导入固定sheet_springboot批量导入excel数据
  13. NLPIR系统的中文语义分析模式介绍
  14. GD32芯片包下载和安装教程
  15. 使用Github和PicGO搭建免费图床
  16. 电子邮件营销实例---粽子
  17. 如何防护 DDoS 攻击?
  18. 2016全球计算机排名,2016年全球计算机专业最佳大学TOP50新鲜出炉
  19. php 安装参数 ./configure
  20. linux每日命令(23):find命令之xargs

热门文章

  1. postman导出请求url_postman使用教程
  2. 火车头采集器百度知道聚合采集插件说明文档!
  3. DNS服务器它到底是干啥的呢?
  4. 光学识别OCR软件Readiris Pro 17 for Mac
  5. H5跳转App、跳转小程序
  6. 百度和谷歌对骂对方是SB!!!!
  7. POI下载表格数据,带有表格样式时下载文件为0
  8. oracle exists
  9. 均是素数——天梯训练赛
  10. Win7上.bat文件打开方式变成了文本文档,怎么修改和恢复