DICOM通讯(ACSE->DIMSE->Worklist)
下文中的worklist交互的测试数据,请在资源中下载,需要wireshark将文件打开,并且加入过滤条件ip.addr == 192.168.2.193 and tcp.port == 104 ,并且选择dicom协议。
1 DICOM通讯概要介绍
DICOM通讯和TCP IP的设计原理别无二致。从用户数据发送到网络上的数据的过程中,要经历多层协议处理,每经一层,就会加入用来描述当前层含义的数据字段,例如,我们熟悉的TCP层,会在用户的数据流前,加入目标端口,源端口,TCP层用来模拟链接通道的Sequence Number和Acknowlegment Number等的字段。
在DICOM通讯中,当数据通过TCP层后,数据流就进入了DICOM的会话层(ACSE),详细介绍可在标准第8章中。ACSE(Association Control Service Element),包含了7种类型的协议数据单元,分别是A-ASSOCIATE-RQ PDU(Protocol Data Units),A-ASSOCIATE-AC PDU,A-ASSOCIATE-RJ PDU,P-DATA-TF PDU,A-RELEASE-RQ PDU,A-RELEASE-RP PDU,A-ABORT PDU。这些服务数据单元构成了ACSE服务组。解析数据流时,当第一个字节的值是4的时候,就代表PDU是一个P-DATA类型,应当由DIMSE层来处理;相反,如果是其他值,就属于a-associate-rq, a-associate-rj, a-associate-ac, a-release-rq, a-release-rsp, a-abort6种类型PDU中的一种,直接在ACSE层内进行处理。具体的解析过程,第二章节中,以一个Modality Worklist(C-Find)的例子来介绍。
当会话层接收到PDU,并且PDU的Type是4的时候,ACSE层协议,擦掉PDU头信息,将信息流变为PDVs(Presentation Data Values )后,将数据流交给表示层来解析。详细介绍,可参考第七章。在表示层DIMSE层中,提供了C-Find, C-Store, C-Move, C-Get, C-Echo, N-EVENT-REPORT, N-GET,N-SET, N-CREATE, N-DELETE, N-ACTION 11种类型的服务,这些服务成为了DIMSE服务组。
能标识当前PDV是什么类型,数据流中,有一个Flags标识,具体的含义见下图。DIMSE中消息由指令(Command)和数据集(Data Set)构成。
2 Modality Worklist通讯
2.1 A-ASSOCIATE-req
首先由SCU向SCP发起建立连接建立连接请求,此过程主要是要协商是否能够提供此服务,以及在实际通讯中所使用的传输语法,传输语法主要是指显式或者隐式VR以及大小尾编码方式;从上图中可以看出,在1标记处,能看到PDU的Type是0x01,是A-ASSOCIATE-req类型的PDU;SCU的AE Title是WLY(占用16个字节),SCP的AE Title是CONQUESTSRV1(占用16个字节);之后有32个字节的保留区域不存放任何信息;
具体的字节占位,请看下图中所示:
2.1.1 应用上下文
应用上下文,大家可以不必关注,这个只是标识DICOM通讯类型的标识,所有通讯都是一致的;下图是应用上下文的二进制的占位
具体的二级制流如下
2.1.2 表示上下文
2.1.3 User Info
通过对request的分析后,后续的PDU将只针对内部关键的信息进行说明。
2.2 A-ASSOCIATE-ac
2.3 P-DATA-TF PDU (C-FIND-RQ)
SCU发送端WLY向SCP服务端CONQUESTSRV1发送C-FIND的DIMSE消息,服务端解析当前的PDU,发现其类型是0x04。那么,后续的解析工作,就将PDU的头信息去掉后,交给DIMSE层来进行处理,详细的解释见下图,其中,橘黄色2位置,表示当前的PDV是一个命令集。在命令集中,请求的Message ID是1,注意,服务方要对当前的请求进行应答,必须也要携带此Message ID,来表示应答信息是对此请求进行的响应。
2.4 P-DATA-TF PDU (C-FIND-RSP)
服务端接收到C-FIND-RQ后,将回复请求端信息。在回复命令信息中,Status是一个重要的概念,如果是Pending,表示对应客户端请求(回复数据流的Message ID Being Responsed To的值和请求端的Message ID的值相同)的回复数据流还未结束。具体的含义,可以在第4章中进行查询。下边给出Status的可能的值
2.5 P-DATA-TF PDU 服务端返回相关查询信息
2.6 P-DATA-TF PDU ,PDV是命令集,标识对应MessageID=1的查询已结束
2.7 A-RELEASE request和 A-RELEASE response
DICOM通讯(ACSE->DIMSE->Worklist)相关推荐
- 【转】DICOM通讯(ACSE->DIMSE->Worklist)
转自:DICOM通讯(ACSE->DIMSE->Worklist) - 知乎 1 DICOM通讯概要介绍 DICOM通讯和TCP IP的设计原理别无二致.从用户数据到网络上传输数据的过程中 ...
- 【转】dicom通讯的工作方式及dicom标准简介!!
转自:dicom通讯的工作方式及dicom标准简介 - assassinx - 博客园 本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两个方面 那就是 ...
- dicom通讯的工作方式及dicom标准简介
转自:http://www.cnblogs.com/assassinx/p/3223460.html 本文主要讲述dicom标准及dicom通讯的工作方式.dicom全称医学数字图像与通讯 其实嘛就两 ...
- DVT和ADVT - 为数不多的DICOM测试工具说明AND下载
1. 前言 做DICOM研究.开发和应用的人,最头疼的就是没有充分的工具和手段来进行测试,所以无法知道自己的程序.软件是否正确,能否正确地与其他设备进行DICOM连接?连接出错的原因在哪里?改正的话该 ...
- 【174个】最全DICOM资料汇总[截止10.10.20][中国数字医疗论坛]
此次汇总了HC3i论坛资料中所有关于DICOM的下载资料.截止2010年10月20日.此次汇总贴分为:DICOM文件及相关软件.控件下载,DICOM相关研究及论文.著作--DICOM图像传输,DICO ...
- 【转】DICOM协议新手入门资料-DICOM协议详细解释!!
转自:https://blog.csdn.net/zhuwei0710/article/details/82620036 数字影像传输标准协议的初衷,是为了在不同厂商生产的数字影像设备之间实现影像及其 ...
- DICOM 模块介绍
一.DICOM模块,一般指的是三大模块,包含DICOM Storage.DICOM Worklist.DICOM MPPS. 1. DICOM Storage:(必要) 指的是仪器将影像打包 ...
- DICOM标准及应用——第一讲 DICOM标准概述
一 什么是DICOM? DICOM是Digital Imaging and COmmunication of Medicine的缩写,是美国放射学会(American College of Radio ...
- DICOM医学图像处理:DICOM存储操作之“多幅BMP图像数据存入DCM文件”
背景: 本专栏"DICOM医学图像处理"受众较窄,起初只想作为自己学习积累和工作经验的简单整理.前几天无聊浏览了一下,发现阅读量两极化严重,主要集中在"关于BMP(JPG ...
- 【转】DICOM 网关的设计与实现
何 博 曹晓光 杜振洲 (北京航空航天大学图像中心 北京 100083) DICOM 网关是医学图像存档与通信系统(PACS) 的关键部分,用于接收.存储.转发DICOM 医学图像,实现了DI ...
最新文章
- ZOJ 38727(贪心)
- 怎么把文件放在python目录下-python – 如何将文件下载到特定目录?
- 提高Python程序运行效率三种模式第一种:多进程multiprocessing模块
- Angular中父子组件传值@Input @Output @ViewChild最全面最简单的总结
- java文件 linux_Linux执行Java文件
- 不需要mysql的php博客_不用数据库,做留言板(PHP)
- 为什么选择spark
- Hibernate 与触发器协同工作
- MATLAB将界面语言由中文改成英文
- 从0教你用Python写网络爬虫,内容详细代码清晰,适合入门学习
- t分布 u分布 卡方分布_F分布、t分布、正太分布与卡方分布的联系与区别
- linux使用jinja2模板_flask中jinjia2模板使用详解2
- Lange电桥的设计
- 计算机网卡大小怎么查看,查看电脑网卡是100M还是1000M的方法
- 陶哲轩实分析 4.4 节习题试解
- 所有专业课考c语言的学校,计算机考研哪些学校专业课考408?一共82所院校
- c# cad中插入另一个dwg的图块
- 办公系统服务器搭建,搭建云桌面办公服务器
- 【南大科院】高级网络服务工程训练
- php 登录 登出,个人博客—用户登陆登出