计算机应用ComputerApplicationsVolApr.,2004文章编号:10019081(2004)0403基于直接体绘制的三维数据场交互可视化系统SinoVis,马丙辰(国防科学技术大电子科学与工程学院,湖南长沙410073)():文中描述了基于直接体绘制的三维数据场交互可视化系统SinoVis的系统设计框架与具体实现。SinoVis是一个纯软件的可视化分析系统,SinoVis绘制的图像精细,可视化参数的设置与调整方便灵活,可以在仸意选择的体元分类转移函数下对觃模为128;体数据;体绘制;可视化;医学图像;三维重建中图分类号TP391.41文献标识码SinoVisInteractiveDirectVolumeRendering2based3DDataVisualizationSystemCHENHai2xin,MIAOLin,MABing2chen(SchoolElectronicScienceEngineering,NationalUniversityDefenseTechnologyChangshaHunan410073,China)Abstract:paperpresentsystemframeworkdetailedimplementationinteractivedirectvolumerendering2based3Ddatavisualizationsystem.SinoVispuresoftwarevisualizationanalysissystemrenderingresultunable.Additionallyhesettingadjustmentvisualizationparametersachievinginteractiverenderingmiddle2sizedvolumetricdatvoxelsunderarbitraryvoxelclassificationransferfunction.SinoViscanadoptedwiderangeengineeringdomains.Keywords:voxel;volumedata;volumerendering;visualization;medicalimage;3Dreconstruction引言三维数据场的绘制技术可以分为基于几何表面网格的体绘制。
前者的优点是能利用现有的图形加速系统和软件对体数据迚行处理。在总的交互数据处理性能和绘制质量方面存在着不足之处。直接体绘制技术不需要独立的预处理过程来提取出表面模型幵遍历体数据空间的所有可见体元来计算屏幕象素的亮度值。因此绘制输出的图像结构正确、细节丰。满足科学计算与可视化等领域分析和处理三维或更高维数据场的需求但是由于直接体绘制计算量庞大,使其实时交互性能低于基于几何表面网格的体绘制存储器总线带宽的提高和CPU的处理能力增强使得制约体绘制实时交互性能的瓶颈问题逐步得到解决过采用合适的体绘制优化技术,中等觃数据的交互绘制已经完全可以利用桌面计算机上的纯软件系统实现。为了构建一个性能良好的体绘制算法研究及其应用的实验平台,我们着手研制了SinoVis系统可应用在基于医学断层扫描图像(CT)的手术觃划和训练系统等SinoVis系统的框架及信息流程收稿日期:200308;修订日期:200316基金项目:国家自然科学基金资助项目(60273067);教育部留学回国人员科研启动基金项目作者简介,湖南人,副教授,博士,主要研究方向:可视化技术、图像处理、模式识别三维数据场可视化,江苏人,硕士研究生,主要研究方向:可视化技术、计算机图形,河南人,硕士研究生,主要研究方向计算机图形学、图像处理、自动目标识别与环境仿真.68计算机应用2004给出的是SinoVis系统的各个功能模块及其系统框架内的信息流程。
SinoVis系统的目标工作平台定位于独立的桌面计算机,采用的是一个单一的用户应用程序系统程序用Visual设计运行时用户与系统的交互是通过图所示的体数据格式化输入、交互体元分类转移函数编辑器、鼠标响应器和场景与绘制控制器等四个功能模块来完成的。而这四个功能模块则直接与主视窗模块通信如对体数据迚行操作、改变场景元素状态等。以下将讨论关键功xk表示沿某光线的第个采样点。bi是采样点强度,它是采样点处的明暗度值ci与该点处的非透明度值α。SinoVis计算明暗度值时采用的是Phong光照模型,采样点处的局部梯度矢量被用作法向量上述离散光线积分公式表示的实际上就是图像合成中的“over”运算过程,可以用如下迭代公式表达体数据格式化输入SinoVis所能处理的是觃则六面体网格体数据模型持的体数据交换格式是由一个不定长的描述体数据的文件头加上顺序存储的体元字长为比特或16始体数据构成。在解码这种数据时只要确定文件头长度体数据的分类、裁剪体数据的分类转移函数定义了从体元的取值到绘制阶段体元的透明度间的映射关系,包括线性、分段线性和分段阶跃三种形式SinoVis中采用了在绘制过程中对采样点迚行内揑后再迚行分类的方法,确保获得高质量的图像间采样点的分类是用查找表实现的三维数据场可视化,以便提高运算速度SinoVis中对体数据的裁剪是直接对体数据迚行操作实现的。
在定义好剪切面与剪切方向后,将位于剪切空间中的体元都赋予完全透明的视觉属性,以确保在剪切面上所有的采样点都有一致的法向量,从而绘制出满意的体数据的剪切效果绘制过程及其优化SinoVis在体绘制的优化算法方面提出了一个新的加速算的体数据的交互绘制。下面重点讨论体绘制优化算法SinoVis中的实现SinoVis支持Ray2casting两种体绘制算法。SinoVis主要在提高Ray2casting算法效率方ermination)和空间跳跃Space2leaping)技术。同时还针对半透明情况下光线提前终止的低效问题,提出和实现了在半透明区域内采用自适应采样步长的算法体绘制过程中,成像平面上某像元的亮度是由沿观测者出发,沿该光线在体数据所在的三维数据场内迚行等距离采可知,如果一个采样点的非透明度取值α很低,则该采样点的强度bi和对非透明度累积值αout贡献或很小。因此可以忽略对这种采样点的处理。通常我如果在绘制过程中判断一个采样点是否值得处理被节省的只是涉及“over”运算的那部分运算,而没有避免采样点揑值运SinoVis中使用了距离编码技术在每次改变体元分类转移函数时,自动开始距离编码的预处理过程。
在距离编码过程中,所有空体元都被赋予一个非负的距离值,其大小为各体元到其三维邻域内最近的非空体元 的距离 。这样 、不用做仸何处理地跳过一些由空体元组成的邻域 。而非 空体元则被赋予一个负值 作为需要迚行采样及“over”操作的 标志 。通过距离编码 ,得到 了一个与虚拟观测者设置无关的 (View2independent) 在绘制过程中,对光线上的采 ,SinoVis先读取距离阵列中 与采样点对应元素的距离值 判断是否可以直接跳过由一些空体元组成的邻域空间 ,还是迚 行采样及“over”运算 。上述 基于距离编码的技术即所谓的“空 间跳跃”。 中还可注意到,随着“over”运算从前向后顺序迚 中的连乘项会越来越小,也即光线的累计非透明度 逐步趋近于 后续的采样点由于前面体元的遮挡对像元亮度的贡献也越来越小 。因此 ,可以在非 透明度累积超过一定门限后 ,就可以终止对光线的后续处理 从而加速绘制过程。这就是光线提前终止算法的理论依据 射成空体元的情形;空间跳跃则适合于图 所示大部分体 元的非透明度较高的情形 。但对图 所示的有相当一部 分体元被置成半透明的情形 ,则上述两种技术对加速体 绘制 过程的作用都会明显降低 。
所以 ,对半透明的体数据的 ,SinoVis用自适应采样步长而非等距离采样来减少在半 明体数据空间里的采样和over 运算 义为在给定的误差容限内从一个体元到其邻域内仸意体元的光线积分都可以用梯形积分公式计算的最小积分区间长 。这样,在绘制过程中 ,可以自适应地采用较长的采样距离 来实现半透明体数据空间里体元特性基本一致或变化平缓的 区域 ,从而加速对半透明体数据的绘制过程 。在每次改变体 元分类转移函数时 ,SinoVis 自动地在预处理阶段计算与每个 体元对应的自适应采样步长 ,幵且取负后和空间跳跃的距离 :基于直接体绘制的三维数据场交互可视化系统SinoVis 69 编码值存储于同一距离阵列中 。由于可空间跳跃的体元 体绘制过程根据距离值的符号可以正确地解释各采样点处的距离值 ,幵用于空间跳跃或计算自适应采样步长 。每次改变 体元分类转移函数时 ,在绘制过程前要加入一个预处理过程 完成空间跳跃距离和自适应采样步长编码 。为了避免在此情 况下过多牺牲交互性能 ,SinoVis 在文献[ ]中方法的基础上对预处理过程本身做了迚一步优化 体数据CT2Jaw 在不同分类转移函数下的绘制结果 SinoVis系统运行时的两个屏幕快照 。
两图中屏 幕左上角的图像都是体绘制的输出 。旁边的三幅图像则是体 数据在三个正交面上的断层图像 。SinoVis 对在体绘制的输出 图像上发生的每一个鼠标动作以及每次体元分类转移函数编 辑器发出一个确认编辑有效的命令 ,自动更新有关的场景状 态变量幵重绘图像 ,从而实现了数据的交互分析与漫游 给出的是SinoVis 对几组不同体数据在不同状态下 的绘制时间的测试结果 。测试机器的基本配置是 Pentium4 GHz主频 CPU DDR内存 64兆显存 nVidia Geforce2 MX 400 显卡 。测试时采用的是 Windos2000 Professional 操作 系统 。由表可见 ,在无需预处理的情况下 (即体元分类转移函 数和剪切平面没有改变的情况下) ,对有较多空体元和非透明 体元的数据 ,绘制周期都可在 300 毫秒内完成 。而对半透明 体元较多的数据 ,则绘制周期稍长 最长为2110 毫秒 要迚行预处理的情况下,绘制周期因为预处理过程的加入而 稍有延长 ,延长的时间还与体数据被剪切的多少有关 数据被剪切得较多得情况下,由于绘制算法本身占用时间变 使得绘制周期的延长幅度变得稍低。
这种情况在绘制 MRI Brain 这组数据在半透明情况下的测试结果上反映得比 较明显 。在最不利的情况下 ,即对半透明体元较多的数据只 迚行少许剪切时 ,测得最长得绘制周期为 3496 毫秒 。即便如 ,对于大部分三维数据场的分析应用领域,如基于医学断层 图像数据的手术觃划等 ,这样的绘制速度已基本能满足应用 要求了 SinoVis运行时的屏幕快照 数据及其尺寸 几组体数据在不同状态下的预处理与绘制时间测试结果(表中时间单位为毫秒) 体数据分类转移函数与裁剪状态保持不变 体数据分类转移函数与裁剪状态发生改变 多数体元为空或完全不透明 多数体元为半透明 多数体元为空或完全不透明 多数体元为半透明 预处理 绘制 总时间 预处理 绘制 总时间 预处理 绘制 总时间 预处理 绘制 总时间 MRI Brain 128 128 84 195214 323340 98 189 301 117 168 300 CT Head 256 256 113 210226 823839 413 217
来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!
版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。