首页 > 其他分享 >DICOM标准:重要概念——多种传输语法、私有数据元素标签、唯一标识符(UID)等详解

DICOM标准:重要概念——多种传输语法、私有数据元素标签、唯一标识符(UID)等详解

时间:2024-11-07 12:51:15浏览次数:7  
标签:编码 UID 1.2 DICOM 元素 语法 传输 标识符

1 私有数据元素标

   1.1  私有数据元素标签(Private Data Element Tags)

        在DICOM标准中,多个实现者可能会定义带有相同(奇数)组号码的私有数据元素标签。为了避免冲突,私有元素根据以下规则分配私有数据元素标签:

   a) 私有创作者数据元素的分配

 编号为(gggg,0010-00FF)(gggg为奇数)的私有创作者数据元素用于存储由私人使用的组号码为gggg的一组元素。系统将在这一系列私有元素中的第一个未使用的元素中插入标识码。私有标识码的值表示(Value Representation, VR)为LO(Long String),值复数性(Value Multiplicity, VM)为1。

b) 私有创作者与系统存储元素的对应关系

  • 私有创作者数据元素(gggg,0010)对应系统存储元素(gggg,1000-10FF)。
  • 私有创作者数据元素(gggg,0011)对应系统存储元素(gggg,1100-11FF)。
  • 以此类推,直到私有创作者数据元素(gggg,00FF)对应系统存储元素(gggg,FF00-FFFF)。

c) 动态分配与识别

  • 编码器(Encoder)能够动态地将私有数据分配到私有组中的任一可利用块,并详细说明所分配的私有创作者数据元素。
  • 译码器(Decoder)能够通过对应的私有创作者标识码,在私有组中的任何位置识别存储块。

注意事项

  1. 过时术语:在V3.0版本之前的标准中使用的“阴影组”(Shadow Groups)术语已被弃用,不再使用。
  2. 私有组元素码的弃用:在V3.0版本之前,私有组元素码(gggg,10FF-7FFF)及厂商保留部分(gggg,8100-FFFF)被使用。然而,这些用法已在新版标准中被废止,不再使用。

   1.2 私有元素的值表示规则(VR Rules for Private Elements)

        用于私有数据元素的值表示(Value Representation, VR)规则与第6.2节中详细描述的标准数据元素的VR相似。具体规则依据DICOM标准第6.2节的描述进行。

2  象素数据的编码(Pixel Data Encoding)

        象素数据元素(Pixel Data Element, Tag: (7FE0,0010))用于图像数据的交换。附加的数据元素详细指明了DICOM标准第三部分定义的图像的所有信息,描述了对这些象素数据进行编码与解码的方式。最后,依据转换法则(参阅第10节附录A),可以对元素数据进行压缩。

象素数据元素((7FE0,0010))依据转换法则封装为OW(Other Word)或OB(Other Byte)的VR。OW与OB的主要区别在于,OB是以字节为单位的字符串,这不会影响字节顺序(参见第7.3节)。

2.1 相关的数据元素的象素数据编码

DICOM标准提供了对不同位数的象素数据进行编码的方法,以下是三种定义象素结构的关键数据元素:

  • Bits Allocated (0028,0100):定义每个象素样本总分配的位数。
  • Bits Stored (0028,0101):描述用于表示象素样本值的位数,该值不超过Bits Allocated。
  • High Bit (0028,0102):表示Bits Stored中最高位的位置。

注意:例如,在分配了16位(2个字节)、存储了12位、第15位为高位的象素数据中,一个象素样本被编码为16位的字,每个不包含象素数据的字至少有4个有效位。附录D中提供了其他基础编码方案的示例。

从DICOM V3.0开始,限制了位分配(0028,0100)的放置数,指定了DICOM标准第三部分中的信息对象定义(Information Object Definitions, IOD)。此外,与所有其它DICOM值字段相似,象素数据值字段的字节长度必须为偶数,这意味着值字段可能需要补充一些无关且不重要的数据。

