本发明涉及数据可视化和计算机图形学领域,尤其涉及一种根据数据拓扑属性定义为不同物体定义不同光照参数的方法。
背景技术:
可视化中的光照设计在三维形状描述中具有重要作用,全局光照模型能够辅助用户在绘制图像中感知物体深度信息和大小,真实感的光照可以辅助用户在体绘制中花更少的时间感知更精确的物体深度信息。以三维体视化为例,在体视化中,一旦转换函数与视点确定,数据中物体特征的可视感知主要取决于光照参数。局部光照模型如 Blinn-Phong 模型主要描述结构形状和局部细节,而全局光照模型进一步描述结构之间的隐藏关系等信息。在可视化中,不足的光照以及过量的光照都会影响描述物体结构细节的有效性。光照定义是可视化中提高绘制有效性的重要技术之一。另一方面,拓扑关系是体数据中描述物体信息的重要关系之一,拓扑分析已成为可视化领域的一个重要分支,数据场的拓扑不但能对数据的重要属性(如等值面的连接单元的个数或其临界点)进行编码,而且可以用不同的拓扑图表示数据的抽象描述。
在传统的光照定义方法中,数据中所有的物体通常使用相同的光照参数设置(如三维医学图像数据中不同的组织),而不同物体之间的相同光照限制了光照在描述物体不同信息时的有效性,使用户无法从光照角度感知不同物体之间的差异。传统的光照定义模型主要研究生成真实感光照的技术,但没有充分利用数据本身的特征以使光照信息能够有效描述数据中的不同物体。其中数据拓扑特征能够描述不同物体之间的关系信息,由于物体拓扑属性的优点,如描述物体之间的不同关系(相邻、包含等)等的优势,已经成功用于转换函数的自动生成技术中,但是目前还没有有效的使用物体拓扑结构驱动的光照生成技术。
传统的体视化光照参数定义方法是随机的或基于特定的用户使用经验和喜好通过多次试错方法手工设定,这样的定义方法缺乏理论指导,而且常常很费时。也很难对定义的参数在不同数据间、不同用户间和不同时间进行复用。商业软件为了降低用户定义绘制参数所花的时间,常常根据特定数据类型或成像方法预定义多组绘制参数,用户只需从中选择一组使用。这种参数定义方式无法满足数据的多样性,从而无法充分描述不同体数据中的物体结构信息(如拓扑关系)。这也是光照定义的自动生成面临的主要难题之一。
技术实现要素:
本发明的目的在于提供一种拓扑驱动的体视化光照定义方法,能够根据数据特征(如拓扑特征)为体视化中不同物体定义不同的光照参数以描述物体之间的差异,而且还提供了拓扑驱动的光照定义的自动生成方法。
根据本发明的一个方面,提供了一种在体视化中为不同物体定义不同光照参数的方法,包括:
S1:建立体数据的拓扑表示;
S2:对所述拓扑表示进行分析,生成数据拓扑特征;
S3:用所述拓扑特征进行拓扑感知的光衰减计算;
S4:用所述拓扑特征计算基于拓扑相对重要性的光照;
S5:用所述拓扑特征计算基于拓扑距离的光照;
S6:用所述拓扑特征进行光照参数自动生成的计算。
以经典光照模型Blinn-Phong模型为例,对体视化中的光照进行定义。根据Blinn-Phong模型,体视化中某一点的颜色C由以下方程计算得到:
其中ka、kd、ks分别是环境光、漫反射、镜面反射系数,n是高光指数,H为半角向量,位于法线N和光线L的角平分线方向,Ctf是由体视化转换函数定义的颜色。考虑光衰减的光照计算由如下方程得到:
其中fatt是光衰减因子。
1)拓扑感知的光衰减计算方法:光衰减因子由数据中物体的拓扑重要性和拓扑深度确定,该方法使物体随着拓扑距离的增加使不重要的物体变暗而重要物体的光照仍然突出显示。
2)基于拓扑相对重要性的光照计算方法:拓扑相对重要性是物体相对于其相邻的物体的重要性,根据物体的体积、拓扑持久性以及距离进行度量。本发明使用拓扑相对重要性对不同的光照系数进行定义,使拓扑相对重要性大的物体获得高光照值,而拓扑相对重要性小的物体获得低光照值,从而对更重要的物体从光照角度进行强调和突出。
3)基于拓扑距离的光照计算方法:拓扑距离是指数据的拓扑表示中物体所在的拓扑深度。本发明用拓扑距离的函数定义不同的光照系数,使具有高拓扑距离值的物体获得高光照值,从而从光照角度强调高拓扑距离值的物体。
4)基于最小可觉亮度差的光照自动生成方法:为了给数据中每个物体自动定义不同的光照参数,本发明用两步法实现为每个物体自动定义光照:第一步为初始化阶段,为每个物体定义光照参数的初始值;第二步为优化阶段,以最小可觉亮度差为优化标准,优化目标为使不同相邻物体间的最小可觉亮度差最大化,根据物体的拓扑表示对每个物体的光照进行优化,从而实现物体光照定义的自动生成。
附图说明
图1为本发明一实施方式的拓扑控制的光照定义方法流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述说明。
图1示意性地显示了根据本发明的一种实施方式的一种拓扑控制的体视化光照的定义方法,包括:
S1:计算体数据的拓扑表示;
S2:计算数据拓扑的拓扑特征;
S3:基于S2,计算体视化中的光照衰减;
S4:基于S2,计算拓扑相对重要性确定的光照;
S5:基于S2,计算拓扑距离确定的光照;
S6:基于S2,进行光照自动生成的计算。
在步骤S1中,可以用拓扑数据结构轮廓树对数据拓扑进行存储和表示。
在步骤S2中,拓扑特征可以包括体积、拓扑持久性、拓扑深度、拓扑轮廓树的父亲枝的数目、兄弟枝的数目。
在步骤S3中,体视化中的光衰减因子fatt由不同的拓扑特征确定,并且是拓扑持久性p以及兄弟枝数目ns的反函数。因此拓扑感知的光衰减使重要的物体的光照衰减速度比非重要的物体的光照衰减速度慢以强调重要物体。
在步骤S4中,拓扑相对重要性是指物体在以其为中心的局部区域内的相对拓扑重要性,可以包括体积和拓扑持久性的相对重要性。在本发明中,体视化中物体的光照参数ka、kd、ks分别定义为拓扑相对重要性的正函数。因此基于拓扑相对重要性的光照在体视化中可以强调相对重要性高的物体而弱化相对重要性低的物体。
在步骤S5中,数据拓扑表示的拓扑深度被定义为拓扑距离。在本发明中,体视化中物体的光照参数ka、kd、ks分别定义为拓扑距离的正函数。因此基于拓扑距离的光照在体视化中可以强调拓扑距离大的物体而弱化拓扑距离小的物体。
在步骤S6中,以数据的拓扑表示为基础,使用两步法并基于最小可觉亮度差优化方法为数据中每个物体自动定义光照参数ka、kd、ks。使用该方法自动生成的物体光照使相邻物体之间的光照差异最大化,以使用户从光照角度感知物体之间的差异。
应当理解,虽然本说明书按照实施例加以描述,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施例。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明的等效实施例或变更均应包含在本发明的保护范围之内。