Software environment used in development is Advanced Visual Systems(AVS).
摘要:本课题利用VHP数据集完成虚拟人体建造的初步开发。包括三维虚拟人体全身表面体积重构,矢状面重构和冠状面重构的图谱集建立以及体表重构的动画制作。本课题应用的软件开发环境为高级可视化系统(AVS)。
关键词:图像处理 3D重构 虚拟人体 VHP数据集
前言
现代医学十分重视可视化信息。现代医学的实验起源于解剖学。近年来已开始出版基于照片的解剖图譜。100年前德国人伦琴发现X射线,由此开创了医学放射学的先河。七十年代英国人汉斯菲尔德发明计算机层面照相术(CT),使得X线可以观察到人体的软组织,引起放射学的一场革命。不久前,磁共振成像术(MRI)、正电子发射层面照相术(PET)相继问世,从而计算机图像处理技术与医学进一步紧密结合,使得医学步入崭新的可视化时代。当我们跨入廿一世纪以后,医学可视化将取得更加辉煌的发展。
一、医学可视化的跨世纪开发项目----可视化人体
1989年美国国立医学图书馆(NLM)建立了采集人体横断面CT、MRI和组织学数据的项目,其目的是为利用计算机图像重构技术建造虚拟人体作准备,项目名称为Visible Human Project(VHP),即可视化人体。该项目由科罗拉多大学承担实施,并成立了尸体选择委员会。分别于1991年和1994年选择了男女各一个活体。男的身高1.82米,女的身高1.54米。在他们死后,立即用CT和MRI作了轴向扫描,男的间距1毫米,女的间距0.3毫米。然后将尸体填充蓝色乳胶并裹以明胶后冰冻至摄氏零下80度。再以同样的间距对尸体作组织切片的数码相机摄影。所得数据共56GB(男13Gb,女43GB)。这些数据称为Visible Human数据集。
Visible Human项目的立项、实施和开发具有划时代的意义。它标志着现代医学的发展离不开计算机高科技。这样的数据集在医学史上是首创。它改变了医学可视化的模式。VHP数据集的出现为计算机图像处理和虚拟现实进入医学敞开了大门。它使走向成熟的三维重构图像处理技术以空前的速度普及。利用这个数据集可以创立虚拟解剖学、横断面解剖学、纵剖面解剖学、斜剖面解剖学。所以,Visible Human项目是信息技术和医学结合的创新工程的杰出范例。
由于图像重构要耗费大量计算机资源,许多复杂的图像处理研究要在巨型机或图形工作站上进行。近年来高档PC发展迅速,Pentium-III 500以上的高速机型正在推向市场,内存可以达到1GB以上。因此,利用PC处理虚拟人体三维重构和动画制作的可能性越来越大。
二、VHP数据集国际开发成果
Visible Human数据集已经成为可以购买的产品,也可以通过订立合同从Internet下载。除了美国国立医学图书馆以外,还在意大利、日本和新加坡建立镜相站点。这样,VHP数据集就成为全世界医学界的共同财富。哈佛大学、斯坦福大学、罗耶尔大学、科罗拉多大学、华盛顿大学、德国汉堡大学、日本、澳大利亚、新加坡等都在利用Visible Human数据集进行开发。图1是华盛顿大学利用VHP数据集完成的腿部重构的例子。首都医科大学已开始和美国国立医学图书馆进行这方面的合作。作为Visible Human开发经验的学术交流,已经召开了两次国际会议。
德国汉堡大学利用体素技术开发了Voxel Man项目。它利用Visible Human数据集和自身获得的数据开发了可以对人体作任意三维重构的系统。这个项目的开发坚持从计算机图像处理方法学高起点研究作为基础。逐渐形成教学层和商品化产品层的多维开发结构。利用三维重构技术,人类第一次可以利用数字化数据集创作出虚拟人体标本。它的保存不受时间和空间的限制。他们利用Visible Human数据集制作的三维体表重构。它等于是剥离了皮肤的人体,肌肉纹理重构十分清晰。图2是Voxel Man项目中重构的头部例子。
三、本课题对VHP数据集的初步开发和工作环境
本课题的目的是进行VHP数据集的实验性开发。基础数据来自VHP数据集的压缩光盘(Visible Human CD)。该光盘还包括一个高级VHP数据图形浏览器。图3和图4是VHP数据集中组织学切片和MRI扫描的例子。本课题所用的软件环境是高级可视化软件系统AVS(Advanced Visual Systems)。它的功能十分强大,既是一个多维可视化环境,也是开发平台。我们将在本文的第4段进行详细的介绍。本课题所用的硬件环境是PII450、内存256MB的PC机。
图3 图4
四、高级可视化开发环境(AVS)
高级可视化软件系统AVS(Advanced Visual Systems)是面向对象的、可视的开发工具,能够建立可重复使用的对象,应用程序组件和复杂的数据可视化应用程序。
AVS支持多种操作系统, 包括各种UNIX平台和Windows98/NT。其PC硬件要求64MB以上内存。AVS是开放式开发环境,既可以利用AVS本身提供的功能进行开发,也可以由使用者按照自己的需要进行扩充。
1.AVS的主界面,如图5所示
图5
AVS有三种使用方法,分别是网络编辑器(Network Editor)的流程图方式、VCP和V脚本语言以及API编程。在本课题中,我们使用网络编辑器的流程图方式。它使我们能利用AVS提供的现成模块,以类似“搭积木”的方式进行应用程序开发。
如图5所示为网络编辑器(Network Editor)的主界面,它包括菜单、模板库和用户编程库。模板库主要包括数百个预制的模块,这些模块可在NE中非常方便的使用。AVS将这些模块按功能组织成软件包(Kits), 在AVS/Express中共有以下几个软件包:图形显示软件包(GDK),数据可视化软件包(DVK), 标注和二维图形软件包(AGK), 数据库软件包(DBK), 用户界面接口软件包(UIK)等等。为了便于使用,NE将这些模块组织成模板库页。模板库页中包含了所有模块。主(Main)库页中包含了我们最经常可能使用的模块,其次是附件(Accessory)库页,等等。
主(Main)库页中包含数据输入/输出(Data IO),过滤器(Filters),映射器(Mappers),几何体(Geometries),域映射器(Field Mappers),显示器(Viewers)等子库。
网络编辑器是AVS/Express软件和用户之间的主要接口。它是可视的开发环境,通过鼠标驱动操作来连接、定义、装配和管理对象。AVS/Express的可视化应用程序提供了数百个预定义的应用程序组件来处理、显示和管理数据。我们在网络编辑器中连接、装配对象和应用程序组件控制数据,并对它们进行处理和显示。也可以对这些对象进行编译和打包,甚至添加一个用户接口以创建一个完整的应用程序,这个应用程序可以作为一个独立存在的应用程序被分发。
2.可视化程序设计
AVS将其强大的功能构筑成流程图逻辑。在AVS/Express软件的可视化快速编程环境的网络编辑器中,我们可以用交互方式、非常容易地快速生成自己的可视化应用程序。AVS以流程图方式显示使用者的应用程序结构,可以在其中图形式地连接对象,调用模块,从而组建一个可视化网络。网络可以做为一个应用程序或对象被保存、重复使用或修改,从而大大提高了开发应用程序的工作效率。我们在网络编辑器的开发环境中,可以利用鼠标拖动和投放灵活地建造流程图,如图6所示。
五、利用VHP数据集和AVS可视化软件建造虚拟人体
1.AVS数据文件的生成
本课题的困难之处在于,VHP数据集十分庞大。所采用的男性数据为13GB。如果要构造全身,就要对全部数据进行处理。要求很大的内存容量以及庞大的硬盘, 也需要比较长的CPU处理时间。在美国这种工作往往是在巨型机(Cray-1)上进行的。AVS/Express软件的出现,使我们对计算机的要求大大降低。我们现在甚至可以在普通的pc机上完成这项工作。
AVS的数据可视化软件包中几乎所有模块都对AVS的域数据结构进行处理,所以使用AVS/Express重构虚拟人体的第一步就是将我们的数据转换成AVS域数据结构。由于条件和时间的限制,我们使用的数据量较小。数据为组织学切片图片(JPG格式)文件,共1878张组织学截面,其数据大小约为30.5MB。为便于处理,我们减低了图片的分辨率并删除了彩色信息,数据最后转化为11.4MB。经过处理, 将JPG图片格式转换为计算机通用交换格式netCDF, 产生出标准的netCDF文件, 大小约为44.6MB。
从JPG文件生成netCDF文件的AVS/Express应用程序流程图如图7所示。
在该应用程序中,我们使用了AVS/Express软件中的Write_netCDF模块以及自定义宏Read。
1)自定义宏Read读入许多JPG