欢迎来到专业的无忧考公务员网!

注册登陆 我要投稿
当前位置:无忧考公务员网>时事申论 >

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

日期:2018-07-16 02:35:55 浏览次数:

  摘要:按照医学数字影像与通信(DICOM)网络体系结构,本文提出了一种建立在消息处理算法和库函数(DCMTK)调用基础之上的医学数字影像接收方法,并将其组件化。
  关键词:医学影像;消息;组件
  中图分类号:TP391.41 文献标识码:A 文章编号:1009-3044(2007)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:According to the Digital Imaging and Communications in Medicine(DICOM) Network Architecture, this paper proposes a method of receiving medical digital imaging based on message processing and library function (DCMTK) call, and of their components.
  Key words:Medical Image;Message;Component
  
  1 引言
  
  医学数字影像与通信(DICOM)标准是美国放射学会和全美电子制造商协会联合制定的。该标准共分十三章,从1985年1.0版发展到现在的3.0版,已成为医学影像信息的国际通用标准。DICOM标准涵盖了有关医学数字影像的采集、通信、显示及查询等方面的信息交换协议,大大简化了医学影像信息的交换。如今,大部分医学影像设备(如CR,CT,DR,US,MRI等)出厂时都配备有标准DICOM端口,通过DICOM端口获取医学影像信息是医学应用系统的一项基本而重要的工作。本文阐述了DICOM通信原理,给出了一种实用的影像接收方法和实验结果。
  
  2 基本原理
  
  2.1 DICOM通信原理
  DICOM网络体系结构如图1所示。最底层物理网络(同轴电缆、双绞线、集线器、分布式光纤接口等)是应用广泛的TCP/IP协议。在这之上是DICOM上层协议(Upper Layer) 。它利用OSI模型的表示层和联合控制服务元素(ACSE)对上层消息交换提供通信支持;另一方面,DICOM上层协议又是构建在TCP/IP协议之上,这赋予DICOM标准良好的兼容性和可扩展性。DICOM应用消息交换(Message Exchange)是DICOM网络中消息交换的规则。消息是由单条或多条命令组成的命令流,其后可跟数据流。消息是信息的载(转自:wWw.bdFqy.com 千 叶帆 文摘:接收医学数字影像的一种方法)体,DICOM网络通过消息交换实现信息互通。医学影像应用(Medical Imaging Application)处于最顶层,是医学影像信息的使用者或提供者。
  图1DICOM网络体系结构
  在DICOM标准中,通信活动发生在应用实体(Application Entity)之间,而应用实体包含消息交换及部分上层协议功能。应用实体根据角色的不同分为两类,一类是服务类用户(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中,然后,用Borland C++ Builder 6.0写成一个VCL组件StorageSCP,调用Dcm中的函数,医学影像应用再调用组件,从而完成影像文件的接收工作。
  图2应用框架
  
  3 实现方法及结果
  
  3.1 影像接收处理算法
  由DICOM通信原理可知,要接收DICOM格式的医学影像文件需要完成三个步骤:TCP/IP通信;DICOM上层协议;C-Store消息处理。TCP/IP通信通过Windows Sockets API实现,后两项调用DCMTK库函数实现。Dcm.dll中的函数RunStroageSCP是影像接收的具体实现,算法如下:
  (1)启动Windows Sockets,初始化网络
  TCP/IP初始化调用Windows Sockets API函数执行,函数原型为:
  int WSAStartup(WORDwVersionRequested,LPWSADATAIpWSAData);
  DICOM网络初始化调用DCMTK库函数,其原型为:
  OFCondition ASC_initalizedNetwork(T_ASC_NetworkRole role,
  int acceptorPort,
  int timeout,
  T_ASC_Network * * network);
  其中,第一项参数指定应用实体所承担的角色,SCP 是接收者,所以应填NET_ACCEPTOR;第二项参数设置监听端口号。
  (2)SCU连接请求处理。判断是否支持请求数据包中所列的通信条件(传输语法、编码顺序、压缩算法等),若支持就返回连接确认,否则拒绝连接。接收连接请求用如下函数完成:
  OFCondition ASC_receiveAssociation(T_ASC_Network * network,
  T_ASC_Association * * association,
  long maxReceivePDUSize,
  void * * associatePDU=NULL,
  unsigned long * associatePDULength=NULL,

声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

Copyright©2024无忧考公务员网 www.51kaogwy.cn 版权所有