小编典典

如何为DICOM文件生成SOPInstance UID?

python

我正在开发一个系统,该系统将能够为PACS创建结构化报告。

显然,为了创建DICOM实例(包含报告数据的文件),我需要三个UID用于研究,系列和实例。StudyUID和SeriesUID必须与为其创建报​​告的研究和系列相同。但是对于SOPInstanceUID,我需要生成新的UID。

我已经getNewSOPInstanceUID在Pixelmed文档中看到了方法,但是我对Pixelmed的源代码并不熟悉。我需要一个算法或Python源。


阅读 224

收藏
2020-12-20

共1个答案

小编典典

我真的建议你去 从自己实现它。如今,大多数语言确实提供了UUID库,因此请不要浪费时间。Esp。如果您要编写代码来提取MAC地址,那么用
可移植的 C语言编写代码可能会非常复杂。

UUID并不完全适合DICOM定义,因此您需要注册自己的组织根UID,然后仅填充生成的UUID,从而带来空间和时间唯一性条件。

YOUR_ORG_ROOT.CONVERTED_UUID

请注意,您有64个字节(已经足够了,请参阅此处)在Value Representation UI中存储:

  • 将UUID的十六进制表示法转换为VR:UI定义 ([0-9.]+)
  • 格外小心(您可能会在此操作期间引入冗余)
  • 选择一个短 Org Root
  • \0如果需要,请填充(0二进制)。

最后,由于您使用的是python,因此请使用uuid lib python-
uuid


以上内容应视为标准中正式定义的替代实现:

直接将UUID转换为UID时,必须使用“ 2.25”。根。

2020-12-20