- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一种基于移动设备的医学图像体绘制方法 本文针对移动设备硬件局限性,提出一种新的纹理切片体绘制方案,利用最新支持移动设备的OpenGL ES 2.0 接口的图形处理能力,精心地设计体绘制着色程序,完全避免复杂的计算和条件分支,较好地解决了实现医学图像交互式体绘制速度慢的问题。 体绘制是计算机图形学的一个经典领域,专用于渲染三维体数据,尤其在医学图像的可视化处理当中,体绘制是必不可少的。 由于移动设备硬件性能受限,而且使用电池供电,所以要实现医学图像在移动设备上进行交互式三维渲染往往具有很大的挑战性。 光线投射方法是一种最为经典的直接体绘制算法。这种方法从图像的每一个像素,沿固定方向(通常是视线方向)发射一条光线,光线穿越整个图像序列,在这个过程中对图像序列进行采样获取颜色信息,同时依据光线吸收模型将颜色值进行累加,直至光线穿越整个图像序列,最后得到的颜色值就是渲染图像的颜色,方程1表示了一个给定点的最终颜色的计算,其表示方法是: 对于一定的波长λ,最终颜色值通过组合样本沿横穿体积的给定直线的颜色和不透明度来确定。 式(1)中,Cλ(x)是一个给定位置x的最终颜色,Cλ(x+rk)是体积内部位置x+rk的第k个样本的颜色,α(x+rk)是其对应的不透明度。 解决方案包含一个纹理切片方法,和普通的三维纹理切片方法相反,在本文的解决方案中,采取切片堆栈的几何体只计算一次,并且在后面的绘制过程中保持不变。这样不但可以在GPU存储器中通过顶点缓冲对象(VBO)来缓存,而且可以重复使用来绘制每一帧,VBO已经被证明是将几何体发送给移动设备GPU的优选方法,因为它可大幅度降低CPU-GPU之间的带宽和绘制调用的次数。(VBO其实就是显卡中的显存,为了提高渲染速度,可以将要绘制的顶点数据缓存在显存中,这样就不需要将要绘制的顶点数据重复从CPU发送到GPU, 浪费带宽资源) 为了不产生明显人工处理痕迹,并且不出现二维纹理切片方法导致的内存浪费,就能够实现从任何角度渲染模型。采取实现渲染垂直于任何视角方向的切片,这时的体数据需由一个大小为d3 的立方体封闭,d为体积的对角线,参见图2。这种算法建立在盖尔德等人的研究基础上。该立方体的前面仍然垂直于视角方向,因此在其上定义的切片是视角对齐的。 这些切片顶点的三维纹理坐标在没有旋转时是 首先,设备都需支持OpenGL ES2.0标准,并支持glBlendFuncSeparate颜色混合接口(用于分别指定源和目标的颜色(RGB)分量和A(alpha)分量),且能够支持和配置混合。通过在着色程序代码中对混合因子进行定义,使用glBlendFuncSeparate(GLONE MINUS DST ALPHA,GL ONE,GL ONE,GLONE)接口来实现前面的绘制方程1。 然后,依据当前的角度为GPU提供纹理转换矩阵,并且激活和绘制有代理几何体的顶点缓冲对象VBO。顶点处理器收到顶点后,对这些顶点根据模型视角矩阵进行转换。三维纹理坐标根据纹理转换矩阵进行旋转。清单1显示了对应顶点程序的全部GLSL ES 代码。 最后,在片段着色程序中,根据传入片段的三维纹理坐标,对包含三维体积的拼接纹理进行采样。然后,把从体积模型获得的值用作纹理坐标在表示传递函数的纹理中执行查找。再通过片段着色程序给出在帧缓存中混合生成的颜色。(纹理坐标分量小于0 或者大于1 的片段必须丢弃。) 清单2 提供了片段程序的全部GLSL ES代码,代码中,getData函数计算拼接纹理内部抽样的位置,进行三线性内插,并且返回抽样。 实验结果及分析 在实验中,选择两款流行的设备作为实验平台,即iPad2和第4代iPod Touch。实验使用了两个数据集:可视化“人体模型”和“主动脉”数据。“人体模型”包含186个128×128像素的切片,“主动脉”模型包含96个102×102 像素的切片。“人体模型”和“主动脉”模型分别以2048×2048和1024×1024 像素的二维拼接表示,两个数据集每个抽样8 位,没有进行纹理压缩。 表1总结了分别使用光线投射法和本文提出的纹理切片渲染方法对“人体模型”数据集获得的结果。 表2是“主动脉”数据集的结果。 研究表1 和表2 的结果,可以发现渲染性能与本文的预期相同,线性取决于处理的片段数量和步骤或者切片数量。当使用iPad2的原生分辨率(1024×768)时,像素数量接近iPad2在iPhone兼容模式(480×320)下所使用的像素数的四倍。结果获得的fps也以相同的比例变化。 对比两种技术时,明显可以看出它们之间的差异。体光线投射
文档评论(0)