java - 如何使用 dcm4che 在 DICOM 中创建新/自定义标签?
问题描述
我想向 DICOM 数据集添加一些私有数据/信息。此数据不适合任何标准 DICOM 标签。
因此,我想使用 dcm4che 在 DICOM 数据集中添加一些特定的新/自定义标签,这些标签不在 DICOM 库中。
如何使用 dcm4che 在 DICOM 中创建新/自定义标签?
解决方案
您正在寻找私有数据元素标签;那些由 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");
推荐阅读
- json - Logstash:展平嵌套 JSON,组合数组内的字段
- python - 使用 Python IS NOT NULL 的 SQLite 查询无效
- python-3.x - 获取无效语法
VSCode上带有Pylint的打印功能错误 - data-science - Vowpal Wabbit:如何在使用 --keep 和 --ignore 时使用 --interactions
- javascript - 使用 Facebook JavaScript SDK 将“response_type”从“token”更改为“code”
- ms-access - 表达式在表单中有效,但在计算列 Access 2016 中无效
- css - 如何在 React 中设置 DraftJS 编辑器的样式
- javascript - Set Component props on click
- ms-word - 如何使用保存到 React 状态的范围 - Microsoft Word javascript API?(跟进)
- javascript - 为任何文件类型 JS 创建下载链接