当指定数据元素象素表示(Pixel Representation, Tag: (0028,0103))时,表示一个象素样本值的位字段应为二进制的2的补码或无符号整数。象素样本的符号位为高位。最小实际象素值由最小图像象素值(Minimum Pixel Value, Tag: (0028,0106))指定,最大值由最大图像象素值(Maximum Pixel Value, Tag: (0028,0107))指定。

2.2 自然或压缩格式的编码

象素数据转换为象素数据元素((7FE0,0010))时,可以以自然(未压缩)格式或压缩格式进行发送:

  • 自然格式(Natural Format):使用VR为OW(Other Word)或OB(Other Byte),字节顺序由传输语法定义。象素样本按各自位数直接连接,双字节字的字节顺序由小端(Little Endian)或大端(Big Endian)传输规则决定(参见附录A)。

  • 压缩格式(Compressed Format):使用压缩的传输语法(如JPEG),数据被分割成多个片段传输。压缩象素流的片段顺序通过定界符结束,支持整个象素流的结束长度直到完成编码后才能确定。压缩格式支持单框架与多框架图像(定义在第三部分)。

2.2.1 JPEG图像的压缩

DICOM支持通过压缩格式(如JPEG)对象素数据进行压缩。附录A定义了一系列基于JPEG标准的传输语法,并提供了多种无损和有损压缩方案。

注意:在医学图像的有损压缩中,临床上可接受的压缩范围可能超出DICOM标准规定的范围。对于JPEG有损压缩,所选的压缩参数(如压缩比)需要根据实际需求进行调整。

策略选择

  • 无损JPEG压缩:符合DICOM标准的实现必须支持传输语法UID为1.2.840.10008.1.2.4.70的无损JPEG传输语法。

  • 有损JPEG压缩

    • 对于8位图像,支持JPEG基准压缩(传输语法UID为1.2.840.10008.1.2.4.50)。
    • 对于12位图像,支持JPEG扩展压缩(传输语法UID为1.2.840.10008.1.2.4.51)。

        支持JPEG压缩象素数据的DICOM压缩格式使得与自然格式象素数据编码相关的数据元素同时包含未压缩象素数据特征及来自压缩数据流的值。这些象素数据特征用于对压缩数据流的解码。

3 唯一标识符(UIDs)

概述

唯一标识符(Unique Identifiers, UIDs)用于在DICOM中唯一标识各种对象,如服务对象对(SOP)类、图像实例、网络协议参数等,确保在全球范围内的唯一性。

结构

UID由两部分组成:

  1. 基本域名(Organization Root, org root):由注册组织(如NEMA)分配,确保全球唯一性。
  2. 下标(Suffix):由组织内部分配,确保在基本域名范围内的唯一性。

格式:

UID = <org root>.<suffix>

3.1 编码规则(UID Encoding Rules)

  • 组成部分:UID的每个部分由一个或多个数字组成,如果有多个数字,首位数字不能为零。

  • 字符集:使用ISO 646:1990字符集中的数字(0-9)和点(.)作为分隔符。

  • 长度限制:UID总长度不能超过64个字符,包括点和必要时的填充NULL值(00H)。

  • 填充规则:如果UID以奇数字节结束,除非在使用网络协议时,需要在前一个组件后加1作为填充字段,以确保UID在偶字节处结束。

注意

  • 注册者可以分配首位不含零的组件,编码时首位为零将被忽略(例如,“00029”编码时作为“29”)。

3.2 注册(UID Registration)

UID可以通过以下两种途径注册:

  1. DICOM定义和注册的UID:由NEMA负责定义和注册,确保标准UID的唯一性。
  2. 私有定义的UID:由私营组织定义,需通过注册获得唯一的基本域名,确保在该域名下的下标唯一性。
3.2.1 DICOM定义和注册的唯一标识

注册的DICOM有限数字定义UID用于DICOM标准。负责DICOM UID定义和注册的组织为NEMA。注册过程依赖于DICOM标准第6部分中的DICOM注册发布。

