接收医学数字影像的一种方法

摘 要:按照医学数字影像与通信(DICOM)网络体系结构,本文提出了一种建立在消息处理算法和库函数(DCMTK)调用基础之上的医学数字影像接收方法,并将其组件化.

关 键 词:医学影像;消息;组件

中图分类号:TP391.41文献标识码:A文章编号:1009-3044(2007)18-31717-01

AMethodofReceivingMedicalDigitalImaging

LIANGYu-en,SHENJian-gang

(ComputerApplicationEngineering,ZhejiangInstituteMechanical&ElectricalEngineering,Hangzhou310053,China)

Abstract:AccordingtotheDigitalImagingandCommunicationsinMedicine(DICOM)NetworkArchitecture,thispaperproposesamethodofreceivingmedicaldigitalimagingbasedonmessageprocessingandlibraryfunction(DCMTK)call,andoftheirponents.

Keywords:MedicalImage,Message,Component

1引言

医学数字影像与通信(DICOM)标准是美国放射学会和全美电子制造商协会联合制定的.该标准共分十三章,从1985年1.0版发展到现在的3.0版,已成为医学影像信息的国际通用标准.DICOM标准涵盖了有关医学数字影像的采集、通信、显示及查询等方面的信息交换协议,大大简化了医学影像信息的交换.如今,大部分医学影像设备(如CR,CT,DR,US,MRI等)出厂时都配备有标准DICOM端口,通过DICOM端口获取医学影像信息是医学应用系统的一项基本而重要的工作.本文阐述了DICOM通信原理,给出了一种实用的影像接收方法和实验结果.

2基本原理

2.1DICOM通信原理

DICOM网络体系结构如图1所示.最底层物理网络(同轴电缆、双绞线、集线器、分布式光纤接口等)是应用广泛的TCP/IP协议.在这之上是DICOM上层协议(UpperLayer).它利用OSI模型的表示层和联合控制服务元素(ACSE)对上层消息交换提供通信支持;另一方面,DICOM上层协议又是构建在TCP/IP协议之上,这赋予DICOM标准良好的兼容性和可扩展性.DICOM应用消息交换(MessageExchange)是DICOM网络中消息交换的规则.消息是由单条或多条命令组成的命令流,其后可跟数据流.消息是信息的载体,DICOM网络通过消息交换实现信息互通.医学影像应用(MedicalImagingApplication)处于最顶层,是医学影像信息的使用者或提供者.

图1DICOM网络体系结构

在DICOM标准中,通信活动发生在应用实体(ApplicationEntity)之间,而应用实体包含消息交换及部分上层协议功能.应用实体根据角色的不同分为两类,一类是服务类用户(SCU);另一类是服务提供者(SCP),这类似客户/服务器结构.SCU与SCP配对使用,相互通信过程如下:

(1)SCU向SCP发出连接请求,SCP确认并响应连接.

(2)SCU与SCP之间进行消息交换.DICOM把这些消息称为DICOM服务单元(DICMSE),例如C-Store消息(影像存储用)、C-Find消息(按属性查询用)、N-Set消息(修改信息用)等.

(3)消息交换完成后,SCU发出连接释放请求,SCP确认并响应后释放连接,整个通信

活动结束.

步骤(1)和步骤(3)使用DICOM上层协议,步骤(2)涉及消息交换.

2.2应用框架

在DICOM标准中,把发送影像的一方即医学影像设备称为SCU,接收影像的一方如医学影像工作站称为SCP.根据通信原理可知,实现DICOM影像的接收功能,实际上就是对SCP应用实体的实现.SCP的实现途径,一是直接根据协议文本编码,其优点是能完整实现DICOM标准,可维护性好,但工作量大;二是购买商用DICOM接口软件,经过二次开发实现所需功能,其优点是能显著缩短开发周期,不要求使用者对DICOM标准有很深了解,但要付出一定的经济代价,所购的接口软件不一定能与应用系统完全兼容,所提供的功能也不能完全满足特定的使用要求.本文提出的方法是:设计消息处理算法,DICOM消息交换和上层协议则调用的DCMTK函数库.这样既避免了大量的协议编码工作,又可灵活修改满足不同场合的使用要求,且较经济.图2是影像接收的应用框图.为了便于使用,用VC++将C-Store消息处理算法和DCMTK函数库封装在动态链接库Dcm.dll中,然后,用BorlandC++Builder6.0写成一个VCL组件StorageSCP,调用Dcm中的函数,医学影像应用再调用组件,从而完成影像文件的接收工作.

图2应用框架

3实现方法及结果

3.1影像接收处理算法

由DICOM通信原理可知,要接收DICOM格式的医学影像文件需要完成三个步骤:TCP/IP通信;DICOM上层协议;C-Store消息处理.TCP/IP通信通过WindowsSocketsAPI实现,后两项调用DCMTK库函数实现.Dcm.dll中的函数RunStroageSCP是影像接收的具体实现,算法如下:

(1)启动WindowsSockets,初始化网络.

TCP/IP初始化调用WindowsSocketsAPI函数执行,函数原型为:

intWSAStartup(WORDwVersionRequested,LPWSADATAIpWSAData);

DICOM网络初始化调用DCMTK库函数,其原型为:

