DICOM入门(一)——语法

1.什么是DICOM

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

2.数据内容

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

3.VR

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

DICOM入门(一)——语法_第1张图片
文本.jpeg
DICOM入门(一)——语法_第2张图片
设备 人 实例 日期和时间.jpeg
DICOM入门(一)——语法_第3张图片
文本格式 二进制格式.jpeg

PN 病人姓名

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

UIDs 唯一标识

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

SQ 序列化数据集

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

4.数据字典

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

DICOM入门(一)——语法_第4张图片
DICOM 数据字典中的一些行.jpeg

栗子

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

5.简单的二进制编码

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

二进制结构.jpeg
DICOM入门(一)——语法_第5张图片
二进制值.jpeg

6.SQ编码

DICOM入门(一)——语法_第6张图片
一个复杂的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
DICOM入门(一)——语法_第7张图片
2.jpeg
DICOM入门(一)——语法_第8张图片
3.jpeg

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

你可能感兴趣的:(DICOM入门(一)——语法)