基于DICOM3.0的超声射频数据的提取和传输
2017-09-08栾强厚黄鑫王正发邓启路何敏娜
栾强厚+黄鑫+王正发+邓启路+何敏娜
摘要:目的:基于DICOM3.0标准提取并封装超声射频数据,以解决超声射频数据无损传输和共享问题。方法:获取、分析超声射频数据,提取关键数据进行一系列处理后,得到超声图像等关键数据,将数据封装成DICOM3.0格式的标准文件,并保证数据无损传输和共享。结果:实验证明,数据封装后能有效解决超声射频数据无损传输和共享的问题。结论:该系统从原始数据提取并得出超声图像等关键数据,将其封装成DICOM3.0标准文件,有效解决了超声射频数据无损传输和共享的问题。
关键词:超声射频;提取;DICOM3.0;无损封装;传输
中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2017)06-0096-03
超声射频(Radio Frequency, RF)数据是指超声诊断仪接收到的包含所有与生物组织发生交互作用后反射的超声回波信号,保留了各组织间结构差别及特性信息。分析这些射频信号将可以区分不同组织,获得组织的特征信息[1]。
超声图像数据来源于超声射频信号,超声射频数据含有大量的原始信息,但由于其数据存储格式不统一,数据封装有损压缩,不利于超声射频数据的完整传输及共享。本文通过获取超声射频数据,提取关键超声图像等关键数据,将关键数据完整封装成DICOM3.0格式的文件,从而实现超声射频数据的无损传输和共享。
1 提取超声射频数据
1.1 超声射频数据存储格式
超声射频数据在RIFF格式的文件中以特定的形式存储。如表1所示,各头文件包含单帧射频数据扫描线的条数和采样点数,包含探头的中心频率和采样率等。超声射频数据头文件的偏移字节数由idx1确定,确定头文件中的idx1,便可确定数据的起始点,进而读取相关数据[2]。
1.2 射频数据提取和处理
数据提取类中涉及了许多功能函数,关键函数fread()从数据流中提取特定大小的关键数据以便获取有效的超声图像,其中buffer指针表示提取数据,size表示提取元素的大小(字节),count表示提取元素的个数,stream指针用于指向数据提取的原文件,最后返回所提取的数据值。
对提取的超声射频数据经过:动态滤波、包络检波、二次采样和对数压缩等一系列处理后,便可以得到如图1所示涵盖全部有效提取的超声图像及相关信息的关键数据[3][4]。
2 射频数据封装成DICOM3.0标准文件
较早前版本而言,DICOM3.0版本增加了保证网络通信所需要的组件以及将影像设备连接到网络的功能,定义了DICOM图像的存储格式和DICOM图像的传输标准。现阶段绝大部分医院的超声设备都配置了DICOM接口,可以提取关键超声射频数据封装成DICOM标准超声图像。
2.1 DICOM图像的存储格式
DICOM文件分为文件头和数据集两部分:
如图2所示,文件头包含“前同步”和“前缀”,数据集由大量的数据元组成。为了匹配部分计算机通用文件格式的兼容性,含128字节的“前同步”因其没有结构,不能作为“数据元”编码。另外,“前缀”含大写字母“DICM”4个字节。每个文件包含一个数据集,代表一个信息对象的实例,文件头可以被分割为多个部分,并随机存放,当文件头未被使用时,它必须全部赋值为0。数据集是“数据元”的有序集合,如图3所示,在文件中“数据元”由4个域组成。“数据元”在数据集中按“数据元标签(Data Element Tag)”增序排列。“数据元”由“数据元标识符”唯一标示,在DICOM文件数据集中只能出现一次[5]。
在系统中,我们创建一个封装了DICOM文件读取、浏览和存储的基本成员函数和成员变量的类,该类没有父类,具有良好的重用性和移植性,可以在其他的应用程序开发中使用。该函数中除了储存图像数据信息外,还能存储病人基本信息等与图像相关的部分关键信息。该类命名为CDicom。存储封装DICOM医学图像的主要功能函数为:Save(LPCSTR fileName),具体功能代码如下:
m_dib为CDib类,存储并创建了一幅位图,此时已经可以使用前面创建的CDib类进行操作。执行函数后,DICOM图像数据就与CDib类相关联,并且可以利用CDib类来进行诸如图像显示、图像基本处理等相关操作。
2.2 DICOM图像的传输标准
DICOM基于TCP\IP网络协议和消息交换机制,通讯过程通常包括:建立连接、连接协商、数据传输和关闭连接[6]。
待数据传输准备完成后,请求连接的一方使用TCP/IP协议及指定的地址与接收方建立连接。请求方发送数据传输单元PDU至接收方,接收方分析PDU,并响应请求或拒绝,随后检查PDU的合法性,检查合法后双方都可向对方发送消息,实现双向数据交互。
建立连接完成之后,确定服务对象之间交互数据的类型和对传输的数据进行编码等,连接协商。
经协商,服务对象双方可进行数据传输和编码方式匹配,根据DICOM协议,使用特定软件将数据封装为P_DATA_TF PDU形式进行数据传输,如图4所示。一个数据传输单元PDU可以包含一个或者多个PDV(Presentation Data Value)。DICOM命令和數据是以流的形式存放在PDV中的。
连接建立后,为了减轻系统运行负荷,不妨碍其他用户的合法访问,服务对象在数据传输完成后,必须能被任意一方关闭连接[7]。
为减少系统开发时间和成本,解决DICOM文件传输的问题,增加程序的可移植性,我们选用了国内企业开发的第三方DICOM传输控件:DICOM3网络传输 ActiveX 控件。该控件封装了大量的功能函数,支持VC的二次开发,支持DICOM文件接收的Store SCP传输,支持DICOM文件发送的Store SCU传输和Echo SCU服务,支持DICOM查询取回的Query/Retrive服务。endprint
2.2.1 StoreSCP服务和StoreSCU服务
服务器或计算机终端在开启StoreSCP服务后才能接收DICOM文件,StoreSCP服务会自动监听StoreSCU服务的请求。在获取StoreSCU服务请求后,StoreSCP服务会将接收到的DICOM文件存储在预先设置的存储路径下,并反馈存储应答信号到StoreSCU服务,以完成一次DICOM文件接收的服务。DICOM文件在计算机之间或医学超声设备之间传输都必须遵守这一规则[8]。
为了避免系统发生错误,计算机在设置StoreSCP服务的端口号时,必须注意计算机所设置的端口号与其正在使用或预留的端口号不同。
2.2.2 C-MOVE服务和C-FIND服务
计算机或服务器在连接网络时需要得到C-FIND服务的支持,按照查询条件获取所需的DICOM文件信息。在此过程中,我们只从DICOM文件中查看病人列表信息。部分计算机或服务器可提供C-MOVE SCP服务,若要获得DICOM文件需要得到C-MOVE服务的支持。
C-MOVE服务和C-FIND服务的实现过程与存储服务过程类似,但在使用前必须预先设置好具体的请求参数,包括:服务器地址、服务器端口、被叫入口地址和呼叫程序入口地址等,并通过系统编程实现传输功能[9]。
3 结语
本文通过获取的超声射频数据,并分析数据格式,提取关键数据经过一系列处理后,得到超声图像相关数据。对获取的超声图像数据以DICOM3.0为标准,将其全部封装成DICOM3.0格式的标准文件,能有效解决超声射频数据无损传输和共享的问题。如图5所示,通过与图1的对比不难发现,通过提取、封装和数据传输,可以从其他的服务器或计算机终端上查看包含所有有效关键信息的超声图像。
参考文献
[1]肖舜金.基于USB3.0超声射频信号的采集与传输系统[D].电子科技大学,2012.
[2]张力强.RIFF文件浅析[J].电脑知识与技术,2005(06):29-32.
[3]庞海烨.彩超诊断系统软件化模块的设计与实现[D].电子科技大学,2012.
[4]王巍群,趙兴群,夏翎.B型超声射频信号高速数据采集系统设计[J].中国医学物理学杂志,2006(05):376-379.
[5]胡阳秋,高小榕,高上凯.DICOM医学图像采集的方法与实践[J].北京生物医学工程,2001(01):1-5.
[6]张晓东,贾富仓,罗火灵,徐洪伟.基于DICOM的医学图像传输服务设计[J].计算机工程,2011(S1):255-257.
[7]郏岩岩.DICOM图像处理和通信服务程序设计与实现[D].华南理工大学,2013.
[8]师为礼,宋野,颜雁.基于DICOM3.0标准的医学图像传输的研究与实现[J].长春理工大学学报,2008(01):121-123.
[9]何艳敏.基于DICOM标准的医学图像通信与处理[D].电子科技大学,2004.endprint