B/S环境下基于XML存储结构的医学影像伪三维交互平台的研制

2014-02-06 07:49杨磊鑫乔梁陈欣高鹏
中国医疗设备 2014年9期
关键词:服务器端医学影像网页

杨磊鑫,乔梁,陈欣,高鹏

1.第三军医大学 a.学员19营;b.生物医学工程学院,重庆 400038;2.重庆正大软件职业技术学院,重庆 400056;3.中国人民解放军第一八一医院 医学工程科,广西 桂林 541002

0 前言

现代医学诊断中,连续断层影像集的三维(3D)可视化已成为很多疾病诊疗的重要基础。随着远程医疗和区域医疗的快速发展,基于普通网络平台的连续断层影像集的3D可视化实时共享和交互具有重要作用。例如,医生可以通过网页调取千里之外的影像数据集,在网页中进行3D可视化的浏览与操作,并进一步与其他医生进行“手对手”会诊。但目前主流的基于Web3D技术的交互平台存在以下问题[1-2]:① 客户端设备要求方面,大多需安装特定插件来增强网页传输和处理功能,同时需依赖特定的操作系统和移动终端;② 数据传输方面,大多数技术均是把所需影像数据集一次性下载到客户端本地,然后在本地进行渲染处理,对移动设备的图像处理能力和网络带宽有着很高要求;③ 即时通讯与多终端同步表达方面,大多需要第三方插件支持。因此,本文提出了基于B/S架构的在线医学影像伪3D交互平台。

1 设计方案

作为工作基础,建立基于XML文档存储结构的事件模型,提取出医学影像3D化操作的事件特征,记录并存储每次操作事件,为实现操作的可追溯以及多终端间的同步浏览奠定基础;在处理结构上,以服务器为中心,构筑3D图像处理终端,将3D数据重建任务交由服务器处理,并根据客户端浏览指令(操作事件特征)进行相应渲染处理后实时投影为二维(2D)图像,并将2D投影图像交由客户端下载显示(伪3D效果),以减轻对客户端硬件处理能力和操作系统兼容性的要求;最后引入AJAX网页通讯技术和JPEG2000标准中的渐进式传输理论,实现纯净网页下的即时通讯和“伪3D”影像的视觉连贯,进而实现纯净网页在低网速条件下的医学3D影像实时在线交互。

1.1 XML事件存储模型的设计

医学影像可视化交互的关键在于操作事件的准确提取与记录,其层次化和结构化存储尤为重要。XML[3]作为一种元标记语言,可以较好地描述结构化和模块化的信息模型,规范产品数据的定义。本平台利用XML结构特点设计的事件存储模型涉及“公共信息”、“事件闭锁”、“浏览操作”、“通道设置”和“信息标注”5部分。

公共信息:包括历次操作所涉及的数据源对象、时间、操作者、操作类型等信息。

事件闭锁:由于服务器端的影像重建以及相应的操作变换等工作需要一定运算时间,服务器端在此期间根据状态信息对事件模型进行事件闭锁等待,防止客户端累计操作引发错误。

浏览操作:客户端对页面医学影像的旋转、缩放等操作均有事件内容的详细记录,以便进行历史回顾和在线交流。

通道设置:设定客户端对同一连续断层影像数据集的操作模式,包括独立操作和同步查阅两种模式。独立操作即客户端各自浏览操作同一数据集对象(每个用户与数据集各自建立一个独立通道),同步查阅即多个客户端可以同步浏览操作同一数据集对象(多用户共用一个处理通道)。

信息标注:对某一观察视角做电子笔勾画、注释等操作。

1.1.1 模型描述

依照XML语法的基本规则,对会诊专家在影像图片上的每一次操作事件都提取出其特征,建立起基于特征的统一事件模型。该模型XML元素包括事件类型、事件状态、事件时间、角度变换、角度方向、影像缩放、横/纵向移动位置、操作者、数据集地址、通道编号、通道类型、标注类型、标注坐标。具体表述,见表1。

根据上述设计将浏览3D影像的操作事件记录成XML文档(示例片段):

表1 操作事件存储模型表述

上述XML文档所记录的操作事件,见表2(分别对应编号1和编号4)。

表2 XML文档所记录的操作事件

1.1.2 多终端间信息的同步表达

XML文档始终存储在服务器端,服务器通过实时监控XML文档及时获取下一步工作指令,如渲染后根据投影原则生成2D结果图。客户端通过与服务器的交互,即时了解XML文档的最新记录状态,判断是否有新的投影需要更新下载或是否允许用户提交新的操作请求。操作示意图,见图1。

