DICOM标准是医学影像界技术人员逃不掉的标准。本系列专题是JATI对DICOM标准的阐述,力图使PACS管理员和软件工程师都能理解。
DICOM标准的提出者DICOM标准委员会是ISO组织的合作者。作为一个标准,为了表达的准确性和普适性,措辞方面非常谨慎。这有一个副效果,就是原本很明白的东西,用了它那套名词系统后,变得非常模糊。
IOD (Information Object Definitions)
- 面向对象程序设计中有“类”的概念(Class)。比如说Rectangular类,有Length和Width两个属性。根据一个类,可以定义一个具体的对象(Object),赋予其Length和Width。
IOD就是Dicom世界中的类,明白了吧。而且,这些类都是规定好的,比如:Patient IOD。
VR(Value Representations)
- C语言里面有很多数据类型,比如整型,浮点等,人所共知。DICOM世界里的所有数据类型,为了“表达的准确性和普适性”,偏偏就不叫数据类型,而叫“数值代表”,即VR。现行DICOM版本一共有27种。比较常见的VR有:
UI - Unique Identifier (maximum length : 64 characters)
CS - Code String (maximum length: 16 characters)
ST - Short Texts
很多DICOM通讯中的问题,是设计者因为对VR的理解不透彻造成的。比如一个特别值得注意的问题是:DICOM标准对一些VR的长度都做了限定。不遵守这些限定,写出来的软件就会有较差的DICOM兼容性(比如生成了某个UID多余64个字符)。此外,不管VR的长度(字符串个数)是否有限定,它一定是个偶数。如遇奇数长度,应以尾部空格补足。自然,和别的系统通信的时候会遇到问题。
AE (Application Entity) - DICOM 世界中的应用实体...跟没说一样? 没错,实体(Entity)这个词比较狡猾。其实指得就是符合DICOM标准的通讯网络中的一台电脑。如果你较真,说一台电脑上可以装个虚拟机,同时以DICOM连通,这样就是两个AE了。那么你就明白为什么这个概念的名字叫Application Entity而不是Application Computer了吧。叫Entity就是让你没法较真,你可以看到起这个名字的人多么狡猾了吧。
AE既可以是一个成像设备(Modality),也可是一个PACS Server, 也可以是QA Client Machine,等等等等。
SOPs (Service-Object Pairs) - 服务是Client-Server 构架中最基本的概念。DICOM中所有的服务都无外乎是在传递IOD。分析问题的时候往往将他们一起考虑,成为SOPs。