转自:https://www.jianshu.com/p/5db8933a25a4

作者:我住的城市没有福合埕

1.什么是DICOM

DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和传输协议,是用医疗影像(CT 核磁共振 DR CR 超声等)数据传输,存储,查询和显示的协议总和。

2.数据内容

DICOM数据由图像和病人、影像设备等相关数据组成的,比如病人姓名、年龄、生日性别等等。

3.VR

一个DICOM文件类似一个类,会有很多属性,属性可能是一个字段,数组或者包含了另外一个类。编程语言会定义基础数据类型,类似的DICOM定义很多基础类型叫做VR(Value Representations)值表现。

文本.jpeg

设备 人 实例 日期和时间.jpeg

文本格式 二进制格式.jpeg

PN 病人姓名

DICOM 规定了如下的姓名顺序:
姓^教名^中名^名前缀^名后缀

UIDs 唯一标识

UID是像“1.2.840.10008.1.2”那样由数字组成并由逗号分隔的字符串;UID字符串具有全球唯一性,能够保证在多 个国家、地点、厂商和设备间区分病人。

SQ 序列化数据集

SQ VR是对数据集序列的编码,每个数据集可能包含多个数据属性。用面向对象语言的说法,这个属性是一个类。

4.数据字典

DICOM的数据字典代表DICOM的属性名称,数据字典 由四个字节组成,前面两个字节表示项目组 后两个表示元素。

DICOM 数据字典中的一些行.jpeg

栗子

用DICOM语法记录一条信息
病人 Tom Smith,男性,生日 2000 年 8 月 8 日
(0010,0010)Smith^Tom (0010,0030)20000808 (0010,0040)M

5.简单的二进制编码

DICOM文件存储都是采用二进制的形式,所以上面栗子。在用DICOM编码如下:

二进制结构.jpeg

二进制值.jpeg

6.SQ编码

一个复杂的DICOM对象.jpeg

  1. 在 SQ 序列中的 DICOM 对象是以序列项目的形式进行编码的。
  2. 每个在 SQ 序列中的对象项目(object-item)前面都会有个(FFFE, E000)的标签(作为项
    目分隔符项)。这个项目后面还会跟着以下之一:
    a) DICOM 项目的显式长度(比如,表 11 的例子 1 中的第一个和第二个项目)。这个
    长度是用来定义为了获得后面的对象所要读取的字节数。
    b) 隐式(未定义)长度,设置为十六进制数字 FFFFFFFF(表 11 的例子 3 中的第二个
    项目)。那么,我们需要用项目分隔符项(FFFE,E00D)来标记 DICOM 对象项目的结尾。 这个分隔符项是零长度的,因为他只是用来标记 DICOM 对象的结尾并且自己不含 有任何数据。
  3. 与项目相似,整个 SQ 序列能够显式长度或未定义长度:
    a) 如果使用显式长度(例子 2,长度 00000A00),那么这个长度等于所有编码的 DICOM
    对象序列(后面马上跟上长度标签)的总长度。在例子 2(见表 11)中,我们读取
    00000A00 字节并且根据(FFFE,E000)标签将他们分割成 DICOM 对象。
    b) 我们也可以使用隐式(未定义)长度,在 DICOM 中会标记为 FFFFFFFF。因为长度 是未知的,所以我们不得不用零长度的序列分隔符项(FFFE,E0DD)来标记 SQ 序列的
    结尾。

1.jpeg

2.jpeg

3.jpeg

以上粗略的介绍了一下DICOM的语法,下一次将讲讲DICOM图像相关内容

作者:我住的城市没有福合埕
链接:https://www.jianshu.com/p/5db8933a25a4
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