图1 在线浏览与标注同步操作示意图

1.1.3 模型优点

XML有标记直观、结构简单的特点,便于后台管理和拆解。系统可以通过修改之间的顺序或删除某部分,方便实现操作事件的历史回放、标记间上下叠置等工作。

同时,一个即记录一次事件,且数据量很小,可以字符串的形式进行B/S的交互,如承载客户端浏览操作事件请求信息的发送。

1.2 交互信息的异步更新

1.2.1 基于AJAX的网页即时通信

基于HTTP通信机制的传统网页在每一次从服务器端更新数据或者向服务器端上传数据时均需刷新操作页面,即使很小的一次数据更新都要求重新提交和加载所有页面数据,极大浪费网络带宽,并对视觉连贯性造成很大影响。AJAX(Asynchronous JavaScript and XML)[4]网页通讯技术,利用独特的XMLHTTPRequest对象可以在浏览器与Web服务器之间使用异步数据传输(HTTP请求),从而使网页从服务器请求少量信息,而不是整个页面,确保Web页面不用打断交互流程进行重新加载即可动态地进行更新。绝大多数主流浏览器都支持的AJAX技术可用于实现纯净网页条件下的页面无刷新即时通信以及局部更新功能,如客户端对新投影图的下载和同步操作信息的传递。

1.2.2 基于JPEG2000渐进传输思想的视觉友好特性

JPEG2000支持许多类型的渐进传输(图像的可伸缩性),在慢速通信接收图像中极为有用。不同于传统基线JPEG(Baseline JPEG)标准中对图像自上而下的重建方式,JPEG2000增加了渐进传输理论[5]。其中,在分辨率类型的渐进性中,传输的图像数据前面部分字节用于显示图像的一个小缩略图;当接收到更多字节时,图像的分辨率会以每边倍乘2的速度增加,最后可获得整幅图像。

经过测试,渐进JPEG格式的图像能够被几乎所有的主流浏览器支持。本文借鉴了JPEG2000渐进传输的核心思想,将其作为2D投影应用方案的补充,在网络带宽极差的情况下,可从视觉和时间上增强其应用连续性。

1.3 3D影像的交互渲染与可视化标注

断层影像的3D交互与渲染是整个工作的基础,利用VTK(Visualization Toolkit)可视化工具包已集成的光线投影(Ray Casting)等算法可以快速地实现符合医学观察要求的3D渲染效果[6-8]。由于此项工作以服务器为中心,客户端仅需通过网页提交操作请求,服务器处理后将实时映射的2D图像传输给客户端显示,因此,客户请求指令的准确操作意义重大。VTK封装的vtkCamera类的命令方式极为丰富,包括:“水平翻转Azimuth(角度参数)”、“水平旋转Roll(角度参数)”、“垂直翻转Elevation(角度参数)”和“水平/垂直位移SetWindowCenter(x,y)”等,通过这些指令完全能满足临床诊疗的操作需求。

3D可视化标注可在3D模型某个视角进行文字、线条的标注操作。针对标注操作,传统设计一般采用空间几何模型分析定位表示,理论模型较为复杂。以确保实用为目的,将3D模型的标注演变为2D图像的标注,即在某一个位点、角度将3D影像投影为2D图像,利用图形设备接口 (Graphics Device Interface Plus,GDI+)对其进行水印等操作,重新存储为新的投影,交由客户端下载显示,以一种3D观感的2D处理方式,简化模型结构。

2 实现过程

2.1 系统处理流程

系统处理流程:① 客户端选择影像集,请求以XML结构提交至服务器XML模型存储;② 服务器实时读取XML模型,完成3D图像重建等预处理操作并存入VTK影像数据库备用;③ 客户端通过网页可视操作发出“旋转”、“标注”等指令,以XML结构化的字符串形式传送至服务器端XML模型存储(与①形式等同);④当服务器接收到来自客户端的指令时,做出相应渲染处理,投影为2D图像并改变XML模型标记;⑤ 客户端定时发出AJAX数据,从服务器端获取XML模型最新标记状态,确认是否需更新影像或获准发出新的请求。系统处理流程图,见图2。

图2 系统处理流程图

2.2 系统实现

在服务器端图像处理方面,以VTK工具包作为3D图像渲染平台,设计Winform模式的事件侦听进程实时监控XML文档状态,调度VTK的工作;将JPEG2000的渐进式传输理论融合在Winform进程中,直接将2D投影图存储为渐进图,从而实现以服务器为中心的图像处理模式。

