DICOM数据字典
DICOM数据字典是在数字医疗方面所有标准数据的一个列表,由DICOM标准进行维护,每条数据通过之前的VR进行格式化。
标签
数据字典中总共包含2000多个元素,DICOM标准将这些数据先划分组,每个组内包含单独的元素。即形成组+元素(被称为标签 TAG)这种形式,通过标签可以唯一确定一个属性(attribute)、或者DICOM数据元素(data element)。
如对于病人性别来说,属性名称是Patient's Sex
,标签是(0010,0040)
, 标签是由两个固定的16进制值组成的,便于计算机进行读取查询,VR是CS
,用一个字符串表示性别,M为男、F为女、O为其他。
VM
VM(Value Multiplicity)定义了元素是单值还是多值(用 0-n) 表示。
1. 单值
对于单值用VM=1表示
2. 多值
对于多值元素用VM=1-n 表示,可以存放任意长度的元素。
如果类型是二进制的,每个二进制类型的长度是固定的,可直接按照字节数读取,如SS(Signed Short ) 的长度为2个字节,读取时每两个字节读取为一个元素,即可得到一个数组。
而对于字符串这种不定长度的内容,DICOM定义了反斜线\
作为分隔符,比如Other Patient Names
是一个多值类型,存储了病人的其他名字,类似于aa\bb
类型
对于每个属性,会有一个类型来区分字段的必填和非必填。值为:1, 1C, 2, 2C, 3,C为conditional的首字母
- 值为1, 属性必须存在,而且属性值不能为空;
- 值为1C, 在某些条件下属性必须存在,而且属性值不能为空;
- 值为2, 属性必须存在,但可以为空;
- 值为2C, 在某些条件下必须要存在;
- 值为3, 属性可有可无,如果有也可以为空;
信息填写越详细,可以为后续的使用带来更多的方便
私有数据
虽然标准的DICOM数据字典中包含了2000多个条目,但是仍然会存在一些数据内容不属于其中的一个。我们可以定义私有的DICOM属性来描述。DICOM规定:所有双数 组编号 提供 DICOM 数据字典的供标准数据使用;所有单数 组编号 供私有数据使用
由于单数的组编号是使我们自己定义的,因此当其他程序读取我们生成的DICOM时,会跳过私有属性。
但是这样就会存在一个问题,不同的厂商用通过的Tag定义了不同的内容。就会出现误解… 所以一定要慎重的定义私有属性。