【转】DICOM入门(一)——语法相关推荐

  1. python编程语法大全-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 关于怎么快速学python,可以加下小编的python学习群:611+530+101,不管你是小白还是大牛,小编我都欢迎,不定期分享干货 每天 ...

  2. python编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  3. python编程if语法-Python编程入门基础语法详解经典

    原标题:Python编程入门基础语法详解经典 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_number = ...

  4. python编程语法-Python编程入门——基础语法详解(经典)

    今天小编给大家带来Python编程入门--基础语法详解.温馨提示: 亮点在最后! 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习P ...

  5. [入门]C#语法里面,如何使用 VB的常用函数?(using Microsoft.VisualBasic)

    这里是我的文章备份 原文请看: http://www.dotblogs.com.tw/mis2000lab/archive/2011/10/24/46162.aspx [入门]C#语法里面,如何使用 ...

  6. python 判断列表所有元素是否为某个值_这应该是最详细的Python入门基础语法总结!...

    这应该是最详细的Python入门基础语法总结! 这应该是最详细的Python入门基础语法总结! 定义变量,使用变量 input 用户自己输入值 print 打印值 可以输出多个变量 %d|%s 用于输 ...

  7. python基础编程语法-Python编程入门——基础语法详解

    今天小编给大家带来Python编程入门--基础语法详解. 一.基本概念 1.内置的变量类型: Python是有变量类型的,而且会强制检查变量类型.内置的变量类型有如下几种: #浮点 float_num ...

  8. python基础编程语法-Python编程入门——基础语法详解(经典)

    今天小编给大家带来Python编程入门--基础语法详解.温馨提示: 亮点在最后! 在这里还是要推荐下我自己建的Python开发学习群:301056051,群里都是学Python开发的,如果你正在学习P ...

  9. Go 语言快速开发入门(基础语法详解,第一节)

    Go 语言快速开发入门(基础语法详解,第一节) 一.基础语法详解,第一节 1.HelloWorld 1.1.代码编写和解释 1.2.go语言注意事项 2.Go 语言的转义字符&&Go ...

最新文章

  1. 《高效程序员的45个习惯》读后感
  2. APP专项测试方法有哪些?
  3. python3.9.0_Python 3.9.0 alpha 1 发布了,3.9 系列首个迭代版本
  4. 微信小程序 html modal,微信小程序参考微信设计规范做的modal模态框
  5. 微服务go还是java,Java微服务 vs Go微服务,究竟谁更强!?
  6. Spring AOP 的日志管理实现
  7. 整个行业都缺Web前端工程师,你还在问Web前端工作好找吗?
  8. 物联卡与SIM卡相比优势在哪
  9. java filechannel 并发_java.nio中的Channel系列(2)-FileChannel与零拷贝原理
  10. T3及报税软件报表使用无线打印机打印凭证没反应
  11. PCROP_RDP重新恢复为uncheck
  12. 计组_指令周期/机器周期(cpu周期)/时钟周期(节拍T) 主频超频/cpu频率发热
  13. oracle中replace怎么用,oraclereplace函数怎么用
  14. 8700k能装服务器系统吗6,i7 8700k能装win7吗?搭配b365主板装win7操作步骤
  15. @RunWith注解的作用
  16. 使用mac电脑生成 icns图标
  17. html5研究背景及意义,基于HTML5的统计图表系统的研究与设计
  18. MagicBook荣耀锐龙版笔记本BLOS开启VT
  19. 2022最新酒桌小游戏喝酒小程序源码_带流量主
  20. Systemd日志管理:使用Journalctl查看和处理系统日志

热门文章

  1. PyChram简单使用教程
  2. Thread类中的join方法
  3. MyEclipse移动开发教程:迁移HTML5移动项目到PhoneGap(二)
  4. [APIO2016]
  5. 九度OJ #1437 To Fill or Not to Fil
  6. 前端中标签页的手写方法
  7. resin php extensions sockets,linux 有关笔记
  8. 平面设计中的网格系统pdf_深入浅出,带你认识网格系统与版式设计
  9. 江阳职高计算机应用教改实验,计算机应用课程教改模式
  10. RT-Thread设备框架学习感悟