如何使用 dcm4che 在 DICOM 中创建新/自定义标签?

cel*_*lia 1 java dicom dcm4che

我想向 DICOM 数据集添加一些私有数据/信息。此数据不适合任何标准 DICOM 标签。

因此,我想使用 dcm4che 在 DICOM 数据集中添加一些 DICOM 库中不存在的特定新/自定义标签。

如何使用 dcm4che 在 DICOM 中创建新/自定义标签?

Ami*_*shi 6

您正在寻找私有数据元素标签;这些都是由 DICOM 支持的。任何组号为奇数的标签都是私有标签。因此该标签(0x00210011) [DicomTag(33, 17)]成为私有标签。

私有数据元素具有与前面在第 7.1 节中指定的标准数据元素相同的结构(即,数据元素标签字段、可选 VR 字段、长度字段和值字段)。私有数据元素的元素标签中使用的组号应为奇数。私有数据元素应按数据元素标签的递增数字顺序包含在数据集中。私有数据元素的值字段应具有本标准第 6.2 节中指定的 VR 之一。

另一个指南用框图解释了它:

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

  • 编号为(gggg,0010-00FF)(gggg 为奇数)的私有创建者数据元素应用于保留组编号为 gggg 的元素块,以供单个实现者使用。实施者应在该系列中的第一个未使用(未分配)元素中插入识别码,以保留私有元素块。私有识别码的VR应为LO(长字符串)并且VM应等于1
  • 私有创建者数据元素(gggg,0010)是识别实施者保留元素(gggg,1000-10FF)的类型1数据元素,私有创建者数据元素(gggg,0011)识别实施者保留元素(gggg,1100-11FF) ),依此类推,直到私有创建者数据元素(gggg,00FF)标识实现者保留元素(gggg,FF00 -FFFF)。因此,一组内可以保留并稍后使用的块总数为 0XFF - 0X10 = 240。

来源:规格

请参阅讨论此问题的其他帖子。

使用 dcm4che,您可以像添加任何其他标签一样添加它;只需明确指定标签,而不是使用类似Tag.StudyTime.

Attributes attribs = new Attributes();
attribs.setString(0x00210011, VR.LO, "your data");
Run Code Online (Sandbox Code Playgroud)