OFConditionASC_initalizedNetwork(T_ASC_NetworkRolerole,

intacceptorPort,

inttimeout,

T_ASC_Network**work);

其中,第一项参数指定应用实体所承担的角色,SCP是接收者,所以应填NET_ACCEPTOR;第二项参数设置监听端口号.

(2)SCU连接请求处理.判断是否支持请求数据包中所列的通信条件(传输语法、编码顺序、压缩算法等),若支持就返回连接确认,否则拒绝连接.接收连接请求用如下函数完成:

OFConditionASC_receiveAssociation(T_ASC_Network*work,

T_ASC_Association**association,

longmaxReceivePDUSize,

void**associatePDU等于NULL,

unsignedlong*associatePDULength等于NULL,


本文为全文原貌未安装PDF浏览器用户请先下载安装原版全文OFBooluseSecureLaye等于OFFalse,

DL_BLOCKOPTIONSblock等于DUL_BLOCK,

inttimeout等于0);

(3)处理C-Store消息.监听是否收到影像存储请求C-STORE-RQ消息,若收到则调用DIMSE_sotreProvider函数接收并存储影像文件.函数原型为:

OFConditionDIMSE_storeProvider(T_Assocation*assoc,


T_ASC_PresentationContextIDpresIdCmd,

T_DIMSE_C_StoreRQ*request,

Constchar*imageFileName,

IntwriteMetaheader,

DcmDataset**imageDataSet,

DIMSE_StoreProviderCallbackcallback,

Void*callbackData,

T_DIMSE_BlockingModeblockMode,

Inttimeout),

接收完成后向父窗口(通常是StorageSCP组件)发送自定义消息DICOM_STORAGE_RECEPTION,产生通知事件.重复执行步骤(3),直至应用结束再转步骤(4).

(4)关闭连接.调用的函数原型为

OFConditionASC_dropSCPAssociation(T_ASC_Association*association);

3.2StorageSCP组件

将接收影像的功能封装成VCL组件主要是为了便于使用.组件中利用线程技术实现对接收功能函数RunStorageSCP的调用,因此,该组件在与S CU进行的同时不影响其他任务的执行.组件主要属性、成员函数和事件如下:

属性StorageSCPOptiomOption,SCP参数

成员函数Run(),运行SCP

事件OnReception,单幅影像接收完成

OnEndOfStudy,一组影像接收完成

成员函数Run启动影像接收SCP,过程如下:

(1)载入Dcm.dll库,注册RLE/JPEG,因为因为发送DICOM影像像素部分可能是以压缩格式存储的.

(2)创建StorageSCPThread线程.

(3)启动线程,调用Dcm.dll库中的RunStroageSCP影像接收函数,监听网络,接收影像.

(4)收到影像,触发事件函数.

成员函数ConfigStoreSCP对StoreSCP的属性进行配置,如监听端口号、传输语法、编码顺序等,如果存入ini文件,每次组件启动时读入这些参数,并对组件进行初始化设置.

3.3结果

StoreSCP组件作为医学影像应用的一部分,在医院放射科进行了测试,接收到计算X线成像设备(CR)发送的数字化胸片影像.图像完整清晰,无信息丢失;接收过程耗时符合要求,无明显迟滞;组件工作稳定,与应用系统兼容性好,可维护性强.测试中发现,组件因调用Dcm.dll库函数,对内存需求相应要大一些.

4结论

本文所讨论的基于DCMTK函数库调用的DICOM影像接收方法,经医学应用证明是可行的、有效的.DICOM标准中的其他信息交换可以用类似于本文所提方法实现,可对StoreSCP进行功能扩充,或者构建新的SCU、SCP组件,并在Dcm.dll库中增加与之相应的消息处理算法.

类似论文

法国数字影像艺术教学方法

摘 要:在20世纪初,西方影像艺术教育已经在法国艺术院校开始,作为一门艺术与科学技术及应用技能有着紧密联系的数。
更新日期:2024-3-16 浏览量:44501 点赞量:10596

法国数字影像艺术教学方法

摘 要:在20世纪初,西方影像艺术教育已经在法国艺术院校开始,作为一门艺术与科学技术及应用技能有着紧密联系的。
更新日期:2024-1-24 浏览量:20931 点赞量:5818

数字影像艺术的情感认知

数字影像艺术对于人们来说,已经不是一个陌生的词汇了 在大街上随处可见的地方都有数字图片、数字影视、数字广告等。
更新日期:2024-12-15 浏览量:154562 点赞量:32816

判定有限群可解性的一种方法

【摘 要】本文研究了换位子群的性质,得出了几个关于换位子群的结论 研究了有限群子群指数互素的情形 在此基础上,给出了一种。
更新日期:2024-4-27 浏览量:58440 点赞量:13516

作文评改的几种方法

作文教学是一个难题,作文评改更是一个棘手的问题 现在班大学生多,精批细改是不现实的,也劳而无获 现在在作文教学的探索。
更新日期:2024-3-15 浏览量:43106 点赞量:9938

数字影像时代的素描教学

摘 要:从参与一个国际级广告摄影拍摄项目后,反思影像时代艺术设计学院的素描教学的所存在问题,以及我们教。
更新日期:2024-8-23 浏览量:106484 点赞量:23082