体绘制的方法

文档序号:6350097阅读:473来源:国知局
专利名称:体绘制的方法
技术领域
本发明涉及一种在二维显示屏上绘制体数据集的方法,其中通过相邻体素的梯度向量的内插,在体积内任意取样位置计算体素值的梯度向量,借助于分配给各个体素的梯度索引来从查找表中检索梯度向量。
此外,本发明涉及一种用于执行此方法的计算机程序。
体绘制是计算机图形学的一个重要领域。由于体绘制涉及到体数据集的直接绘制,如由磁共振成像(MRI)所产生的诊断体图像,在二维显示屏上显示时表示立体对象的内部特征,因此它对医疗应用尤为重要。在MRI中,从三维网格各点处的磁共振信号中重建人体组织的质子密度。此等距体素的体数据集可以通过体绘制显示出来,从而指出与MRI数据的密度变化相对应的各种组织的边界。
由于体绘制所需要的计算量非常大,因此近年来在开发有效的算法方面已经进行了大量工作。体数据集通常都非常大。典型的MRI图像可包含超过一百万体素。这就因内存需求巨大而对系统资源提出了额外的限制。
在例如Meissner等人的文章“用于实时体绘制的PCI卡VizardII”(“Vizard II,A PCI-Card for Real-time Volume Rendering”,Proceedings of the 1998 Eurographics/Siggraph Workshop On GraphicsHardware,Lisbon,1998年8月)中描述了一种体绘制的方法。下面描述此文中提出的算法。
要绘制的体数据集包括离散的体素。因此各体素在三维网格上具有明确的x,y,z位置。除了其空间上的位置之外,体素的特征还在于定义空间强度分布的体素值,该值可例如反映MRI图像中的质子密度。
为了在二维显示屏上绘制体数据集,定义了一个视平面,它取决于观测参数,比如眼睛位置、观看方向等。对于视平面上的各个点,都有一束光线投影到体积中。然后,在沿各个光线的离散取样点处对体数据进行取样。为了在这些取样位置产生取样值,对网格的八个相邻体素进行三线性内插。
必须为视平面上各个像素计算色值。因此,需要梯度向量来给出强度的最大变化的方向和大小。因此,梯度向量垂直于空间中恒定图像强度的“表面”,并可用于显现所显示的立体对象的特定边界。梯度向量用来计算随各个表面相对于光源的取向而定的反射光强度。根据梯度方向和取样值,计算在各取样位置的颜色和不透明度。这些值沿光线被累加,并最终合成而给出关于视平面上各个像素的色值。
用于计算各取样位置的取样值的上述三线性内插需要存取八个相邻体素。为了通过六个最近相邻者的差异来计算梯度向量,必须存取32个体素值。结果证明,在目前的计算机硬件上,并行地存取32个值是不可行的,因为这样计算梯度向量会花费太多时间。因此,上述文章的作者提出预计算各体素的梯度。产生梯度表而不是存储各体素位置处的所有梯度,后一做法将需要三倍于体数据集本身的存储量。然后,对于每个体素,通过在查找表中选择最接近的梯度的索引,只将该索引存储到梯度表中。通过在各取样位置执行八个梯度查找,并内插返回的梯度的x,y,z分量,可以计算出各取样位置的梯度。查找表中的梯度的有限数目会影响图像质量,但是通过使查找表足够大,仍可获得存储要求与图像质量之间的良好折衷方案。
通过此方法实现帧频的相当大的提高,因为在绘制期间完全避免了通过最近的相邻者的差异而进行的耗时的梯度计算。
这种已知方法的缺点在于,梯度值的离散化会在最终图像中导致不希望有的强度带。这些会严重降低图像质量的强度带的出现是由查找表中梯度向量的有限数目引起的。
本发明的总体目的是改进上述的体绘制方法。
此外,本发明的一个目的是提供一种有效的体绘制方法,其中可以避免最终图像中出现强度带。
根据本发明,公开一种上述类型的体绘制方法,其中通过对梯度向量施加抖动来避免上述问题和缺点。
根据本发明的一个方面,可以对各取样位置处的梯度向量施加抖动。这例如可以通过对各个梯度向量的各分量加上伪随机值来进行。结果,对于与查找表中恒定索引值相对应的视平面上的各个像素,可以得到不同的强度值。此强度值随机分布在一个平均值周围。通过此方法可以有效地避免强度带的出现。然而,由于抖动的原因,所得的图像反而具有一定“噪声”外观,这仍不能完全令人满意。
因此,根据本发明的另一方面,还可以在梯度索引的分配过程中对梯度向量施加抖动。在这种情况下,在预计算步骤期间为梯度分量加上随机值,这进一步提高绘制速度。另外,为了计算各取样位置上的梯度向量,对相邻梯度值求平均值。由于相邻梯度的抖动,至少部分地恢复了各取样位置上的真实梯度向量。因此,几乎完全消除了不希望有的强度带而不会在图像中产生人为噪声。本发明这一方面的基本想法是通过将相邻网格位置上的不同的抖动梯度值结合,实现各个取样位置上的原始梯度的恢复。因此,通过本发明的方法有效地克服查找表中梯度离散化的缺点,而不需要在绘制过程中任何额外的计算步骤。
通过本发明所定义的体绘制方法,采用查找表是有用的,查找表包括均匀地分布在单位球面上的归一化梯度向量。这样,由于查找表包括在空间各方向上概率相同的梯度向量,所以可以使分配给各体素的梯度值的平均角误差减至最小。显然,这是覆盖梯度向量的整个三维矢量空间的最佳方式。对于光反射和光传播的计算,由于只需要各个面元素的方向,因此将查找表限制在归一化梯度是足够的。此外,只操作归一化梯度节约了相当大的存储量。
根据本发明,在施加抖动之后并且在将查找表中相应的索引分配给各体素之前,使梯度向量归一化。从而选择存储在梯度表中的最接近的梯度方向。
在相邻体素的梯度向量的内插之后,使各取样位置的梯度向量再归一化是有用的。这是因为在各向量分量的三线性内插之后,所得到的梯度向量不再是归一化的。
适用于执行本发明的方法的计算机程序对体数据集进行预处理,包括以下步骤计算各体素位置上的梯度向量;通过把各梯度分量加上随机噪声而使梯度向量抖动;通过使抖动的梯度数据与梯度查找表中的相应向量相匹配,从而为各体素分配梯度索引;以及为各体素存储梯度索引。
为了在二维显示屏上真实地绘制体数据,此计算机程序包括以下步骤在二维显示屏上为各像素设置光线;确定体积内沿着光线的取样点;通过各取样点处的相邻体素值的内插来计算取样值;通过各取样点处的相邻梯度值的内插来计算梯度向量,根据各梯度索引来从梯度查找表中检索相邻的梯度向量;计算各取样位置的颜色和不透明度值;以及将颜色和不透明度值结合成像素值。
这种计算机程序可以有利地在能够执行标准计算机图形任务的任何通用计算机硬件上实现。特别是,医疗成像装置的图像重建和显示单元可容易地配备用于执行本发明方法的程序设计。计算机程序可以为这些装置而设置在适当的数据载体、如CD-ROM(小型光盘只读存储器)或磁盘上。或者,它也可由使用者从因特网服务器中下载。
也可以将本发明的计算机程序结合到专用图形硬件部件、例如用于个人计算机的视频卡中。由于典型的个人计算机的单CPU(中央处理器)通常不能以交互式帧频来进行体绘制,所以这特别合理。本发明的方法例如可以被实现在用于传统个人计算机的PCI视频卡的体绘制加速器中。目前的PCI硬件利用上述算法而具有传送交互式帧频所需的容量和速度。
下列各图公开了本发明的优选实施例。但是应当理解,设计各图仅为了说明而不是作为限制本发明的定义。图中

