如何生成唯一的DICOM UID?

时间:2017-09-19 15:27:23

标签: dicom uid

我正在研究DICOM门控(PET)数据 我想人工创建一个包含门控数据的DICOM图像系列。我正在询问SOPInstanceUID的增量值,它标记每个阶段或门中的每个图像切片。

它们对于门中的每个切片具有不同的值,并且在门之间递增,但我无法找出如何选择该值的逻辑。

是否有关于这些值的写入位置和方式的参考?

1 个答案:

答案 0 :(得分:10)

  

this回答中解释了生成DICOM UID的多种算法及其缺点。

根据DICOM specifications,所有包含SOPInstanceUID的UID都应该是唯一的。这与您正在处理的数据(门控PET数据或其他数据)无关。

以下是来自规格:

  

2017a第5部分 - 数据结构和编码 9个唯一标识符(UID)

     

唯一标识符(UID)提供了唯一标识各种项目的功能。它们保证了多个国家,站点,供应商和设备的独特性。不管任何语义环境如何,不同类别的对象,对象实例和信息实体都可以在DICOM语篇范围内相互区分。

UID由两部分组成:

  1. 组织根:
    UID的这一部分确保了各组织的独特性。有些服务提供商免费提供此服务。医疗联系是我所知道的。你可以contact他们免费获得一个。

  2. 后缀:
    此外,您应该以保证组织内部唯一性的方式生成后缀。

  3. 以下是DICOM UID的一般rules

      
        
    1. 总长度必须<= 64个字符,包括止损
    2.   
    3. 必须仅包含数字0-9和句号
    4.   
    5. 每个数字&#34;组件&#34; (停止之间)必须是有效且明确的整数,因此不得有前导零(除非整个组件为零)
    6.   
    7. 必须保证是唯一的 - 这意味着:      
          
      • 必须由您自己控制的适当官方根源派生。
      •   
      • 不能通过在其他人的UID上附加数字(无论你认为组合是多么特别!)来创建它。
      •   
      • 特别是,不得将辅助捕获图像,KIN对象等的系列UID创建为Study UID的衍生物(除非您拥有该根!)
      •   
    8.   
    9. 与上述相关,没有期望或要求图像的Study UID,Series UID和Instance UID应该来自同一个根(虽然在实践中,系列UID和实例UID通常都是,因为两者都必须是由生成图像的设备内部生成)
    10.   
    11. 日期和时间对于生成UID很有用,但仅限于:      
          
      • 每台计算机都有一个唯一的根(通常是您公司的UID根目录+机器特定的后缀,例如序列号
      •   
      • 如果可以在&gt;生成UID。每秒1次,然后也应使用顺序计数器
      •   
      • 如果在多线程机器上,则需要线程ID或正确互锁的计数器,以防止同一应用程序中的2个应用程序或2个线程同时生成相同的UID。
      •   
      • 不要单独使用时间 - 太容易以前导零0结束 - 例如20060724.093017请改用20060724093017
      •   
    12.   

    同样可以在specifications中找到。

    以下示例来自DICOM规范以生成UID。请注意,这是信息性部分。

      

    2017a第5部分 - 数据结构和编码 B创建私有定义的唯一标识符(参考信息)

         

    B.1组织派生的UID:

         

    以下示例介绍了特定的特定选择   组织定义其后缀以保证SOP的唯一性   实例UID。

         

    &#34; 1.2.840.xxxxx.3.152.235.2.12.187636473&#34;

         

    在此示例中,根目录为:

         
        
    • 1 标识ISO
    •   
    • 2 标识ANSI成员正文
    •   
    • 840 特定成员机构的国家/地区代码(美国代表ANSI)
    •   
    • xxxxx 标识特定的组织。(由ANSI分配)
    •   
         

    在此示例中,后缀的前两个组件与   识别设备:

         
        
    • 3 制造商定义的设备类型
    •   
    • 152 制造商定义的序列号
    •   
         

    后缀的其余四个组成部分与   识别图像:

         
        
    • 235 研究编号
    •   
    • 2 系列号
    •   
    • 12 图片编号
    •   
    • 187636473 图像获取的编码日期和时间戳
    •   
         

    在此示例中,组织已选择这些组件   保证唯一性。其他组织可以完全选择   不同系列的组件,以唯一标识其图像。对于   例如,省略研究编号可能完全有效,   如果时间戳足够,系列编号和图像编号   精确,以确保没有两个图像可能具有相同的日期和   时间戳。由于DICOM标准允许的灵活性   在创建组织派生的UID时,实现不应该   取决于任何假定的UID结构,不应该尝试   解析UID以提取其某些组件的语义。

    规范中还提到了另一种方法

      

    2017a第5部分 - 数据结构和编码 B创建私有定义的唯一标识符(参考信息)

         

    B.2 UUID派生的UID:

         

    UID可以从根&#34; 2.25构建。&#34;后跟通用唯一标识符(UUID)的十进制表示。该十进制表示将128位UUID视为整数,因此最长可达39位(必须抑制前导零)。
      UUID派生的UID可能适用于动态创建的UID,例如SOP实例UID,但通常不适用于在应用程序软件设计期间确定的UID,例如私有SOP类或传输语法UID或实现类UID。