Dicom 学习笔记-Dicom 消息服务(DIMSE-C/DIMSE-N)

简介:

引言


  DICOM(Digital Imaging and Communications in Medicine)医学数字成像与通信,是医疗影像领域一个非常重要的标准,本文主要简单介绍 DICOM 标准中的消息交换服务。在介绍之前先声明一下,有关一些名词和概念,都是笔者自己翻译和理解的意思,如有误解,还请大家指正。

名词简介


  在正式介绍前我们需要先弄明白一些名词。
DIMSE:DICOM Message Service Element(DICOM 消息服务元素)
DIMSE-C:DICOM Message Service Element - Composite(复合 DICOM 消息服务元素)
DIMSE-N:DICOM Message Service Element - Normalized(标准化的 DICOM 消息服务元素)
DIMSE-service-user:that part of an application entity that makes use of the DICOM Message Service Element.(使用 DICOM 消息服务元素的应用实体部分)

DIMSE-C


  DIMSE-C 服务是支持在有同等 DIMSE-service-user 复合信息对象定义的复合 SOP 实例上操作的 DIMSE 服务的子集,复合 SOP 实例大致可以理解为不会被改变的文档类的实体,例如 dicom 影像文件。DIMSE-C 服务包含以下5个服务:

  1. C-STORE:用于一个 DIMSE-service-user 在同等的 DIMSE-service-user 上存储一个复合 SOP 实例;其实就是存储服务,可以用来归档影像,也可以用来获取影像;
  2. C-FIND:查询服务,用于一个 DIMSE-service-user 在同等的DIMSE-service-user 上查询复合 SOP 实例的属性满足查询条件给出的一组属性的复合 SOP 实例;我们可以通过此服务查询某一 PatientID 为xx的患者的所有检查影像;
  3. C-GET:获取服务,用于一个 DIMSE-service-user 在同等的DIMSE-service-user 上查询复合 SOP 实例的属性满足查询条件给出的一组属性的复合 SOP 实例,并取回这些符合条件的复合 SOP 实例,同时在这个过程中将触发一个或多个 C-STORE 子操作过程,所有的操作(包含 C-STORE 子操作)均在同一个 TCP 连接中;
  4. C-MOVE:也是获取服务,但是获取的发起方和接收方可以是同一个实体也可以是两个不同的实体。标准中是这么定义的:用于一个 DIMSE-service-user 在同等的 DIMSE-service-user 上查询复合 SOP 实例的属性满足查询条件给出的一组属性的复合 SOP 实例,并取回这些符合条件的复合 SOP 实例,同时在这个过程中将触发一个或多个 C-STORE 子操作过程,所有的 C-STORE 子操作触发在另外一个单独的 TCP 连接中;和 C-GET 最大的区别是这个是两个 TCP 连接,而 C-GET 服务是一个;
  5. C-ECHO:验证两个同等的 DIMSE-service-user 之间端到端的通信是否成功;

DIMSE-N


  DIMSE-N 服务是支持在有对等 DIMSE-service-user 规格化信息对象定义的规格化 SOP 实例上操作和通知的 DIMSE 服务的子集。这类服务会在打印(具体可以参考 DICOM 标准第4部分的附录H和第17部分的附录BB)中使用到。DIMSE-N 服务包含以下6个服务:

  1. N-EVENT-REPORT:用来由一个 DIMSE-service-user 给对等的另一个 DIMSE-service-user 报告一个事件;唯一一个通知类型的服务;
  2. N-GET:用于一个 DIMSE-service-user 从对等的另一个 DIMSE-service-user 取回属性值;
  3. N-SET:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求属性值修改;
  4. N-ACTION:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求一个操作;
  5. N-CREATE:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求创建新的托管 SOP 实例,完成其标识和相关属性的值,同时注册其标识。
  6. N-DELETE:用于一个 DIMSE-service-user 向对等的另一个 DIMSE-service-user 请求删除一个托管 SOP 实例,同时注销其标识。

结语


  本文只是大致的介绍一下 DICOM 的消息服务,每一个服务都不是以上这么几句话能概括的清楚的,后续会针对每个服务做详细的解读。

相关实践学习
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
本场景将自定义告警信息同时分发至多个通知渠道的需求,例如短信、电子邮件及钉钉群组等。通过采用轻量消息队列(原 MNS)的主题模型的HTTP订阅方式,并结合应用实时监控服务提供的自定义集成能力,使得您能够以简便的配置方式实现上述多渠道同步通知的功能。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
存储 算法 安全
超级好用的C++实用库之sha256算法
超级好用的C++实用库之sha256算法
1055 1
|
前端开发 算法 安全
单点登录 SSO 的实现
单点登录让你一次性解决多应用认证的繁琐
804 3
单点登录 SSO 的实现
|
机器学习/深度学习 固态存储 算法
计算机视觉PyTorch实现目标检测:SSD
计算机视觉PyTorch实现目标检测:SSD
490 0
|
Ubuntu 网络协议
【ubuntu】DNS设置工具resolvectl安装教程
请注意,这些步骤可能会根据你的Ubuntu版本和配置有所不同。如果你在安装过程中遇到问题,可能需要查阅更具体的文档或者寻求专业的技术支持。
1082 0
|
人工智能
AI歌手——超简单一键运用ACE Studio来训练模拟真人唱歌
AI歌手——超简单一键运用ACE Studio来训练模拟真人唱歌
1885 1
|
中间件
踩坑之路 - 日志配置错误导致日志丢失
原起在排查一个问题时,发现本应该每天定时执行的日志,在某些日期居然没有,中间的 11.26 、11.28、11.30 的日志呢? 查看同样代码的 打的 A 日志文件,日志均匀,每天都有B 文件的日志为什么某些天丢失了? (这些日志文件本来是做数据对账的,比较重要)分析第一时间反应会不会是踩了 SLS 中间件 日志搜集上传的坑?开始登录机器去查看 A 和 B 当天的日志文件,发现 当天打印 A 日志
1667 0
踩坑之路 - 日志配置错误导致日志丢失
|
存储 负载均衡 Linux
多路径(multipath) 介绍
一、什么是多路径 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系。而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境,由于主机和存储通过了光纤交换机或者多块网卡及IP来连接,这样的话,就构成了多对多的关系。
8807 0
|
缓存 前端开发 Java
汇编语言简介
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

热门文章

最新文章