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
目录
相关文章
|
消息中间件 数据采集 弹性计算
serverless 入门与实践46 | 学习笔记: 消息服务 + Serverless 函数计算如何助力企业降本提效?
serverless 入门与实践46 | 学习笔记: 消息服务 + Serverless 函数计算如何助力企业降本提效?
448 3
|
搜索推荐 开发者
消息服务-短信产品基本概念 | 学习笔记
快速学习消息服务-短信产品基本概念
消息服务-短信产品基本概念 | 学习笔记
|
开发工具 开发者
消息服务-创建短信签名 | 学习笔记
快速学习消息服务-创建短信签名
消息服务-创建短信签名 | 学习笔记
|
开发工具 开发者
消息服务-事件通知使用 | 学习笔记
快速学习消息服务-事件通知使用
消息服务-事件通知使用 | 学习笔记
|
开发者
消息服务-短信产品规则和业务限制 | 学习笔记
快速学习消息服务-短信产品规则和业务限制
|
关系型数据库 MySQL Java
Docker Compose详细教程(从入门到放弃)
Docker Compose详细教程(从入门到放弃)
2984 0
|
缓存 Android开发
Android RecyclerView 实现瀑布流
Android RecyclerView 实现瀑布流
|
7月前
|
弹性计算 数据安全/隐私保护
幻兽帕鲁联机服务器如何搭建?阿里云一键部署全攻略
《幻兽帕鲁》是热门开放世界生存制作游戏。阿里云推出“一键部署”联机服务器方案,无需技术基础,仅需6步、1分钟即可完成搭建——含端口配置、环境安装等预设优化,支持自定义配置与多人畅玩,新手也能轻松开黑!
568 2
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。