DICOM简介

背景:

DICOM分为两大类(这里只是从DICOM相关从业者日常工作角度出发来分类的):1)DICOM医学图像处理,即DCM文件中具体数据的处理,说图像可能有些狭隘,广义上还包括波形(心电)、视频(超声)等等;2)DICOM网络传输,主要描述信息在医院各系统之间的交互方式及传输格式。一旦解析出DICOM的文件格式其实与常规的图像处理就没有差别。如果仅此而已,可以说跟医疗就没有任何关系,与医疗行业结合紧密的是第二类“DICOM网络传输”,该部分是日常患者到医院就诊等整体流程的抽象,是DICOM标准的核心。因此此次博文就重点介绍“DICOM网络传输”中的第一环节:网络连接(Association,在OSI中叫做Connection),并结合DCMTK和fo-dicom的源码进行实例介绍。

DICOM网络传输:

服务端(Server,SCP)/客户端(Client,SCU):

        DICOM采用C/S模式来描述网络传输:客户端(Client)连接到服务端(Server)然后使用服务端提供的各项服务(Services)。不同于传统网络连接中的Server和Client的,DICOM中的Server叫做Service Class Provider,Client叫做Service Class User。想要建立DICOM连接(Association,传统OSI模型中叫做Connection),客户端会向服务端发送连接请求消息,该消息主要描述客户端此次连接所期望的DICOM服务及相关设置;随后服务端会查看客户端发送过来的请求信息,确认自己是否支持客户端请求的相关服务并给出反馈信息(DICOM中叫做响应信息Response Message)。响应信息主要分为以下几类:1)如果服务端支持客户端请求的某些服务,服务端会发送确认信息(Association Acknowledge),表明此次连接完成;2)否则发送拒绝信息(Association Reject),通知客户端(SCU)连接失败。所有与连接相关的信息在DICOM协议中的ACSE(Association Control Service Element)定义。

        一旦网络连接建立,客户端(SCU)和服务端(SCP)就可以进行信息交互。DICOM标准中的DIMSE(DICOM Message Service Element)将该类信息分为11类(详情可参见DICOM协议中的相关细节,也可参见我之前的博文http://blog.csdn.net/zssureqh/article/details/39098621)。根据与连接信息(ACSE)的不同,提供的DIMSE信息类型也不同。例如传统一幅DICOM图像到服务端进行归档,使用的是C-STORE DIMSE消息;如果希望通过病人姓名和病人出生日期来查询病人的档案,需要使用DIMSE C-FIND消息。

请求连接:

        如上所述,客户端SCU向服务端SCP发送连接请求,请求服务及相关信息。除此以外,请求消息中还包括以下信息:

 

  • 请求端实体名称(Calling AE Title):在DICOM服务中,用于指代客户端(SCU)的符号,如同我们的姓名一样;
  • 被请求实体名称(Called AE Title):在DICOM服务中,用于指代服务端(SCP)的符号,如同我们的姓名一样;
  • 描述上下文(Presentation Contexts):是一个服务清单(List of Services)。清单容量最多不超过128个,用于描述客户端希望从服务端获得的各项服务,每一项服务主要包括SOP Class和List of Transfer Syntaxes。

 

下面对上述三中信息进行更详细介绍:

 

        AE Title:在DICOM网络中每一个DICOM系统都会被分配一个名称,即Application Entity Title,简称AETitle。AE Title用于标识DICOM网络中的唯一(Unique)DICOM系统(有点类似于

你可能感兴趣的:(DICOM简介)