生物医学工程学杂志
2003;20(2)∶222~228
虚拟现实建模语言(VRML)在数字化
医学图像中的应用3
禹正扬1 何 生1 熊庆文2 敬万钧2 陈槐卿3 陈 红3
1(四川大学华西医院普外科肝胆胰研究室,成都 610041)2(电子科技大学计算机学院虚拟现实实验室,成都 610054)3(四川大学华西医学中心生物医学工程研究室,成都 610041)
摘要 利用VRML进行医学体数据三维重建,探索VRML在数字化医学图像三维重建中的应用。通过
VRML建模并结合VC++、JavaScript编程语言对其进行完善,能得到质量较高的脏器图像,与传统三维重建效
果近似。VRML浏览器可以提供较好的人机实时交互环境,能基本达到医学领域中对三维重建与实时显示的要求。利用VRML建模进行医学图像三维重建,是不同于传统三维重建的新方法;作为实现医学虚拟现实三维可视化的新工具,VRML在数字化医学图像处理领域有着广阔的应用前景。
关键词 虚拟现实建模语言(VRML) 医学三维重建 医学图像ApplicationofVirtualRealityModelingLanguageinthe
FieldsofMedicalDigitalImage
112233
YuZhengyang HeSheng XiongQingwen JingWanjun ChenHuaiqing ChenHong
1(DepartmentofGeneralSurgery,WestChinaHospitalofSichuanUniversity,Chengdu 610041)
2(DepartmentofVirtualandReality,ComputerScienceCollege,UniversityofElectronic
ScienceandTechnologyofChina,Chengdu 610054)
3(DepartmentofBiomedicalEngineering,WestChinaMedicalCenterofSichuanUniversity,Chengdu 610041)
Abstract Thisresearchaimsattheprocessofthree2dimensional(3D)reconstructionfrommedicalbodydatausingVRMLandVC++,JavaScriptlanguageandfocusesontheapplicationofVRMLfor3Dreconstructionof
.The2DmedicaldigitalimedicaldigitalimagesmagesfirstlyaremodifiedinVC++language.Then,theimages
aremanipulatedbymouldbuiltinVRMLandmodifiedinJavaScriptlanguage.Finally,the3Dreconstructionofbodyinternalorganscanbeformedinhighqualityneartothosegotintraditionalmethods.Furthermore,VRMLbrowsercanofferbetterwindowsofman2computerinteractioninrealtimeenvironment.Asanewmethodandtoolquitedifferentfromtraditionalwaysof3Dreconstruction,VRMLisusefulforthevisualizationofmedical3Dre2constructionbasedon2Dimagesandhasapromisingprospectinthefieldofmedicalimage.
Keywords Virtualrealitymodelinglanguage(VRML) Three2dimensionalreconstruction Medicalim2age
1 引 言
三维重建与显示技术在医学图像领域中有重要的应用价值。作者尝试应用虚拟现实建模语言(Vir2tualrealitymodelinglanguage,VRML)对体数据进行后处理,探索医学三维重建与显示的具体实现,并取得了一定的进展,报道如下。
3四川省卫生厅重点资助项目(2001:1SY051243)
2 方法与步骤
2.1 医学图像传统三维可视化方法简介
(1)表面绘制(Surfacerendering):基本原理是
通过提取物体的表面信息,再用绘制算法根据光照、明暗模型进行消隐和渲染后得到显示图像,包括投影、消隐和渲染三个步骤。在计算机图形学领域,表面绘制算法发展至今已相当成熟[1]。
(2)体绘制(Volumerendering):基本原理是认
第2期 禹正扬等。 虚拟现实建模语言(VRML)在数字化医学图像中的应用223
为体数据场中每个元素都有一定的属性(透明度和光亮度),通过计算所有体素对光线的作用即可得到二维投影图像;依据此成像原理,在构造出理想化的物理模型的基础上,依据光照模型及体素的介质属性分配相应的光强和不透明度,并沿着视线观察方向积分,最后在二维平面上就形成了三维模型的投影图像[2]。
由于没有对体数据进行绝对分割即直接进行绘制,所以体绘制比起表面绘制在表面细节表现方面具有较大的优势,但由于其保留了较多三维图像的细节信息,也造成了体绘制的显示速度明显慢于表面绘制。
2.2 VRML简介及其成像原理
VRML为虚拟现实建模语言的英文缩写,是一种用于描述三维造型与交互环境的简单文本语言,也是在Internet上建立3D多媒体和共享虚拟世界的一个开放标准。VRML与计算机软硬件平台无关,建模通过一个或多个以.wrl为文件扩展名的“模型世界”多用途网VRML文件来表述,可采用[3]
际邮件扩充协议(MIME)在Web发布,并能建立基于Web的三维可视化服务器[4],实现资源共享。无论是PC或SGI平台,都可以浏览VRML世界并利用VRML建模。VRML能够快速建模,支持PROTO等灵活的编程方式,在网上具有大量可用资源,是目前最常用的虚拟现实建模工具之一。
VRML的语法较为简单,易于掌握常用节点的
一定的程度上达到实时性的要求。特别是在对三维重建物体进行交互(如移动,旋转等)时,它的速度优势较为明显。缺点是缺乏底层控制,其重建的效果取决于二维断层图片的质量,如果CT等二维断层图片的效果不太理想,将会影响建模的效果。作者尝试应用VRML对医学影像进行三维重建,并结合VC++、JavaScript等编程语言完善建模,弥补了单纯运用VRML的不足与缺陷。
2.3 利用VC++在三维重建前对二维断层图像进行增强处理
为了使VRML进行三维重建后得到更好的效果,对二维图像进行前期增强处理和选取恰当的图片格式非常重要。一项简单常用的二维图像增强技术就是使灰度图像转换为伪彩图像。通常用于三维重建的二维断层医学图像大都是灰度图像,如果能通过简单的图像增强技术将其转化为彩色图像,人眼对图像细节的分辨力无疑将得到极大地提高。作者利用VisualC++语言编制了将灰度图像转换为伪彩的程序,并且可以实现同一目录下所有灰度图像转换的批处理。这样对二维图像进行增强后,进行三维重建能得到更好的效果。
灰度图像转换为彩色图像(通常称其为伪彩色处理)的基本原理和效果图如下所示[6](见图1、2)。
我们按照上述原理用VC++编写了256级灰度图像转换为伪彩的程序,能实现同一目录下所有灰度图像转换的批处理。从图2可以看出,经过从灰度到彩色的转换程序处理,图像的可识别率明显增强了,证实伪彩转换的确是一种较为简单但却行之有效的图像增强技术。
目前,因特网上流行的图像文件格式有JPEG、“Jointphoto2GIF、PNG三种格式。JPEG的全称是,它采用一种高效的存储压graphicexpertsgroup”
使用方法及其技巧。它的节点和3DSMAX三维建
模软件的造型可以相互转换,使用起来十分方便,对于那些对视觉感受要求较高的人体脏器模型,可以通过3DSMAX的强大功能,如利用材质编缉器,为场景中的空间造型指定所需要的表面纹理贴图,完成建模后再输出到VRML文件中,建立最终模型。利用微软DirectXSDK工具软件包中的Conv3ds实用程序,还可将3DSMAX的模型文件转换为
[5]
MicrosoftX格式文件,为3D图像立体显示的进一步开发提供基础。VRML浏览器本身具有很多功能按钮,如缩放、平移、旋转等,建模后实时交互非常方便,能在多个角度下观察人体脏器及组织结构。
常用的VRML浏览器插件是SGI(SilicongraphicsInc.)公司发布的CosmoPlayer。它可以嵌入在IE或Netscape浏览器内,当用浏览器打开VRML文件时,就可以观察到三维模型。VRML浏览器基于开放的Web,具有比表面绘制和体绘制等通常的三维医学影像重建方法速度快的优点,能在
缩算法,并能支持上百万种颜色。但是不支持图形渐进、背景透明、也不支持动画。“Graph2GIF的全称是
,它支持无损压缩、图形渐icsinterchangeformat”
进、背景透明和动画,但其采用的是索引256色颜色
格式,不能用于存储照片质量的图像。PNG格式是由Web应用程序开发者用来替代GIF而开发出来的,它的全称是“Portablenetworkgraphics”,它结合了JPEG和GIF两者的优点,它支持背景透明、几百万种颜色、图形渐进等,其无损压缩格式专门针对Web开发,且压缩比例要大大超过LZW等传统的图片无损压缩算法。如果将PNG格式图片背景色设置为透明,结合VRML浏览器背景,最后将生
224 生物医学工程学杂志 第20卷
成非矩形的图片,这对存储高质量的图像文件和生成具有真实感的三维模型是非常适合的。此外,Macromedia公司出品的著名网页图片编辑软件Fireworks默认的图片文件格式就是PNG格式。综上考虑,我们决定选取PNG格式为医学二维断层图片存储格式。
2.4 VRML在医学图像三维可视化中应用的探索
VRML语法提供了IndexedFaceSet(面集)的概念,并且可以在该面集上赋予表面纹理,一个VRML面是一个平面的造型,就如同一个三角形、正方形或是八边形一样[7]。一个面集就是这些面的集合。在创建面集的时候,你可以通过指定一个开始点的坐标索引和一系列中间的点的坐标索引来构造一个面。这样VRML浏览器会自动地将这些坐标连在一起,并将最后一个坐标和第一个坐标连接起来,从而将面的周界封闭。当建好一个平面造型以后,就可以给该平面造型节点赋予表面纹理了。利用VRML进行医学三维影像重建的基本原理是:通过建立足够多个平面节点(每个节点之间距离要恰当,太疏则产生不出三维效果,太密又会感觉不真实),对每个节点赋予一张人体脏器的二维断层图片作为表面纹理,沿法线方向进行叠加形成。所有的图片是由提供的一系列原始二维断层图片经过用VC++进行一定的处理形成的。在进行生成VRML文件时,由于节点数太多(通常是一百多个节点,而且每个节点的语法基本一致),所以采用VC++编程的方法将其写入,从而自动生成VRML文件。具体VRML文件的平面节点及其纹理映像如下所示:
Shape{
appearanceAppearance{ materialMaterial{ transparency0.95emissiveColor0.50.50.5 }
textureImageTexture{ url\"photo01.png\" }}
geometryIndexedFaceSet{ coordCoordinate{ point[
0.000.000.,1.000.000., 1.001.000.,0.001.000., ] }
coordIndex[ #Front
0,1,2,3,21, ]
convexTRUE solidFALSE }}
在造型Appearance节点texture域的值是采用的ImageTexture节点说明要映射为造型的纹理,用
由于URL指定纹理映像文件(二维断层图像文件)。VRML支持四种常用的映像文件格式来存储纹理映像:JPEG,GIF,PNG和MPEG[3]。正如上面所
述,由于PNG格式支持背景透明并可以存储照片质量的高质量图像文件,利用它的透明性在进行纹理映射后可以与浏览器背景相结合,生成非矩形的图片,即叠加后我们可以只看到脏器的三维模型(否则,脏器三维模型就是由一个长方体或立方体所包围)。另外,由于没有使用Material节点,所以平面节点的纹理的颜色被用作放射性颜色,这样可以产生更为真实的重建效果。经过测试,在每两个平面节点之间的间距为0.01个VRML单位时,所生成的三维模型的效果较好。另外,作者还利用Direction2alLight节点生成几个平行光源,用来照亮脏器三维
模型,以便可以更好地进行观察。进行三维重建后的效果见图3,其中黑色为透明部分。
在观察三维模型时,为了便于同时观察二维断层图片,作者采用了VRML与JavaScript相结合的方法对其进行处理。具体方法如下:
生成一个HTML的WEB页,在该页中将VRML文件作为一个对象嵌入:
<embed><div> 在它的上面并排放置五张二维断层图片(为一组),按叠加顺序进行放置。用JavaScript设置一个循环,window.setTimeout(\"ImageChange();\in2terval);其中ImageChange()是用来顺序切换图片 的函数。经过interval时间间隔后,将该图片的文件进行更换:document.form1.IMG1.src=photon2ame+incremental+\".png\";并且在On2mouseOver及OnMouseOut事件中设置图像更换 第2期 禹正扬等。 虚拟现实建模语言(VRML)在数字化医学图像中的应用225 开关,当用户将鼠标箭头移动到图片上时,就停止图片动态切换,并在浏览器状态栏中显示出当前二维断层图片的名称,当用户将鼠标箭头移开图片时,又开始二维断层图片的动态切换。(由于篇幅所限,这里不一一列出源代码)。经过上述处理后,在观察脏器三维模型时,可以同时观察到原始的二维断层图片。脏器三维模型的交互(旋转、平移等)和二维动态图片的动态切换可以同时进行,互不干扰。当用户需要看某一幅二维断层图片时,可以将鼠标光标移至该图片上,停止动态切换。这样对于观察脏器立体及切面结构提供了很大的便利性(见图4)。 由于VRML提供了能对所需纹理部分进行截取的纹理切割器,我们还探索了三维模型的剖面显示,以利于解剖定位和脏器内部的立体结构的显示。利用VRML语法中TextureCoordinate节点进行纹理的部分选取,且每张图像纹理的截取部分方向相同,这样将所有平面节点叠加后就能实现脏器三维模型的剖面显示(见图5)。进行对半剖面的Tex2tureCoordinate节点语法结构: 两个相邻平面节点的纹理切割矩形沿X轴方向的边长递增0.01个VRML单位即可(其它倾斜角度切割的原理与之类似)。利用纹理切割器进行倾斜切割原理,效果见图6。其中VRML节点语法结构如下: #firstnode texCoordTextureCoordinate{ point[0.000.00,0.500.00,01501.00,0.001.00] } texCoordIndex[0,1,2,3,21,] 同时IndexedFaceSet节点的坐标改为如下所示: geometryIndexedFaceSet{ coordCoordinate{ point[ 0.000.0020.06,0.500.00-0.06, 0.501.0020.06,0.001.00-0.06, ] } coordIndex[ #Front 0,1,2,3,21, ]我们还探索了三维模型倾斜角度切割时,如何实现剖面显示。不同于垂直对半切割中每个平面节点XY坐标一致的情况,在斜切时,斜切中每个平面节点的坐标值都不同,为此需计算每个平面节点的坐标值。我们在进行45°倾斜切割时,因为每两个平面节点在Z轴方向(正方向与屏幕垂直,并指向屏幕外)的间距为0.01个VRML单位,所以只需将每 … geometryIndexedFaceSet{ coordCoordinate{ point[ 0.600.0022.e2002,1.000.0022.e2002, 1.001.0022.e2002,0.601.0022.e2002, ] } coordIndex[ #Front 0,1,2,3,21, ] texCoordTextureCoordinate{ point[0.600.00,1.000.00,1.001.00,0.601.00] }#secondnode… geometryIndexedFaceSet{ coordCoordinate{ point[ 0.590.0023.e2002,1.000.0023.e2002, 1.001.0023.e2002,0.591.0023.e2002, ] } coordIndex[ #Front 0,1,2,3,21, ] texCoordTextureCoordinate{ point[0.590.00,1.000.00,1.001.00,0.591.00] }… 3 讨 论 医学领域中的三维可视化涉及基于图像的计算机图形学,其研究核心是图像模型。图像模型中的物 226 生物医学工程学杂志 第20卷 体使用真实世界的物体采样来表述,绘制及处理的过程实际上就是图像变换的过程,也就是首先利用 、数码相机、胶片扫描仪等设备输出数字化CT、MRI 图像,对体数据进行后处理重建三维模型。近年来,基于图像的计算机图形学在国外发展很快,而我国尚处于起步阶段。 三维重建与显示技术(3DReconstruction)是利用一组二维切面图像进行三维重建,从而得到组织器官三维形态模型的新兴技术,是近十多年来发展最活跃的图形学领域之一。医学图像三维重建与显示能够提供更多的信息,具有可视化、可定量分析测量、可反映组织的立体结构等优点,在生物标本和脏器结构形态特点的分析、放射性定位、外科手术及分子结构设计等领域得到了广泛的应用。在外科手术中,如果能根据CT、MRI等一组二维图像重建一个真实反映该器官三维形态模型,并结合立体定位系统进行配准,那么医生就可以根据手术部位、手术器官、手术路径等参数制定最佳手术方案,并进行相关手术模拟。对于那些很难触及或手术医生无法用肉眼看到的组织器官,实现精确而复杂的医学图像三维可视化尤其显得必要和重要,医学图像三维可视化目前已成为虚拟现实技术在医学领域应用的热点领域,是实现外科手术仿真的技术基础。 目前,发达国家对国内进口大型医用影像设备都实施了硬件、软件双重加密处理,再加上DICOM标准不统一,影像设备输入输出接口不兼容、局域 PACS系统改造费用昂贵等众多因素存在,使得目 前国内医学图像三维可视化大多不能脱离进口影像 设备的工作站及附属软件平台进行,在很多情况下数字化医学图像序列和体数据不能直接读取和输出,也不能在个人微机上进行进一步的后处理。我们使用胶片扫描仪、数码相机、摄像头等数字化采集设备获取二维数字断层图像序列,利用VRML开发具有自主知识产权并有一定实用价值的医用仿真软件,以期打破发达国家的技术壁垒,探索更好的三维可视化方法和途径,使其既能改善人体解剖结构三维重建的效果,同时也能在个人微机上实现三维实时交互显示。4 结 论医学图像三维可视化是虚拟现实技术在医学领域应用中的一个重要方面,探索医学图像三维可视化新方法、新途径,进一步提高医学图像三维重建的效果,是目前广大研究者所关注的课题。我们运用VRML建模进行三维重建,是不同于传统医学影像三维重建的一种新方法。实践表明,运用VRML建模并结合VC++进行二维图像前期处理进行三维重建切实可行。VRML建模作为与传统三维重建所不同的一种新方法,与传统三维重建方法相比,图像质量比较接近,而在实时交互性、开放共享性等方面具有较大的优越性,我们期待能通过继续改进,获得更好的三维图像效果。 图1 伪彩色处理的原理 Fig1 Principleofpseudo-colouronimagemanipulation图4 三维模型和二维断层图片同时显示(二维断层图片可以自动 连续切换)Fig4 Three-dimensionalmodelandtrwodimensionalimagesdis-playatthesametime 第2期 禹正扬等。 虚拟现实建模语言(VRML)在数字化医学图像中的应用227 图2 利用VC++对头颅及脑血管二维图像前期处理(转换伪彩前后对比图)Fig2 ImagesofskullandcerebralvesselsmodifiedbyVC++language(manipulatedwithorwithoutpseudo-colour) 图3 利用VRML进行头颅三维重建(转换为伪彩前后对比图) Fig3 Three-dimensionalreconstructionofskullandcerebralvesselsbuiltbyVRML(manipulatedwithorwithoutpseudo-colour) 图5 利用VRML进行脑部三维重建后的对半剖面显示 Fig5 Thedisplayofverticalsectionplaneofthree-dimensionalreconstructionofskullandcerebralvesselsbuiltbyVRML 228 生物医学工程学杂志 第20卷 图6 三维重建倾斜切割的原理及效果图 (a)倾斜切割的原理图(a)Principleofslopesection (b)三维重建倾斜切割效果图(b)Effectofthree2dimensionalreconstruction ComputerGraphicsandApplications,MarchApril1999,185 JulioSanchez,MariaCanton.DirectX3DGraphicsProgram2mingBible.Beijing:PublishingHouseofElectronicsIndustry.2000∶50625096 ZhouChangFa.MastertheProgrammingofImageManipulationwithVisualC++.NET.Beijing:PublishingHouseofElec2tronicsIndustry.2002∶2852286[周长发.精通VisualC++.NET图像处理编程.北京:电子工业出版社.2002∶2852286]7 AnderaL,AmesDavidR,NadeauJohnL,etal.VRML2.0Sourcebook.Beijing:PublishingHouseofElectronicsIndustry.1998∶1182119 (收稿:2002209212 修回:2002211211) Fig6 Principleandeffectofthree-dimensionalreconstructioninslopesection参考 1 文献Review:VisualizationofJournalofImageand LiYan,TanOu,DuanHuiLong.Three2DimensionalMedicalImages. Graphics,Feb.2001∶107[李 燕,谭 鸥,段会龙.三维医学 图像可视化技术综述.中国图像图形学报,2001(2)∶107] 23 LevoyM.VolumeRendering:Displayofsurfacesfromvolumedata.IEEEComputerGraphics&Application,May1998∶29WeidongCai,DaganFeng,RogerFulton.Web2BasedDigitalMedicalMedicalImages.IEEEComputerGraphicsandApplica2tions,2001(1)∶444 DavidR.Nadeau.BuildingVirtualWorldswithVRML.IEEE 因篇幅问题不能全部显示,请点此查看更多更全内容