我正在研究DICOM门控(PET)数据 我想人工创建一个包含门控数据的DICOM图像系列。我正在询问SOPInstanceUID的增量值,它标记每个阶段或门中的每个图像切片。
它们对于门中的每个切片具有不同的值,并且在门之间递增,但我无法找出如何选择该值的逻辑。
是否有关于这些值的写入位置和方式的参考?
答案 0 :(得分:10)
在this回答中解释了生成DICOM UID的多种算法及其缺点。
根据DICOM specifications,所有包含SOPInstanceUID的UID都应该是唯一的。这与您正在处理的数据(门控PET数据或其他数据)无关。
以下是来自规格:
2017a第5部分 - 数据结构和编码( 9个唯一标识符(UID))
唯一标识符(UID)提供了唯一标识各种项目的功能。它们保证了多个国家,站点,供应商和设备的独特性。不管任何语义环境如何,不同类别的对象,对象实例和信息实体都可以在DICOM语篇范围内相互区分。
UID由两部分组成:
组织根:
UID的这一部分确保了各组织的独特性。有些服务提供商免费提供此服务。医疗联系是我所知道的。你可以contact他们免费获得一个。
后缀:
此外,您应该以保证组织内部唯一性的方式生成后缀。
以下是DICOM UID的一般rules:
- 总长度必须<= 64个字符,包括止损
- 必须仅包含数字0-9和句号
- 每个数字&#34;组件&#34; (停止之间)必须是有效且明确的整数,因此不得有前导零(除非整个组件为零)
- 必须保证是唯一的 - 这意味着:
- 必须由您自己控制的适当官方根源派生。
- 不能通过在其他人的UID上附加数字(无论你认为组合是多么特别!)来创建它。
- 特别是,不得将辅助捕获图像,KIN对象等的系列UID创建为Study UID的衍生物(除非您拥有该根!)
- 与上述相关,没有期望或要求图像的Study UID,Series UID和Instance UID应该来自同一个根(虽然在实践中,系列UID和实例UID通常都是,因为两者都必须是由生成图像的设备内部生成)
- 日期和时间对于生成UID很有用,但仅限于:
醇>
- 每台计算机都有一个唯一的根(通常是您公司的UID根目录+机器特定的后缀,例如序列号
- 如果可以在&gt;生成UID。每秒1次,然后也应使用顺序计数器
- 如果在多线程机器上,则需要线程ID或正确互锁的计数器,以防止同一应用程序中的2个应用程序或2个线程同时生成相同的UID。
- 不要单独使用时间 - 太容易以前导零0结束 - 例如20060724.093017请改用20060724093017
同样可以在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。