图1表示举例说明根据本发明的体数据集的预处理的示意性框图;图2表示举例说明通过本发明的方法在二维显示屏上绘制体数据集的示意性框图;图3表示具有适用于根据本发明的方法工作的视频图形卡的计算机系统。
图1表示体数据集的预处理的框图,它在体绘制开始时执行。在块1中,在计算均匀分布在单位球面上的给定数目的归一化梯度向量时,梯度查找表被初始化。存储向量分量,为表中的各个梯度向量分配索引值。块2获取体数据集的第一体素并将其传送给块3,块3通过六个最近的相邻者的差异来计算此体素位置处的梯度向量。在块4中对前一步骤中计算出的梯度向量施加抖动。这最好可通过对向量的x,y,z分量加上伪随机数来实现。块5确定最接近抖动梯度的、查找表中最佳匹配的向量的索引。接着,在块6中,为当前体素存储此索引。为体数据集的各个体素重复从块3中的梯度向量计算开始的整个过程。块7检查在要预处理的数据集中是否还有任何体素。如果还有其它体素,则在块8中选择下一个体素并将其传送给块3,直到查找表中体素索引的完全集已被确定。
此后,进行体数据集的实际绘制,如图2所示。在块9中,根据观测参数如眼睛位置、观看方向、视图垂直向量等来计算视平面的位置。然后,对于视平面上的各点,将一束光线投影到体积内。块10获取要处理的这些光线中的第一光线。现在必须沿此光线进行取样。在块11中确定各光线上的第一取样点。为了计算取样位置处的梯度向量,在块12中,为八个相邻体素进行梯度表中的查找,该表在图1所示的预处理期间(块1)已建立。在块13中,根据分配给相邻体素的索引来从查找表中检索梯度。在块14中,对这些梯度向量进行三线性内插,以便获得取样位置处的梯度向量。如上所述,由于在分配梯度索引之前,在预处理期间已经施加了随机抖动,因此内插导致取样位置处的真实梯度值的部分恢复。在归一化向量的内插之后,所得向量不再具有单位长度,因此必须进行再归一化,这在块15中完成。必须计算与实际光线相对应的二维显示屏上的点的色值。这是通过在块16中计算各取样位置处的颜色和不透明度值来完成的。这些值沿光线累加,并在对整个光线进行取样后合成最终的色值。取样沿光线对所有的取样点继续进行。块17检查在光线上是否还剩有其它点。如果有其它点,则块18获取下一取样点并将其传送给块12。如果没有剩余点,则块19检查在视平面上是否还剩有任何光线。如果有,则块20获取下一个要处理的光线并将其传送给块11。在整个视平面的处理完成后,绘制在块21处结束,它对应于计算机程序中子例程的返回命令。
图3表示适合于执行本发明方法的计算机系统。它包含中央处理单元22,该单元通过系统总线23与计算机系统的其它单元进行通信。在总线23上连接了随机存取存储单元24。存储器24存储计算机程序、如操作系统和应用程序,它们实际上在计算机系统上执行。在程序执行期间,处理单元22读取来自存储单元24的指令、命令和数据。为了长期存储数据和可执行程序代码,在总线23上连接了大容量存储装置、如硬盘驱动器。键盘26和鼠标27允许计算机系统的使用者交互式地输入信息和控制计算机系统。在系统总线23上还连接了视频图形适配器28,它具有连接件29,用以将其装到系统总线23的相应插槽中。视频图形适配器28包括接口单元30,用于在图形适配器28的其它单元和计算机系统的部件之间进行通信。此外,在图形适配器上还连接了图形加速器单元31和图形存储器单元32。这些单元通过适当的数据连接33互连。存储单元32包括只读存储器和随机存取存储器,并且相应地用于存储本发明的计算机程序和部分要绘制的体数据集。图形加速器31是用于执行根据本发明方法的体绘制的微处理器或微控制器。图形适配器28还包括与计算机监视器相连的视频信号发生器34,监视器可以是CRT(阴极射线管)或LCD(液晶显示器)显示装置。视频信号发生器34为体数据集的二维显示器产生视频信号,体数据集由视频图形适配器28的各单元来绘制。
因此,虽然上面表示和描述了本发明的一些实施例,但是应该理解,在不脱离由所附权利要求书定义的本发明的精神和范围的前提下,可以对本发明进行许多变化和修改。
权利要求
1.一种在二维显示屏上绘制体数据集的方法,其中通过在相邻体素的梯度向量之间内插来计算所述体积内任意取样位置处的体素值的梯度向量,借助于分配给各体素的梯度索引从查找表中检索所述梯度向量,其特征在于,对所述梯度向量施加抖动。
2.如权利要求1所述的方法,其特征在于,在所述梯度索引的分配期间把抖动施加给各体素位置处的所述梯度向量。
3.如权利要求1所述的方法,其特征在于,通过给所述梯度向量的各个分量加上随机值来施加抖动。
4.如权利要求1所述的方法,其特征在于,所述查找表包含均匀分布在单位球面上的归一化梯度向量。
5.如权利要求1所述的方法,其特征在于,在所述内插步骤之后,进行所述取样位置处的所述梯度向量的再归一化。
6.一种用于执行如权利要求1所述的方法的计算机程序,其特征在于,体数据集的预处理包括以下步骤计算各体素位置处的梯度向量;通过给各个向量分量加上随机噪声而使所述梯度向量抖动;通过使抖动的梯度数据与梯度查找表中的相应向量匹配,为各个体素分配梯度索引;以及为各个体素存储梯度索引。
7.如权利要求6所述的计算机程序,其特征在于,在二维显示屏上的体数据的绘制包括以下步骤在所述二维显示屏上为各像素设置光线;确定所述体积内沿着所述光线的取样点;通过各取样点处的相邻体素值的内插来计算取样值;通过各取样点处的相邻梯度向量的内插来计算梯度向量,根据所述各个梯度索引从所述梯度查找表中检索所述相邻的梯度向量;计算各取样位置的颜色和不透明度值;以及将颜色和不透明度值合成为像素值。
8.一种适合于具有程序控制的处理单元的计算机系统的视频图形适配器,其特征在于,所述图形适配器具有根据权利要求1的方法工作的程序设计。
全文摘要
本发明涉及一种在二维显示屏上绘制体数据集的方法。根据本发明的方法,计算体素值的梯度向量,并由梯度查找表中的索引来代替,从而减少绘制期间所需的存储量和存储器存取次数。对于二维视平面上的各点,有一束光线投影到体积内。然后沿各条光线在离散的取样点上对体数据取样。在绘制期间从查找表中检索各取样位置处的相邻体素的八个梯度向量。本发明提出在选择适当索引之前对梯度施加抖动。由于内插而实现实际梯度值的恢复。由此避免图像的人工痕迹、例如由梯度离散化而引起的强度带。
文档编号G06T15/40GK1457474SQ02800260
公开日2003年11月19日 申请日期2002年1月31日 优先权日2001年2月9日
发明者J·布吕恩斯 申请人:皇家菲利浦电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1