首页 > 解决方案 > 如何使用 dcm4che 在 DICOM 中创建新/自定义标签?

问题描述

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

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

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

标签: javadicomdcm4che

解决方案


您正在寻找私有数据元素标签;那些由 DICOM 支持。任何具有奇数组号的标签都是私有标签。所以标签(0x00210011) [DicomTag(33, 17)]变成了私有标签。

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

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

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

  • 编号为 (gggg, 0010-00FF) 的私有创建者数据元素(gggg 是奇数)将用于保留一个组号为 gggg 的元素块,供单个实施者使用。实施者应在该系列中第一个未使用(未分配)的元素中插入一个标识代码,以保留一个私有元素块。私有标识码的 VR 应为 LO(长字符串),VM 应等于 1
  • Private Creator Data Element (gggg, 0010),是标识实施者保留元素(gggg, 1000-10FF)的Type 1数据元素,Private Creator Data Element (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");

推荐阅读