DICOM(digital imaging communications in medicine)
(医学数字图像通信)
DICOM可以解释为“医学数字化图像 通信/交流 的共同规格”,且在国内是唯一被接受的医疗影像国际规范。
DICOM规格:
1.资料结构:Patient,Study,Series,Image四个层级
Patient中包含了该病人的所有基本资料(姓名,性别,年龄等)和医生指定的检查Study;
Study中包含了检查种类(CT,MR,B超)和指定检查的Series;
Series中包含检查的技术条件(毫安,FOV,层厚等)和图像IMAGE。
2.影像对象(IOD:Information Object Definition),可分为两大部分: 象素数据(PIXELDATA),影像属性(ATTRI-BUTE)
象素数据 是通过单纯描述图像上每一个图像点的值来组合成一个医学图像;
影像属性 则包含了该图像所描述病人的资料信息,如: 病人名称、检查日期、CT号、MR号、扫描条件、层厚等,甚至包含了医嘱信息。
3.服务功能对(SOP:Service-ObjectPair),
影像对象,如CT,MR,US,X-ray等,
加上对之进行的服务,例如:Storage, Verification, Query/Retrieve等,
就组成了一个SOP。也就是DICOM最基本的运作单元。
4.SCU/SCP (ServiceClass User/Provider)
与Client/Server多对一的概念不同,SCU/SCP是一对一的服务;
SCP是负责提供对于图像资料的各种服务,扮演Server角色;
而SCU则是使用这些服务的一方,即Client一方。
DICOM的工作过程:
1.A系统往B系统发起初始信息(支持的SOP有哪些、如何编码和压缩资料、角色是SCU还是SCP);
2.B系统接收并处理初始信息,整理出两系统共同的SOP和Transfer Syntax,回应给A系统;
3.通信起始设定完成,可进行信息交换。
DICOM的网络结构:
3/7
Worklist服务:
检查设备通过 Worklist 服务从工作流系统获取待检查列表。
Worklist 服务在这里的作用是避免检查技师在设备上手动输入患者的信息,避免了信息输入错误的情况,同时减少了技师的工作量。
Worklist 其实就是一个 C-Find 请求,不过这个 C-Find 请求指定了 SOP Class UID 为 【1.2.840.10008.5.1.4.31】,
这个 SOP Class 就指定了当前的 C-Find 请求是查询 Worklist。
网络传输所需的协议:DIMSE协议、ASSOCIATE协议
DIMSE协议:
DIMSE制定了构建消息的流程和编码规则,用于在两个DICOM服务使用者(例如,两个DICOM实体)之间传输请求和响应指令。
流程(Procedures)规定了请求和响应指令消息的传输规则,用于解释指令消息中的众多字段(fields)。但是并没有规定请求发起方和执行方如何来对消息进行处理。
DIMSE协议指出消息(Messages)可能会被分段(fragmented)利用P-DATA服务在两个DICOM服务使用者之间传输。
ASSOCIATE协议:
连接(Association)的建立包含两个DICOM服务使用者。
一个被称为连接请求方(requester),一个被叫做连接接收方(acceptor); 双方使用A-ASSOCIATE服务来建立连接。
在A-ASSOCIATE服务中,双方所需的参数被称为“应用上下文(Application Context)”,其中给出了两端DICOM应用实体连接建立的相关规则。
=================================================================================================
C-ECHO:验证DICOM服务两端的交流是否畅通
C-STORE:存储病人图像信息
C-FIND:查询病人图像信息
C-MOVE:转存或获取病人图像信息
参考文档:
基础: https://blog.csdn.net/inter_peng/article/details/38856161
UID概念:https://www.cnblogs.com/jak-black/archive/2012/12/19/2824458.html
worklist:https://www.cnblogs.com/bdqczhl/p/12099560.html
C-MOVE,C-FIND:https://blog.csdn.net/zssureqh/article/details/41631563
dicom开源库 c# fo-dicom :https://github.com/fo-dicom/fo-dicom