3.2.2 私人定义的唯一标识

        私人定义的UID在DICOM中广泛使用,但不能由NEMA注册。定义私人UID的组织有责任通过适当的注册过程(至少获得一个注册的基本域名)来保证其UID的唯一性,确保在组织内部的下标唯一。

注意:私人定义的UID的下标可以是通用的,在不同对象对应的UID中应有不同的值。执行中途对UID进行语法分析是有害的,因此UID应作为整体进行处理,不能仅依据部分进行识别。

附录C中提供了UID结构的示例。

4  传输语法(Transfer Syntax)

概述

        传输语法定义了DICOM信息数据集的编码规则,包括字节顺序、压缩方法等。它允许通信的应用实体协商支持的编码技术。传输语法是内容描述的一个特征,基于DICOM应用实体关联(Association),讨论一个或多个特征。传输语法的选择仅适用于DICOM信息数据集部分的编码规则,DICOM信息公共集部分使用固定的编码规则(参见DICOM标准第七部分)。

        负责定义和注册传输语法的组织是NEMA(国家电气制造商协会),它确保所有DICOM传输语法名称的唯一性。私人定义的传输语法名称也可以使用,但不会被NEMA注册。定义私人传输语法的组织应遵循第9.2节中定义的注册步骤。

4.1 默认传输语法(Default Transfer Syntax)

        DICOM定义了默认的传输语法,称为DICOM Implicit VR Little Endian传输语法(UID: 1.2.840.10008.1.2)。所有DICOM实现必须支持这一默认传输语法,使用隐式VR和小端字节序编码。

  • 应用实体请求:如果一个应用实体发出A-ASSOCIATE请求,将至少提供DICOM Implicit VR Little Endian传输语法作为协商的传输语法之一。

  • 应用实体响应:如果一个应用实体收到一个满足上述请求条件的A-ASSOCIATE请求,并且不支持任何传输语法,将拒绝关联响应。

注意:当发送象素数据的应用实体只处理压缩格式的象素数据时,这些规则可以被舍弃。

4.2 默认的无损JPEG压缩传输语法(Default Lossless JPEG Compression Transfer Syntax)

DICOM定义了默认的无损JPEG图像压缩传输语法,使用编码过程14的一个子集(Selection Value 1),对应传输语法UID为1.2.840.10008.1.2.4.70。支持无损JPEG压缩传输语法的DICOM实现必须支持该传输语法。

  • 应用实体请求:如果一个应用实体发出请求,提供相关的抽象语法和一个或多个JPEG无损压缩传输语法描述,将至少包含DICOM默认的无损JPEG传输语法和DICOM默认的未压缩传输语法。

  • 应用实体响应:如果一个支持无损JPEG传输语法的应用实体收到符合上述请求条件的关联请求,但不支持DICOM默认的无损JPEG传输语法,将根据情况决定是否拒绝关联。

4.3 默认的有损JPEG压缩传输语法(Default Lossy JPEG Compression Transfer Syntax)

DICOM默认定义了8位和12位的有损JPEG图像压缩传输语法:

  • 8位图像:使用JPEG编码过程1,对应传输语法UID为1.2.840.10008.1.2.4.50
  • 12位图像:使用JPEG编码过程4,对应传输语法UID为1.2.840.10008.1.2.4.51

策略

  • 应用实体请求:如果一个应用实体发出请求,提供相关的抽象语法和一个或多个有损JPEG传输语法描述,将至少包含适当的DICOM默认有损JPEG传输语法。

  • 应用实体响应:如果一个支持有损JPEG传输语法的应用实体收到符合上述请求条件的关联请求,但不支持DICOM默认的有损JPEG传输语法,将根据情况决定是否拒绝关联。

