医学数字影像接收医学数字影像的一种方法_第1页
医学数字影像接收医学数字影像的一种方法_第2页
医学数字影像接收医学数字影像的一种方法_第3页
医学数字影像接收医学数字影像的一种方法_第4页
医学数字影像接收医学数字影像的一种方法_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

医学数字影像接收医学数字影像的一种方法 摘要:按照医学数字影像与通信(DI)网络体系结构,本文提出了一种建立在消息处理算法和库函数(DCMTK)调用基础之上的医学数字影像接收方法,并将其组件化。 关键词:医学影像;消息;组件 :TP391.41 :A :1009-3044(xx)18-31717-01 A Method of Receiving Medical Digital Imaging LIANG Yu-en,SHEN Jian-gang (Computer Application Engineering,Zhejiang Institute Mechanical &Electrical Engineering, Hangzhou 310053,China) Abstract:Aording to the Digital Imaging and Communications in Medicine(DI) Network Architecture, this paper proposes a method of receiving medical digital imaging based on message processing and library function (DCMTK) call, and of their ponents. Key words:Medical Image;Message;Component 1 引言 医学数字影像与通信(DI)标准是美国放射学会和全美电子制造商协会联合制定的。该标准共分十三章,从1985年1.0版发展到现在的3.0版,已成为医学影像信息的国际通用标准。DI标准涵盖了有关医学数字影像的采集、通信、显示及查询等方面的信息交换协议,大大简化了医学影像信息的交换。如今,大部分医学影像设备(如CR,CT,DR,US,MRI等)出厂时都配备有标准DI端口,通过DI端口获取医学影像信息是医学应用系统的一项基本而重要的工作。本文阐述了DI通信原理,给出了一种实用的影像接收方法和实验结果。 2 基本原理 2.1 DI通信原理 DI网络体系结构如图1所示。最底层物理网络(同轴电缆、双绞线、集线器、分布式光纤接口等)是应用广泛的TCP/IP协议。在这之上是DI上层协议(Upper Layer) 。它利用OSI模型的表示层和联合控制服务元素(ACSE)对上层消息交换提供通信支持;另一方面,DI上层协议又是构建在TCP/IP协议之上,这赋予DI标准良好的兼容性和可扩展性。DI应用消息交换(Message Exchange)是DI网络中消息交换的规则。消息是由单条或多条命令组成的命令流,其后可跟数据流。消息是信息的载体,DI网络通过消息交换实现信息互通。医学影像应用(Medical Imaging Application)处于最顶层,是医学影像信息的使用者或提供者。 图1DI网络体系结构 在DI标准中,通信活动发生在应用实体(Application Entity)之间,而应用实体包含消息交换及部分上层协议功能。应用实体根据角色的不同分为两类,一类是服务类用户(SCU);另一类是服务提供者(SCP),这类似客户服务器结构。SCU与SCP配对使用,相互通信过程如下: (1)SCU向SCP发出连接请求,SCP确认并响应连接。 (2)SCU与SCP之间进行消息交换。DI把这些消息称为DI服务单元(DICMSE),例如C-Store消息(影像存储用)、-Find消息(按属性查询用) 、N-Set消息(修改信息用)等。 (3)消息交换完成后,SCU发出连接释放请求,SCP确认并响应后释放连接,整个通信 活动结束。 步骤(1)和步骤(3)使用DI上层协议,步骤(2)涉及消息交换。 2.2 应用框架 在DI标准中,把发送影像的一方即医学影像设备称为SCU,接收影像的一方如医学影像工作站称为SCP。根据通信原理可知,实现DI影像的接收功能,实际上就是对SCP应用实体的实现。SCP的实现途径,一是直接根据协议文本编码,其优点是能完整实现DI标准,可维护性好,但工作量大;二是购买商用DI接口软件,经过二次开发实现所需功能,其优点是能显著缩短开发周期,不要求使用者对DI标准有很深了解,但要付出一定的经济代价,所购的接口软件不一定能与应用系统完全兼容,所提供的功能也不能完全满足特定的使用要求。本文提出的方法是:设计消息处理算法,DI消息交换和上层协议则调用的DCMTK函数库这样既避免了大量的协议编码工作,又可灵活修改满足不同场合的使用要求,且较经济。图2是影像接收的应用框图。为了便于使用,用VC+将C-Store消息处理算法和DCMTK函数库封装在动态链接库Dcm.dll中,然后,用Borland C+ Builder 6.0写成一个VCL组件StorageSCP,调用Dcm中的函数,医学影像应用再调用组件,从而完成影像文件的接收工作。 图2应用框架 3 实现方法及结果 3.1 影像接收处理算法 由DI通信原理可知,要接收DI格式的医学影像文件需要完成三个步骤:TCP/IP通信;DI上层协议;C-Store消息处理。TCP/IP通信通过Windows Sockets API实现,后两项调用DCMTK库函数实现。Dcm.dll中的函数RunStroageSCP是影像接收的具体实现,算法如下: (1)启动Windows Sockets,初始化网络。 TCP/IP初始化调用Windows Sockets API函数执行,函数原型为: int WSAStartup(WORDwVersionRequested,LPWSADATAIpWSAData); DI网络初始化调用DCMTK库函数,其原型为: OFCondition ASC_initalizedNetwork(T_ASC_NetworkRole role, int aeptorPort, int timeout, T_ASC_Network * * work); 其中,第一项参数指定应用实体所承担的角色,SCP 是接收者,所以应填NET_ACCEPTOR;第二项参数设置监听端口号。 (2)SCU连接请求处理。判断是否支持请求数据包中所列的通信条件(传输语法、编码顺序、压缩算法等),若支持就返回连接确认,否则拒绝连接。接收连接请求用如下函数完成: OFCondition ASC_receiveAssociation(T_ASC_Network * work, T_ASC_Association * * association, long maxReceivePDUSize, void * * associatePDU=NULL, unsigned long * associatePDULength=NULL, 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 OFBool useSecureLaye=OFFalse, DL_BLOCKOPTIONS block=DUL_BLOCK, int timeout=0); (3)处理C-Store消息。监听是否收到影像存储请求C-STORE-RQ消息,若收到则调用DIMSE_sotreProvider函数接收并存储影像文件。函数原型为: OFCondition DIMSE_storeProvider(T_Assocation*assoc, T_ASC_PresentationContextID presIdCmd, T_DIMSE_C_StoreRQ* request, Const char* imageFileName, Int writeMetaheader, DcmDataset * * imageDataSet, DIMSE_StoreProviderCallback callback, Void * callbackData, T_DIMSE_BlockingMode blockMode, Int timeout); 接收完成后向父窗口(通常是StorageSCP组件)发送自定义消息DI_STORAGE_RECEPTION,产生通知事件重复执行步骤(3),直至应用结束再转步骤(4)。 (4) 关闭连接。调用的函数原型为 OFCondition ASC_dropSCPAssociation(T_ASC_Association * association); 3.2 StorageSCP组件 将接收影像的功能封装成L组件主要是为了便于使用。组件中利用线程技术实现对接收功能函数RunStorageSCP的调用,因此,该组件在与SCU进行的同时不影响其他任务的执行。组件主要属性、成员函数和事件如下: 属性StorageSCPOptiom Option;SCP参数 成员函数 Run();运行SCP 事件 OnReception;单幅影像接收完成 OnEndOfStudy;一组影像接收完成 成员函数 Run启动影像接收SCP,过程如下: (1)载入Dcm.dll库,注册RLE/JPEG解码器,因为因为发送DI影像像素部分可能是以压缩格式存储的。 (2)创建StorageSCPThread线程。 (3)启动线程,调用Dcm.dll库中的RunStroageSCP影像接收函数,监听网络,接收影像。 (4)收到影像,触发事件函数。 成员函数ConfigStoreSCP对 StoreSCP的属性进行配置,如监听端口号、传输语法、编码顺序等,如果存入ini文件,每次组件启动时读入这些参数,并对组件进行初始化设置。 3.3 结果 StoreSCP组件作为医学影像应用的一部分,在医院放射科进行了测试,接收到计算X线成像设备(CR)发送的数字化胸片影像。图像完整清晰,无信息丢失;接收过程耗时符合要求,无明显迟滞;组件工作稳定,与应用系统兼容性好,可维护性强。测试中发现,组件因调用Dcm.dll库函数,对内存需求相应要大一些。 4 结论 本文所讨论的基于DCMTK函数库调用的DI影像接收方法,经医学应用证明是可行的、有效的。DI标准中的其他信息交换可以用类似于本文所提方法实现,可对StoreSCP进行功能扩充,或者构建新的SCU、SCP组件,并在Dcm.dll库中增加与之相应的消息处理算法。 _: 1DIPS3-xxDigital Imagi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论