美文网首页
Dicom 学习笔记-DICOM C-Store 消息服务

Dicom 学习笔记-DICOM C-Store 消息服务

作者: Statmoon | 来源:发表于2018-10-30 23:25 被阅读0次

    引言


      之前总体介绍了 DICOM 的消息服务,可以参考这篇博文,但是有关每个服务的详细信息没有讲解,本文就结合开源 DICOM 库 fo-dicom 详细介绍一下 C-Store 服务。

    名词简介


      在正式讲解前我们还需要弄明白以下几个名词

    • SCU:Service Class User,可以理解为客户端(用户端);
    • SCP:Service Class Provider。可以理解为服务端;

    C-Store 消息服务


      前文已经说明了 C-Store 服务用于一个 DIMSE-service-user 在同等的 DIMSE-service-user 上存储一个复合 SOP 实例,其实主要就是用来归档影像,在实际场景中,医院的设备(DR【普放】、CT【断层扫描】、MR【核磁】)做完检查后会产生影像文件(复合 SOP 实例),然后设备会通过 C-Store 服务将这些影像文件归档到 PACS 系统中。在这个过程中设备就相当于客户端,需要实现 C-Store SCU,PACS 系统相当于服务端,需要实现 C-Store SCP。
      C-Store 流程如下:

    C-Store 流程

    C-Store SCU


      结合开源库 fo-dicom 我们可以很轻松的实现 C-Store SCU,fo-dicom 已经封装好了 C-Store Request,具体代码可以在 GitHub 上查看 DicomCStoreRequest.cs,我们只需要如下的代码就可以实现 C-Store SCU:
    这里需要引用命名空间【Dicom.Network】

    using Dicom.Network;
    
    var client = new DicomClient();
    client.NegotiateAsyncOps();
    var request = new DicomCStoreRequest({DICOM file path});
    
    request.OnResponseReceived += (req, response) =>
    {
        Console.WriteLine("C-Store Response Received, Status: " + response.Status);
    };
    
    client.AddRequest(request);
    client.Send({C-Store SCP IP}, {C-Store SCP Port}, false, {C-Store SCU AE Title}, {C-Store SCP AE Title});
    
    • DICOM file path 指待归档的 DICOM 文件路径;
    • C-Store SCP IP 指 C-Store 服务端的 IP 地址或机器名;
    • C-Store SCP Port 指 C-Store 服务端的端口;
    • C-Store SCU AE Title 指 C-Store 客户端应用实体的名称;
    • C-Store SCP AE Title 指 C-Store 服务端应用实体的名称;
        基于以上代码就实现了一个简单的 C-Store 客户端,可用于归档单张影像,涉及到多张影像归档可在外层增加循环实现。

    C-Store SCP


      C-Store SCP 可以通过派生 DicomService 服务类来实现 Dicom 服务的基本框架,然后实现 IDicomServiceProvider 和 IDicomCStoreProvider 接口来实现。具体代码可以参考这里
      最后我们将 C-Store SCP 的代码运行起来,然后使用上面 C-Store SCU 的代码来归档一张影像,然后我们会在 C-Store SCU 收到如下成功的消息【C-Store Response Received, Status: Success】,同时在 C-Store SCP 工程的【bin】目录下能找到一个【DICOM】文件夹,文件夹里面就是刚刚测试归档的影像。

    Demo

    相关文章

      网友评论

          本文标题:Dicom 学习笔记-DICOM C-Store 消息服务

          本文链接:https://www.haomeiwen.com/subject/ygwwtqtx.html