注意

  1. 在两个使用有损JPEG传输语法(如JL1和JL2)的描述中提供的抽象语法是无效的,只有提供如AS1-JL1、AS1-JL2和AS1-JLD的组合才是有效的。
  2. 如果发送方已经以未压缩或无损压缩的形式获取了原始象素数据,可以提供DICOM默认的未压缩传输语法。

附录A 标准传输语法说明书(Standard Transfer Syntax Specifications)

A.1 DICOM Implicit VR Little Endian传输语法(UID: 1.2.840.10008.1.2

  • 编码方式

    • 隐式VR:数据元素不包含显式的VR字段。
    • 小端字节序:所有数据元素标记、值长度和值按照小端字节序进行编码。
  • 数据元素编码

    • 除了VR为OB(Other Byte)和OW(Other Word)的数据元素,其他VR的数据元素依据DICOM标准第7.3节的小端编码规则进行编码。
    • 对于VR为OB和OW的特定数据元素:
      • 象素数据元素(7FE0,0010)使用OW,采用小端字节序编码。
      • 其他特定增加的数据元素(60xx,3000)也使用OW,采用小端字节序编码。
      • 曲线数据元素(50xx,3000)的压缩点依指定的VR字段进行编码,采用小端字节序。

该传输语法的UID为1.2.840.10008.1.2

A.2 DICOM Explicit VR Little Endian传输语法(UID: 1.2.840.10008.1.2.1

  • 编码方式

    • 显式VR:数据元素包含明确的VR字段。
    • 小端字节序:数据元素标记、值长度和值均按照小端字节序进行编码。
  • 数据元素编码

    • 除了VR为OB和OW的特定数据元素,其他VR的数据元素依据DICOM标准第7.3节的小端编码规则进行编码。
    • 对于VR为OB和OW的特定数据元素:
      • 象素数据元素(7FE0,0010)使用OW,采用小端字节序编码。
      • 其他特定增加的数据元素(60xx,3000)也使用OW,采用小端字节序编码。
      • 曲线数据元素(50xx,3000)的压缩点依指定的VR字段进行编码,采用小端字节序。

该传输语法的UID为1.2.840.10008.1.2.1

A.3 DICOM Explicit VR Big Endian传输语法(UID: 1.2.840.10008.1.2.2

  • 编码方式

    • 显式VR:数据元素包含明确的VR字段。
    • 大端字节序:数据元素标记、值长度和值按照大端字节序进行编码。
  • 数据元素编码

    • 除了VR为OB和OW的特定数据元素,其他VR的数据元素依据DICOM标准第7.3节的大端编码规则进行编码。
    • 对于VR为OB和OW的特定数据元素:
      • 象素数据元素(7FE0,0010)使用OW,采用大端字节序编码。
      • 其他特定增加的数据元素(60xx,3000)也使用OW,采用大端字节序编码。
      • 曲线数据元素(50xx,3000)的压缩点依指定的VR字段进行编码,采用大端字节序。

该传输语法的UID为1.2.840.10008.1.2.2

A.4 为编码的象素数据封装的传输语法(Encapsulated Pixel Data Transfer Syntax)

这些传输语法适用于整个DICOM数据集的编码,特别是当图像象素数据(7FE0,0010)部分通过压缩格式编码时。

  • 编码方式

    • 显式VR:数据元素包含明确的VR字段。
    • 小端字节序:数据元素标记、值长度等均按照小端字节序进行编码。
  • 数据元素编码

    • 除了VR为OB和OW的特定数据元素,其他VR的数据元素依据DICOM标准第7.3节的小端编码规则进行编码。
    • 对于VR为OB和OW的特定数据元素:
      • 象素数据元素(7FE0,0010)使用OB,按编码过程生成的字节顺序进行编码,包含分割为一个或多个项目的已编码象素数据流,支持单帧或多帧图像。
      • 数据元素(7EE0,0010)设置长度为未定义(FFFFFFFFH)。
      • 根据特定编码过程,象素数据流的每个部分被压缩为带有特定数据元素标记(FFFE,E000)的DICOM项目,项目长度为4字节,项目值包含压缩数据片段。
      • 数据流由多个项目组成,最后以顺序定界符项目(FFFE,E0DD)和长度为0的项目结尾。

图形A.4-1 和 A.4-2详细说明了在不同情况下三框架顺序的已编码单帧图像的元素结构。

A.4.1 JPEG图像的压缩

ISO/IEC JTC1制定了JPEG标准(ISO/IEC 10918-1和ISO/IEC 10918-2)用于数字压缩和连续图形编码。DICOM传输语法针对JPEG图像压缩定义了一系列UID,选择合适的编码过程。

表A.4.1-1: JPEG的DICOM传输语法UID

DICOM传输语法UIDJPEG编码过程描述
1.2.840.10008.1.2.4.501Baseline 基准
1.2.840.10008.1.2.4.512(8位)、4(12位)Extended 扩展的
1.2.840.10008.1.2.4.523(8位)、5(12位)Extended 扩展的
1.2.840.10008.1.2.4.536(8位)、8(12位)Spectral Selection, Non-Hierarchical 光谱选择,非层次化
1.2.840.10008.1.2.4.547(8位)、9(12位)Spectral Selection, Non-Hierarchical 光谱选择,非层次化
1.2.840.10008.1.2.4.5510(8位)、12(12位)Full Progression, Non-Hierarchical 全进展,非层次化
1.2.840.10008.1.2.4.5611(8位)、13(12位)Full Progression, Non-Hierarchical 全进展,非层次化
1.2.840.10008.1.2.4.5714Lossless, Non-Hierarchical 无损,非层次化
1.2.840.10008.1.2.4.5815Lossless, Non-Hierarchical 无损,非层次化
1.2.840.10008.1.2.4.5916(8位)、18(12位)Extended, Hierarchical 扩展,层次化
1.2.840.10008.1.2.4.6017(8位)、19(12位)Extended, Hierarchical 扩展,层次化
1.2.840.10008.1.2.4.6120(8位)、22(12位)Spectral Selection, Hierarchical 光谱选择,层次化
1.2.840.10008.1.2.4.6221(8位)、23(12位)Spectral Selection, Hierarchical 光谱选择,层次化
1.2.840.10008.1.2.4.6324(8位)、26(12位)Full Progression, Hierarchical 全进展,层次化
1.2.840.10008.1.2.4.6425(8位)、27(12位)Full Progression, Hierarchical 全进展,层次化
1.2.840.10008.1.2.4.6528Lossless, Hierarchical 无损,层次化
1.2.840.10008.1.2.4.6629Lossless, Hierarchical 无损,层次化
1.2.840.10008.1.2.4.7014(Selection Value 1)Lossless, Hierarchical, First-Order Prediction 无损,层次化,一级预测

注意

  • 对于提高关联成功率,默认JPEG压缩图像过程有多个传输语法。
  • 如果对象允许在象素数据字段中包含多帧图像,每个帧将被单独编码,并作为单独的项目传输。

总结

DICOM标准通过私有数据元素标签、唯一标识符(UID)和多种传输语法,确保了在不同设备和系统之间图像和相关数据的准确、唯一和高效传输。理解这些概念对于实现和维护DICOM兼容的医疗影像系统至关重要。

注: 以上信息均基于DICOM 3.0标准文档的第5章内容进行翻译和整理,提供了有关病人医学信息模块的关键属性说明。这些信息对于医学成像专业人员和信息技术人员理解和应用DICOM标准至关重要。

标签:编码,UID,1.2,DICOM,元素,语法,传输,标识符
From: https://blog.csdn.net/martian665/article/details/143414799

相关文章

  • DICOM标准:DICOM图像核心属性概念详解——关于参考帧、病人位置、病人方位、图像位置和
    目录1、参考帧模块属性2、模态(Modality):3、病人位置(PatientPosition):4、病人方位(PatientOrientation):5、 图像位置和图像方向:6、切片位置7、图像像素模块7.1  图像像素属性描述7.1.1 每个像素的样本7.1.2光度解释7.1.3平面结构7.1.4像素数据1、参......
  • UE中基于FluidFlux插件实现洪水数据接入的一种思路
    这是FluidFlux插件文档链接:http://imaginaryblend.com/2021/09/26/fluid-flux/FluidFlux插件原本可以在编辑器模式下,通过右键SimulationDomain保存模拟状态,这个模拟状态保存后是一个资产文件以及三张纹理图Ground,Height,Velocity。SimulationDomain中有一个俯视的场景捕获相......
  • 基于Liquid State Machine的时间序列预测:利用储备池计算实现高效建模
    LiquidStateMachine(LSM) 是一种 脉冲神经网络(SpikingNeuralNetwork,SNN) ,在计算神经科学和机器学习领域中得到广泛应用,特别适用于处理 时变或动态数据。它是受大脑自然信息处理过程启发而提出的一种 脉冲神经网络 。设想你正处于一片平静的湖面,四周环绕着高山......
  • 4.2 Druid 连接池
    数据源连接池当我们掌握了Java数据库的操作能力后,就必然会面对一个新的问题,那就是性能优化,一般来说数据源连接池是最佳的优化方案,可以对比想想之前学习的线程池知识。采用数据源连接池方案可以极大的提高了数据处理能力,因为Java连接数据库是比较耗时的,如果每次查询都重新连接......
  • Study Guide v2.1
    目录1.DataStructuresandAlgorithms1.1.LearningSuggestions:Howtolearnalgorithms?1.2.LearningMaterialList1.2.1.Booksrecommended1.2.2.Websites1.3.SubjectMatterDetails1.3.1.AboutAlgorithms1.3.1.1.Whatarealgorithms?1.3.1.2.Howdoweanaly......
  • java--标识符、常量、变量、类型 转换
    1、注释(增强代码可读性)java中的注释单行注释(“//”)多行注释(/**/)tips:多行注释不能嵌套,否则会报错文档注释(/***/)源代码文件(Xxxx.java)通过编译生成字节码文件(Xxxx.class)的过程中编译器会忽略掉源码中的注释部分2、关键字(赋予特定含义的单词)特点组成关键字的字母全部小......
  • 用三剑客来快速进行uuid挂载方法.很实用,可以先在虚拟机上试试看,不好用欢迎评论区来
    blkid|grep'UUID'|sed-n'5p'|sed-E's/.*UUID="([^"]+)".*/\1/'|xargs-I{}echo"UUID={}/mnt/disk1xfsdefaults00">>/etc/fstab  简单的脚本详细解释在下面:1.blkid-功能:列出系统中所有块设备的UUID、类型等......
  • dicom基础:乳腺影像方位信息介绍
    目录一、轴位(CC,Craniocaudal)二、侧位(Lateral)三、侧斜位(MLO,MediolateralOblique)四、不同的拍摄方位的乳腺影像展示   1、RCC(RightCraniocaudal)  2、LCC(LeftCraniocaudal) 3、RMLO(RightMediolateralOblique) 4、LMLO(LeftMediolateralObliqu......
  • 环境变量与set-uid实验
       作业题目本实验室的学习目标是让学生了解环境变量如何影响程序以及系统行为。环境变量是一组动态命名值,可以影响正在运行的进程将在计算机上运行。大多数操作系统都使用它们,因为它们是1979年引入Unix。尽管环境变量会影响程序行为,但它们是如何实现的这一点很多程序员都......
  • Spring Boot 3.x 整合 Druid 数据库连接池(含密码加密)
    SpringBoot3.x整合Druid数据库连接池(含密码加密)1.为什么需要数据库连接池?在传统的数据库连接中,每一次与数据库连接都会消耗大量的系统资源和时间。数据库连接池会提前创建一定数量的数据库连接保存在池中,用来复用,避免了重复建立连接和关闭连接的开销优点:**提高性......