【问题标题】:How to create DICOM MWL query using dcm4che3 in Java?如何在 Java 中使用 dcm4che3 创建 DICOM MWL 查询?
【发布时间】:2019-05-30 11:03:21
【问题描述】:

我正在使用 dcm4che3 库构建一个 DICOM 客户端,这让我有点困惑我应该如何创建 dicom 查询。我在 Association 类上调用 CFIND 方法。

我已经弄清楚如何创建一个基本查询(例如按 PatientID 搜索),如下所示:

Attributes query = new Attributes();
query.setString(Tag.PatientID, VR.LO, "12345");

到目前为止一切顺利。

但是当我想使用ScheduledProcedureStepStartDate 之类的东西进行查询时,我必须使用类似这样的子查询来创建一个序列:

Attributes query = new Attributes();
Sequence sequence = query.newSequence(Tag.ScheduledProcedureStepSequence, 1);
Attributes subQuery = new Attributes();
subQuery.setDate(Tag.ScheduledProcedureStepStartDate, VR.DA, date);
sequence.add(subQuery);

我不详细了解 DICOM 格式。所以我通过反复试验和使用另一个 DICOM 客户端模拟器并拦截它的查询来尝试弄清楚它是如何工作的。

因此,我有 3 个问题:

  1. 如何两个日期之间查询ScheduledProcedureStepStartDate(即使用从日期和到日期)。
  2. 创建查询时,是否可以让 dcm4che3 库弄清楚如何制作序列,这样我就可以在查询中指定我想要的标签、VR 和值?
  3. 当我使用序列元素(例如ScheduledProcedureStepSequence -> Modality)进行查询时,它似乎不起作用。有什么诀窍可以让这项工作发挥作用吗?

【问题讨论】:

    标签: java dicom dcm4che


    【解决方案1】:
    1. 我如何查询ScheduledProcedureStepStartDate两个日期之间(即使用从和到日期)。

    Scheduled Procedure Step Start Date (0040,0002) 元素是 Scheduled Procedure Step Sequence (0040,0100) 的一部分。这支持Combined Range Matching

    日期和时间的匹配键组合在一起。例如,“20060705-20060707”的学习日期和“1000-1800”的学习时间将匹配 7 月 5 日上午 10 点到 7 月 7 日下午 6 点的时间段,而不是每个时间段上午 10 点到下午 6 点的三个时间段7 月 5 日、7 月 6 日和 7 月 7 日。

    因此,您可以指定两个用破折号 (-) 分隔的日期来搜索两个日期之间。示例在上面的引用中给出。

    1. 创建查询时,是否可以让 dcm4che3 库弄清楚如何制作序列,这样我就可以在查询中指定我想要的标签、VR 和值?

    DICOM 元素层次结构非常简单;调用者可以根据需要轻松创建序列。在大多数情况下,MWL 查询只包含您提到的一个序列。

    你所问的需要一个基本数据集类的包装器。最广泛使用的工具包不支持对 DICOM 数据集进行包装以简化序列处理;我知道很少有人这样做。我不是工具包专家;但是 AFAIK,dcm4che 不存在这样的包装器。您必须自己创建和管理序列元素。

    1. 当我使用序列元素(例如ScheduledProcedureStepSequence -> Modality)进行查询时,它似乎不起作用。有什么诀窍可以让这项工作发挥作用吗?

    这不清楚; “它似乎不起作用”没有解释它。序列元素包含一个ItemItem 包含更多元素。每个Item 都可以再次被视为数据集。

    以下是您的查询应如下所示:

    Roni 的article 可能对您有所帮助。那里的源代码不使用您的工具包;希望你能有所了解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多