在B/S架构设计上,以Visual Studio .NET C# 2008为开发平台,采用SQLServer 2005数据库作为XML操作事件存储模型事件的载体,用于存储服务器端医学影像、病例、客户端基本资料、权限等重要信息;结合AJAX技术,使网页能够像C/S窗口模式那样实时刷新,并利用javascript脚本语言,实现基于纯净网页的影像更新无缝切换。

3 测试验证

(1)实验设备。服务器、客户上网终端和测试数据。服务器为联想PC计算机一台(Windows 2003,IIS6.0,集成256 MB显卡,4 GB内存);客户上网终端为普通个人电脑(Windows XP,集成显卡,2 GB内存)以及IPad mini(IOS 6)各一台。测试数据为某医疗仪器产生的CT连续断层影像数据集,数据源含280帧约141 MB DICOM图像,单帧断面图像分辨率为512×512。

(2)网络实验。将系统服务器架设在第三军医大学可接入Internet网络的教育网服务器上,用户网络为一般家庭网络环境(1 Mbps带宽的ADSL电信拨号网络),并在客户机上安装流量监控软件。

(3)测试方法。两个客户上网终端同时对同一测试数据进行浏览观察,其中,用户A只打开一个网页与B同步查阅;用户B打开两个网页,一个与A同步查阅,一个独立浏览。即服务器端有两个处理通道,一个公用,一个由B单独使用。连续测试1 h,各终端随机操作,并以 5min为间隔同时截图,用于后续比对。

(4)测试结果。根据连续应用测试,各通道对3D影像的位移、角度变换、信息标注等操作均能准确记录和表达,浏览视觉均无失真、细节表现清晰、连贯性好、延迟时间<1 s。总体而言,本系统功能均可正常使用,可满足低网速下3D医学影像的共享需求。

4 讨论

本文实现了基于XML事件存储模型的B/S模式的在线医学影像伪3D交互平台,重点解决了大数据量3D医学影像的跨平台交互、低网速共享以及可视化同步问题;该平台基于纯净网页,具有使用成本低、操作方便的优点,可作为PACS的低成本辅助工具,具有较大的拓展应用空间;但也存在多通道并行时服务器端负载过重的问题。下一步,首先需对XML模型做进一步的优化,并重点对服务器同时处理多个通道的大数据量3D影像的效率问题进行研究,在一定硬件支持的情况下,拟从提高算法效率和进行分布式处理两方面入手。总之,远程医疗是21世纪以来一项新兴的医学工程学科,并必将不断扩展和创新,而低网速传输条件下基于纯净网页的医学影像3D可视化交互平台的实现,将为信息化手段下的影像诊断辅助技术提供新的思路。

[1]Marcello Carrozzino,Nicoletta Bruno,Massimo Bergamasco.Designing interaction metaphors for Web3D cultural dissemination[J].Journal of Cultural Heritage,2013,(14):146-155.

[2]高鹏,刘鹏,乔梁.基于Web的医学影像三维可视化实现方式[J].中国数字医学,2013,8(7):78-82.

[3]Flavio Ferrarottia,Sven Hartmannb,Sebastian Link.Efficiency frontiers of XML cardinality constraints[J].Data & Knowledge Engineering,2013,87(9):297-319.

[4]杨俊峰,黎建辉,杨风雷.深层网站Ajax页面数据采集研究综述[J].计算机应用研究,2013,30(6):1606-1610.

[5]Yuan Tian,Weihua Cai,Jianyong Sun,et al.A novel strategy to access high resolution DICOM medical image based on JPEG2000 interactive protocol[J].Proc of SPIE,2008,(13):1-11.

[6]石玉.基于VTK的可视化技术研究与实现[D].西安:西安建筑科技大学,2009.

[7]杨磊鑫,张一驰,章程杰,等.基于XML和VTK的医学影像三维书签系统设计[J].医疗卫生装备,2013,34(5):9-12.

[8]Freud N,Duvauchelle P,Lé tang J M,et al.Fast and robust ray casting algorithms for virtual X-ray imaging[J].Nuclear Instruments and Methods in Physics Research,2006,248(1):175-180.

猜你喜欢
服务器端医学影像网页
结合多层特征及空间信息蒸馏的医学影像分割
医学影像技术在医学影像诊断中的合理运用
影像组学在核医学影像中的应用进展
基于HTML5与CSS3的网页设计技术研究
Linux环境下基于Socket的数据传输软件设计
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于URL和网页类型的网页信息采集研究
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计