一种基于Web的CT/MR图像序列定位线绘制的方法
2014-08-06谢勤岚苑金龙
谢勤岚,夏 超,苑金龙
(1 中南民族大学 生物医学工程学院 ,武汉 430074;2 深圳蓝韵实业有限公司 蓝韵网络研发中心,深圳 518108)
计算机断层扫描(CT)和核磁共振成像(MR)技术发展成熟,广泛应用于临床诊断.通过分析一个CT/MR序列的人体组织器官二维切片图像,医生能够得到病灶的大小及形状,方便诊断.但CT/MR序列中的切片数量很多,医生对病灶位的确诊需要多组不同视点角度,而CT切片图像的定位,MR不同切片间的相互定位是一个难题,针对某一幅图像,医生并不知道该切片图像在组织器官上对应的精确位置[1].
现有技术基于PC客户端在医学影像上绘制定位线正是用来解决这个问题,但由于PC端的移动性能较差,无法适应于现在远程医疗中医生精确定位病人病灶的需求.而目前存在的基于Web的定位线绘制大多数依赖JavaApplet来实现,它要求用户在对医学图像进行操作时安装基于Java的图像处理插件,同样有着安装繁琐、推广应用不便的弊端.
因此,本文提出了一种基于Web的CT/MR图像序列定位线绘制的方法.该方法采取了高效准确的定位线算法、浏览器与Web服务器之间的异步请求、以及HTML5(Hypertext Markup Language)的画布属性等技术最终实现了CT/MR图像序列定位线在浏览器上的显示.该实现可以在不安装任何插件的浏览器上完成医学影像的定位线绘制,可以使医生利用任何移动设备随时随地登陆浏览器,通过网址访问医院内部的医学影像服务器,为区域医疗和远程会诊的精确诊断提供重要辅助工具.
1 技术背景
1.1 DICOM标准及WADO协议
DICOM即数字影像和通信标准,是为了统一医学影像存储和传输格式,实现系统间信息自由交换而产生的.其中WADO协议是用来规定Web医学图像信息传输的标准,根据客户端的请求,可以返回相应的影像、报告、DICOM文件、JPG文件等.WADO规定了Web中请求不同的对象以及影像信息的参数设置方式和相关的相应的机制,为在Web中检索患者信息、影像、教学提供匿名DICOM文件等提供了便利.标准中规定其请求规则为:<通信协议>://服务器地址/路径文件?请求参数.具体实例如图1.
图1 基于WADO协议的url请求模板Fig.1 Request template of the url based on WADO agreement
Web客户端的请求参数以如图1中url的形式传给服务器.根据DICOM中的WADO标准,RequestType=WADO是请求参数中的必选参数,该参数为服务器的请求标识,表明请求来自WEB,请求符合WADO标准;3个UID(StudyUID、SeriesUID、ObjectUID)分别为检查唯一标识、对象序列唯一标识、对象唯一标识,这些参数用来指定请求的DICOM对象.其他的可选参数如Rows、Columns、WindowCenter、WindowWidth、ImageQuality等分别表示图像高度、图像宽度、窗位、窗宽、图像质量等.
1.2 数据信息
标准的DICOM文件由文件头和数据信息构成.DICOM 文件头包含了标识数据集合的相关信息.数据信息是DICOM数据元素Tag的组号从0x0008开始的数据元素构成的数据集.数据信息按内容可分为图像文件数据信息和非图像文件数据信息.图像文件数据信息是多个信息对象的复合体,包括病人(Patient)、检查(Study)、系列(Series)和图像(Image)数据等数据元素;非图像文件数据信息由目录管理、病人管理、检查管理、就诊管理、结果管理等管理信息和其它信息构成[2].数据元素结构见表1.
表1 数据元素结构
元素标识Tag是DICOM数据元素的标记号,它由组号和元素号构成,是与每个数据一一对应的标记,如0002、0003就是组号为0x0002,元素号为0x0003的介质存储服务类实例UID数据元素的Tag号.值表示VR(value representation)是DICOM标准对字符、整型和浮点型等数据类型的特定表示方法.多值性VM(Value Multiplity)是用于表示数据元素中包含的元素值的个数[3].
本文中CT/MR的定位线绘制的服务端算法就用到了数据信息中的Patient Position (0018,5100)、ImageType(0008,0008)、ImagePositionPatient(0020,0032)、Rows(0028,0010)、IamgeOrientationPatient (0020,0037)、PixelSpacing(0028,0030)、Columns(0028,0011)和Frame of Reference UID(0x20,0x52) 等属性.
2 基于WEB的定位线绘制原理
2.1 总体结构
CT和MR的Web定位线绘制涉及到两幅图像:定位图像和当前图像.
首先将定位图像和当前图像的唯一标识3个UID通过TCP/IP协议以URL的形式传递给Web服务器,然后再由FastCGI(FastCGI是一个常驻型的CGI(Common Gateway Interface))将请求传送给WADO服务,WADO服务解析WADO协议串,根据协议串中的DICOM文件的UIDS从数据文件存储服务中请求DICOM文件流,同时将DICOM文件流存储在数据交换区域.WADO服务根据接收到协议串的参数,处理DICOM文件流得到需要的内容,最后FastCGI将WADO服务的处理结果通过Web服务器返回给浏览器客户端,前端获得返回的数据结果,画出基于Web的CT/MR图像序列定位线[4,5].Web定位线绘制总体框架如图2.
图2 基于WEB的定位线绘制框架图Fig.2 Positioning line drawing frame based on WEB
2.2 服务端定位线绘制算法
2.2.1 确定定位图
CT图像定位图的判断:通过WADO协议传入的StudyUID信息,遍历该StudyUID下病人的所有CT序列,由DICOM文件数据中数据元素的Image Type属性来判断是否是定位图片,若是LOCALIZER表示该图像为定位图像,若是AXIAL则表示为切片图像[1].
MR图像定位图的判断:MR图像的定位线是个断层,有多幅定位图,成像方式复杂,无法通过ImageType属性判断.而Frame of Reference UID属性基本上都指向了一幅不存在的图像,也无法进行有效判断.实际上MR定位图像是一个相对、相互的概念,只要两张图像间存在交线,那么MR中任何一张图像都可能成为另一张图像的定位图[6].
2.2.2 定位线算法模型
首先我们将定位图像第一行、第一列方向矢量叉乘,得到图像平面的法向量,如式(1):
(yr1zc1-yc1zr1,zr1xc1-xr1zc1,xr1yc1-xc1yr1).
(1)
(x-x1)dx+(y-y1)dy+(z-z1)dz=0.
(2)
对于切片图像(记为Plane2):
(1)取出Tag(0020,0032)值即Image Position Patient属性,确定图像首个像素(即图像左上角点)在所述统一坐标系中的三维坐标值O2(x2,y2,z2);
(3)取出Tag(0028,0030) 值即pixel spacing属性,确定图像的每个像素代表的实际物理宽度和代表的实际物理高度Spacingx,Spacingy;
(4)取出Tag(0028,0010) 值即Rows属性,确定图像的高度SrcHeight;
(5)取出Tag(0028,0011) 值即Columns属性,确定图像的宽度SrcWight.
如此可以得到切片图像4个端点的三维坐标,将其记为P1(x,y,z),P2(x,y,z),P3(x,y,z),P4(x,y,z)(设P1点即是O2点,P2点是切片右上角点,P3点是右下角点,P4点是左下角点),如式(3)~(5):
(3)
(4)
(5)
然后将4个已知的端点与定位图像面片算出其矢量位移,将其记为dv1,dv2,dv3,dv4,如式(6):
dv1=(P1x-O1x)×dx+(P1y-O1y)×dy+
(P1z-O1z)×dz.
.(6)
同理可得dv2,dv3,dv4,如此得到以下4个判断式子:
IsCross12=
(dv1>0&&dv2<0)‖(dv1<0&&dv2>0),
(7)
IsCross23=
(dv2>0&&dv3<0)‖(dv2<0&&dv3>0),
(8)
IsCross34=
(dv3>0&&dv4<0)‖(dv3<0&&dv4>0),
(9)
IsCross41=
(dv4>0&&dv1<0)‖(dv4<0&&dv1>0).
(10)
假设此图像的4条边界为P1P2,P2P3,P3P4,P4P1,那么根据(7)~(10)式的逻辑判断可以得知,如果点P1和P2分别位于已知平面的两侧,那么IsCross12 为真,表明P1P2线段与平面有交点,同理如果IsCross23为真,表明P2P3线段与平面有交点,以此类推可以判断出哪些线段是与平面有交点,同时可知如果4条线段与平面都没有交点,那么这两张图像就是平行的,则不存在定位线.
通过以上的判断和计算,就可以找到线段与已知平面的交点,有且只会有2个交点,将其记为CrossPoint1(x,y,z),CrossPoint2(x,y,z).计算公式如下(假设IsCross12 为真):
CrossPoint1,x=P1x+(P2x-P1x)×
|dv1/(dv1-dv2) ,
(11)
CrossPoint1,y=P1y+(P2y-P1y)×
|dv1/(dv1-dv2) ,
(12)
CrossPoint1,z=P1z+(P2z-P1z)×
|dv1/(dv1-dv2) .
(13)
同理可以得到CrossPoint2.得到CrossPoint1,CrossPoint2两个交点的坐标值后,将其转换为二维坐标点CrossPoint1(x,y),CrossPoint2,也就是三维空间点在平面上投影点的位置,最后再通过Web服务器将数据返回给浏览器客户端.算法流程见图3.
图3 服务端定位线算法流程图Fig.3 Positioning line algorithm flow chart on the service side
2.3 Web客户端定位线绘制算法
服务端处理完并返回数据后,Web客户端首先接收到2个二维坐标点值LocalizerStartPoint(x,y)、LocalizerEndPoint(x,y),分别表示起点值和终点值.然后根据页面图像显示的大小、原图像的大小和相对显示框图像位移等将其转换为Web页面坐标.
假设图像的原始大小宽和高分别为srcWidth、srcHeight,由基于WADO协议的url可选参数Rows、Columns向服务器请求返回 .假设Web页面显示框大小为ShowFramewidth、ShowFrameheight,得到宽和高的分别比例如式(14)、(15):
ratioW=ShowFramewidth/srcWidth,
(14)
ratioH=ShowFrameheigth/srcHeight.
(15)
原始图像内适应显示框后,宽和高必定按同一比例缩放,图像才不会失真,而宽或高多余的部分称之为非图像区域,用黑色填充,缩放比例计算方法为:
(1)如果ratioW (2)如果ratioW>ratioH,ratio=rationW. 得到缩放比例后,然后算出图像宽和高上不是图像数据的部分,有且只有一个方向上是有非图像区域的,如式(16)、(17): offwetW=(ShowFranmewidth-ratio× srcWidth)/2, (16) offwetH=(ShowFranmeeight-ratio× srcHeight)/2. (17) 同时还要注意的是,图像在显示框内,放大缩小或者移动后会有相对显示框的偏移,这个偏移相对于显示框的左顶点将其记为offsetLeft、offsetTop. 如此通过以上的数据,可以最终算出转化为Web页面上的坐标值,如式(18)、(19): TransStartPoint.x=LocalizerStartPoint.x× offsetW+offsetLeft, (18) TransStartPoint.y=LocalizerStartPoint.y× offsetW+offsetTop. (19) 同理可以获得终点的坐标TransEndPoint(x,y).算法流程见图4. 图4 Web客户端定位线算法流程图Fig.4 Positioning line algorithm flow chart on the client side 根据两种扫描各自的特征,CT和MR的Web定位线绘制采取不同的显示布局:CT的定位图像通常只在一个序列中,而且数量较少,所以采取一个显示框内存放定位图像,其他显示框内存放切片图像,来相对定位图像画定位线的布局结构.MR则是任何图片都可能是切片图像或是定位图像,注重的是相互定位,除了当前图像,在每个显示框内的图像上都要画上定位线. 基于以上框架流程,在Web客户端根据WADO协议,客户端请求定位线信息的url如下模式. (1)3个UID参数(StudyUID、SeriesUID、SopUID)传入当前图像的3个UID. (2)添加LocalizerlineUIDS参数(自行定义参数名),用于存放定位图像3个UID. (3)其他窗宽窗位,图像高,宽等参数可选传入. 服务端收到url请求信息后,通过WADO服务解析,经过DICOM文件信息读取和算法流程后,再通过Web服务器返回计算结果,得到相对于原始图像定位线的两个二维交点坐标. 最后根据前端算法得到两个页面显示坐标点,在浏览器上创建HTML5的画布,用虚线连接两个点,就实现了基于Web的CT/MR图像序列中定位线的绘制.CT和MR定位线绘制效果见图5和图6. 图5 基于Web的CT图像序列定位线绘制Fig.5 Drawing positioning line of CT image sequence based on Web 图6 基于Web的MR图像序列定位线绘制Fig.6 Drawing positioning line of MR image sequence based on Web 基于Web的定位线是未来远程医疗不可缺少的一部分,本文针对遵循DIOCM3.0标准组织的医学影像,实现了一种适用于CT/MR的图像序列定位线的绘制方法.该方法一方面继承了传统客户端PACS的定位线绘制的精准和算法的高效,同时克服了PC端的移动性能较差的缺点;另一方面基于WADO协议和异步请求技术的总体框架,相较于基于Java插件的Web绘制,在数据传输速度和显示流畅性上也有了很大的改进. 参 考 文 献 [1] 周 军.CT图像序列中定位线的绘制[J].科技信息(科学教研),2007(24):458. [2] 彭述娟.符合DICOM标准的医学影像文件管理[J].计算机应用,2003(12):1136-1137. [3] 佟英红.无损压缩DICOM文件解读的实现[J].计算机应用,2003(10):131-132. [4] 曹明干.WEB PACS系统的架构研究[J].医院管理论坛,2011(7):32-33. [5] Munch H,Engelmann U,Schroeter A.Web-based distribution of radiologica PACS to EPR[J].International Congress Series,2003,1256:873-879. [6] 吴恢远.PACS中MR序列定位线的绘制[J].中国医学装备,2009(10):6-7.3 具体实现
4 结语