我们可以在使用 DICOM 导入记录时设置多个 DCM_SpecificCharacterSet 吗?

问题描述

目前,我使用以下代码设置参数以从 PACS 检索数据。

DcmDataset findParams = DcmDataset();
 findParams.putAndInsertString(DCM_QueryRetrieveLevel,"SERIES");
 findParams.putAndInsertString(DCM_SpecificCharacterSet,"ISO_IR 192");

但是,只是想检查我们是否可以提供支持多个字符集以同时导入数据,代码将如下所示,我正在尝试检查这是否可能,因为我没有验证的设施一样。

 findParams.putAndInsertString(DCM_SpecificCharacterSet,"ISO_IR 192","ISO_IR 100");

解决方法

我想你想表达的是“这个Query SCU可以接受以下字符集的响应”。这显然是不可能的。请参阅 discussion in the DICOM newsgroup 以供参考。它以在关联协商中添加字符集协商的提议结束。但是这样的补充还没有提交,目前不知道有没有人在做。

查询检索服务类上下文中属性Specific Character Set (0008,0005)的语义:

PS3.4、C.4.1.1.3.1 请求标识符结构

有条件地,属性特定字符集 (0008,0005)。如果在请求标识符中的任何属性中可以使用扩展或替换字符集,则应包括该属性。否则不得包含

即它只描述了请求数据集的字符编码。

C.4.1.1.3.2 响应标识符结构

有条件地,属性特定字符集 (0008,0005)。如果在响应标识符中的任何属性中可以使用扩展或替换字符集,则应包括该属性。否则不应包括在内。如果 SCP 不支持该字符集,则 C-FIND SCP 不需要以 SCU 请求的特定字符集返回响应。 SCP 可能会返回具有不同特定字符集的响应。

即您无法控制 SCP 向您发送响应的字符集。令人惊讶,但事实上。

可以为属性发送多个值,但具有不同的语义。这意味着请求包含来自不同字符集的字符,这些字符使用 ISO 2022 中定义的代码扩展技术进行切换。PS3.5、H.3.2 中提供了一个说明性示例。 >

为了避免字符集兼容性问题,实现者通常会在系统设置时配置的语言环境配置中为特定安装(=医院)配置“唯一”字符集。它工作得很好,例如在俄罗斯的安装很可能支持西里尔文 (ISO_IR 144) 或 UNICODE (ISO_IR 192) 或两者。在“两者”的情况下,您可以选择您喜欢的字符集来配置您的系统。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...