APP下载

对数尺度影射的传递函数在直接体绘制中的应用

2010-08-16陶龙风蒋先刚

华东交通大学学报 2010年6期
关键词:透明度传递函数对数

陶龙风,蒋先刚

(华东交通大学基础科学学院;江西南昌330013)

在体绘制中,传递函数是定出体数据与光学特征对应关系的关键步骤,传递函数的设定对三维重构图像的质量具有重要的作用。传递函数是原始三维数据场与赋予光学属性的三维数据场之间的调节因素和关系表达,也是控制三维数据在不同浓度区间的可见性的一个调节因素。传递函数设定的适度对三维成像质量有着直接的影响。传递函数的图形表达通常是关于数据场和光学权重因子的可编辑的二维图形。本文针对传递函数可编辑图的y坐标,提出了使用对数尺度的传递函数达到敏感区域具有更大的空间可操作性。

1 传递函数的数学定义

在体绘制中,传递函数将三维数据场的数据值转换为光学成像参数,建立了采样点与光学特征之间的映射关系[1-2],它决定了体绘制的成像质量。传递函数在数学上可以定义为三维数据场的数据属性到光学属性的映射

式中,Dn(n=1,2,…n)是传递函数的定义域,表示三维数据场的数据属性,它可以是采样点的数据值,如CT图像的灰度值,也可以是局部采样点数值计算的结果,如梯度幅值、二阶方向导数等;Om(m=1,2,…m)是传递函数的值域,表示体素进行可视化的光学属性,如颜色(RGB)、不透明度(alpha)、阴影参数(Phong)等。τ表示数据属性转换为光学属性的映射规则。按着映射规则通过灰度值和不透明度值而获得体素的颜色[3],一条投影光线中的当前点透明度值具有以下关系式

其中,αnew表示按着映射规则最新遇到的体素的不透明度值,式中左边αacc根据传递函数的映射规则得到的新的不透明度值。

2 传递函数的设计

由式(1)可知,传递函数的定义域是数据属性范围。数据属性可以分为局部数据属性和全局数据属性。局部数据属性可以是数据场中每一个采样点所具有的属性,也可以是采样点与邻居采样点共同计算得到的数据值。全局数据属性是通过局部数据属性计算得来的。如空间某点(X、Y、Z)的灰度值就是一种局部数据属性,而灰度值统计得到的直方图函数则显然是一种全局的数据属性,这些属性通过传递函数的转换表现为光学成像参数,即传递函数的设定能适度地多层次地改变三维重构图像质量。

2.1 基于标量值的传递函数

标量值在数学中指的是只包含单纯的数据属性而不包含任何方向特性的数值,如一个点的坐标值等。标量值是最简单、最常用的数据属性,它是三维空间中多种不同物质的测量结果。每个采样点标量值的大小取决于数据的来源,它具有一定的含意而用来区分不同的器官组织物质。图1为一人体头部CT图的灰度直方分布图。对应于骨骼、肌肉和脑髓等不同密度的物质有不同的灰度值,可以根据灰度值标量关系来定义颜色和不透明度传递函数,将不同的灰度值或相同灰度范围的物质赋予同一种颜色或不透明度值。

图1 人体头部图的灰度直方图

2.2 基于梯度的传递函数

梯度幅值是另一种常用的数据属性,它是一种基于边界特征的属性,它反映着各类型数据在边界的交替程度和分布。在物质的边界处灰度值通常会发生突变,也即曲面场中所定义的局部极大值或极小值。标量值改变的剧烈程度可以用梯度幅值来度量。在三维连续空间中,梯度幅值的计算公式为[4-5]

式中,f表示三维数据曲线,‖▽f‖表示“向量的模”。三维数据场是由离散的采样点组成的,因此采样点的梯度幅值是通过采样点与邻近的采样点的差分计算获得的。图2所示表达CT图片中的梯度分布直方图,在骨头内部区域由于灰度值基本是相同的,所以它们的梯度值基本是相同的,而骨头与肌肉的交界处是骨头与肌肉交错曲面体的区域,这时灰度值就有较大的改变。

图2 人体CT图像的梯度分布直方图

2.3 传递函数对渲染效果的作用

在三维数据场中,通常假设同一种组织具有相似的灰度值,不同的组织具有不同的灰度值,而不同组织之间的交融边界的确定对清晰的多层次的三维重构具有重要的作用。不同的组织之间的灰度界越区可以设成趋于全透明而达到多层次的器官组织显示效果,通过K-均值聚类算法对图像灰度进行分类获得各组织分界的关键点后,如果设定数据类传递函数在边界点区域的不透明度值y调节区域为较小或梯度类传递函数的不透明度值y调节区域较小时,各层组织仿佛用透明体隔开,但这些关键点区域的细调y范围常在归一化的0.0~0.3之间,需借助对数曲线的区域等比性而将敏感区域进行加大。

3 基于对数尺度的传递函数

依光学模型的成像原理可知,一条射线的各体素在投影面的最终成像是这条射线上许多体素的透明度和灰度值的综合累计结果,这样,敏感区域的各浓度和透明度的取值必然都比较小,要想在比较大的几何区域调节这些精细的参数,需将这个区域进行仿射几何变换[6-7],而几何空间的对数变换满足数值低端放大而高端压缩的纵轴向几何分布要求。

本文令d为三维数据体,ρd表示光密度(透明度值),dα表示密度。将均匀传递函数得到的值调整到归一化后区间[0,1]的对数尺度传递函数的值域。我们可以得到线性传递函数的不透明度值α与对数尺度传递函数的α′之间的关系

这里α′是通过线性传递函数α得到传递函数的值,且α=max(ln d,1),要使对数尺度上的 α′返回到实际参加运算的α上,又可以根据公式(5)反变换得到

同理,α是通过对数传递函数α′算出传递函数的值。公式(6)是为了让不透明度值的取值范围控制在区间[0,1]内。在具体的程序设计实现过程中,首先建立一个坐标平面,x轴的坐标从0到255的范围,y轴的坐标从0到1的范围,然后当鼠标在坐标平面移动时,通过坐标转换的运算而获得传递函数在各个区间的值。当传递函数曲线的关键点被选取时,其平面上x值在两个坐标系中一致,仅仅对y轴的坐标做了一个变换。即

图3 均匀坐标下灰度传递函数及重构图

同理,对梯度传递函数坐标系进行同样的转换,这时 x轴的取值为归一化后的图片的总体分布灰度值,即首先分别求出每个点的梯度值,然后求出这些梯度值的归一化纵向值,不同坐标系下对应梯度下的透明度值如图5、图6所示。

从图3到图6中不难看出,在两种传递函数坐标体系下可以获得基本相同的三维绘制效果图,但是均匀坐标下传递函数(图3和图5)中横向与纵向的单位尺度变化是等同的,而根据光学模型的成像原理可知,关键区域的y值变化的合理调节通常在0.02~0.10这样非常小的范围内,这样不利于在很小的范围内来很大几何程度地改变y的值。相反,在对数坐标下传递函数表示的图(图4和图6)中,由于最敏感区域(0.0~0.3)上占有比较宽的范围,这样能在x很小的范围内来改变y的值,在较大几何空间里增大y的灵敏度和可操作性,以获得我们想要的精细的三维重构效果。

图4 对数坐标下灰度传递函数及重构图

图5 均匀坐标下梯度传递函数的设定及重构图

图6 对数坐标下梯度传递函数的设定及重构图

4 结语

体绘制中的传递函数在清晰表达多层次三维数据中起着重要的作用,它可以清楚地显示感兴趣区域和它们的层次关系,揭示病变组织或细节部分。根据均值聚类方法可以定义出各组织分类的分界点,而设定这些分界点的附近点的透明度值为较大可调节空间时就将各类组织方便而清晰地分开来,而细节部分的显示最终可通过对数传递函数关键点的调节来达到,三维重构效果图的质量有很大幅度的提高。在纵轴的对数坐标映射关系可设计多层次的,即在纵轴[0,1]区间设计2-3个对数映射关系以达到最佳传递函数的调节。如果在x方向关键点区域再进行彩色拉伸,同时配合对数仿射来调节传递函数的不透明度值,将会更加提高三维重构图像质量。

[1]齐蕊.体绘制传递函数设定方法的研究与应用[D].长沙:湖南大学出版社,2009:26-34.

[2]VLADIMIR P,RAFAEL W,DANIEL H.Fast detection of meaningful isosurfacesfor volume data visualization[C]//In12th IEEEVisualization 2001,2001:223-230.

[3]蒋先刚.三维数据场重构与显示工程软件设计[M].北京:中国水利水电出版社,2009:191-193.

[4]蒋纯志,张建华,曹菊英.等截面纵横曲梁的分布传递函数法[J].科学技术与工程,2007(7):3223-3224

[5]SIMEON P,TORSTEN M.Transfer Functions on a logarithmic scale for volume Rendering[C]//In Proceedings of the Graphics Interface,2004,ACM press 2004:57-63.

[6]肖永飞,付宜利,王树国.一种可交互的体绘制光学传递函数模型[J].光学学报,2008(8):1502-1509.

[7]曾向阳.头相关传递函数的个人方法[J].北京电视电声杂志社,2007,31(8):41-47.

猜你喜欢

透明度传递函数对数
含有对数非线性项Kirchhoff方程多解的存在性
扰动输入时偏差传递函数计算方法探讨
指数与对数
指数与对数
基于LabVIEW的火焰传递函数测量系统
对数简史
中国FTA中的透明度原则
红外成像系统的调制传递函数测试
股权结构与信息透明度相关性的实证研究
提高上市公司会计信息透明度的对策