组织等量面切割显示新算法

2021-11-111
生物医学工程学杂志组织等量面切割显示新算法卿侯常智勇卿松桂业英蔡青1(西北工业大学CAD/ CAM研究中心,西安710072)2(四川省简阳市新市成教中心,简阳601)出了一种新的组织等量面切割显示算法。新算法通过采用区域划分和增量计算等技术,大大加速了组织等量面的切割显示速度,尤其是在数据量很大的情形下,新算法更利于适时交互。

1引言组织等量面切割显示是三维医学图像交互操作中的重要技术之一。在医学数据的可视化应用中,组织等量面切割显示可用于模拟外科切除手术等,具有重要的医学实用价值。组织等量面切割方法主要有两种,一种方法是先提取出组织的等量面,然后再用切割平面去切割组织等量面。这种方法的主要优点是方法简单,便于实现,其*大的缺陷在于将组织等量面的生成与切割隔离开来,计算极其费时,不利于实时交互。另一种方法是基于步进立方体的方法,即通过在步进立方体的基础上加入布尔操作来实现组织等量面的切割显示。这种方法构思独特,充分利用了步进立方体的优点,简单易行。其*大的缺陷在于每次切割计算都需遍历整个体数据,且对每个立方体都要进行颇为复杂的相对于切割平面位置的计算与判定,故当体数据量较大时,由于需要大量的计算时间,也很难达到临床实用的要求。为此我们提出一种新的组织等量面切割算法。

2算法思想基于步进立方体的方法是,先逐个判定体数据中各立方体相对于切割平面的位置关系,然后,再对各立方体进行相应的切割计算,从而实现组织等量面的切割显示。这样做,割离了体数据中各立方体之间的相互联系,忽略了切割平面的连续性,必然会因需进行大量不必要的计算而浪费大量的时间。事实上,考虑到体数据的规整性和切割平面的连续性,我们完全可以根据切割平面的位置和方位,直接迅速地判定出体数据中立方体相对于切割平面的位置关系,从而大大减少计算的开销,加快切割显示的速度。基于这样的思想,我们提出了一种组织等量面切割显示的新算法。其基本思路是:每次读入相邻的两片数据,然后沿数据片y方向逐行进行计算。先确定出当前行立方体的切割分界点然后根据该分界点将当前行立方体分成三个不同的区域:位于切割平面之外的立方体,位于切割平面之内的立方体以及位于切割平面之上的立方体*后再对不同区域的立方体进行相应的切割计算。由于新算法采用了区域划分和增量计算等技术,大大加速了组织等量面的切割显示速度。

3算法描述3. 1切割平面确定为了确定任意的切割平面,首先给定一个参考点) ,然后给出切割面的法线方向n和一个常数。过点沿方向作射线,在射线上取P( p)点,使?RP?= d.切割面便是过点并且和方向n垂直的一个平面,如图1所示。调整R和n可很方便地改变切割面的位置和方向。为了简化计算,点常选为坐标原点方向由法线与轴的夹角A以及法线在xoy平面上的投影与x轴的夹角B确定。

设切割面法线方向为n( n) ,切割平面上) ,由图1可得:由式( 1)和式( 2)得切割平面方程为:3. 2切割计算( 1)切割分界点确定读入**张数据片0,计算出切割平面与S上方向**条扫描线的交点即为切割计算的初始分界点,同时也是**张数据片上y方向**条扫描线l的切割分界点P由体数据中扫描线空间分布的均匀性以及切割平面的平面特性可知,体数据中相邻扫描线上的切割分界点之间具有极其紧密的关系:其中一个切割分界点完全可由另一个切割分界点加上一个简单的)求得。

对于数据片上相邻扫描线和相邻数据片上相应两条扫描线,该增量分别为:于是,对于体数据中其他扫描线上切割分界点的计算就可采用增量法,由上面得到的切割初始点通过简单的加法运算求出,而不必再一一进行线面求交运算了。

如果记P)为第i张数据片y方向上第条扫描线的切割分界点,由上诸式可得其坐标表达式为:据片y方向上相邻网格点之间的间距 zt为相邻数据片在方向的间距 N指数据片大小N×N M为数据片数。

( 2)切割分区确定假定当前行立方体是由数据片和的方向上,相邻的四条扫描线l上相应数据点构成,切割分界点为p和i 1, j 1,如图3.不难求得四个分界点所在的立方体的序号分别为:上式中,符号INT ( A)表示对A取整。

找出上述四个立方体序号的*大值C和*小值C min,根据切割平面的连续性可知,介于*大值和*小值C之间的所有立方体都是位于切割平面上的立方体。而确定位于切割平面之外的立方体和位于切割平面之内的立方体还必须考虑到切割平面法线方向的信息,其判定法则如下:若 90° A 90°,则所有序号小于C的立方体,都是位于切割平面之内的立方体,而所有序号大于C的,都是位于切割平面之外的立方体若90° A 270°,则所有序号小于的立方体,都是位于切割平面之外的立方体,而所有序号大于C的,都是位于切割平面之内的立方体。

( 3)切割计算规则当 90° A 90°时,由图4可得切割计算规则 N,则提取序号为0F iF N的立方体中所包含的组织等量面。( b)若C N,则先提取出序号为的立方体中所包含的组织等量面,再对等量面进行裁剪。( d)若C提取出序号为0F iF C的立方体中所包含的组织等量面,再对等量面进行裁剪。(e)若0F C F N,则先提取出序号为0F iF C的立方体中所包含的组织等量面再提取出序号为C的立方体中所包含的组织等量面,*后对该等量面进行裁剪。( f)如果0F C则先提取出序号为0≤i≤C的立方体中所包含的组织等量面再提取出序号为C F iF N的立方体中所包含的组织等量面,*后对该等量面进行裁剪。

当90° A 270°时,由图5可得计算规则如下:若不必计算。(b)若C 0,则提取序号为0F iF N的立方体中所包含的组织等量面。(c)若C N,则先提取出序号为0≤i≤N的立方体中所包含的组织等量面,再对等量面进行裁剪。( d)若C F N,则先提取出序号为C F iF N的立方体中所包含的组织等量面然后,再提取出序号为0F iF C的立方体中所包含的组织等量面,*后对该等量面进行裁剪。( e)如F N,则先提取出序号为F iF N的立方体中所包含的组织等量面再提取出序号为的立方体中所包含的组织等量面,并对该等量面进行裁剪。( f)若0F C且C N,则先提取出序号为C F iF N的立方体所包含的等量面,再对该等量面进行裁剪。

( 4)等量面裁剪如果把切割平面看作是一有向平面并约定:如三角形的某一个顶点位于切割平面上或者切割平面之内,该顶点赋值0反之,该顶点就赋值1.那么,对三角形某条边,如其一个顶点在切割平面之外而另一个点在切割平面之内,就表示该边与切割平面相交。裁剪时就可先确定三角形顶点的编码dex,再利用边面求交对三角形进行裁剪计算。

由于三角形共有三个顶点,故三角形顶点的编码index共有8种情形。考虑到旋转因素,三角形相对于切割平面的位置关系共有四种情形,如图6所示。

形在切割平面内,裁剪时应该保留情形( d)的编码index等于7,表示三角形在切割平面外,裁剪时应该裁剪掉而情形( b)的编码index和情形( c)的编码index则介于0和7之间,表示该三角形与切割平面相交,裁剪时需要进行求交运算。

对于情形( b) ,求交后,直接将三角形顶点中位于切割平面内的顶点与两个交点相连就可得到裁剪后的新三角形而对于情形( c) ,由于原三角形有两个顶点位于切割平面内且与切割平面有两个交点,裁剪后将得到两个新的三角形。其中,一个三角形由两个原顶点与一个交点组成,另一个三角形由一个原顶点与两个交点组成,如图7所示。

裁剪时,需特别强调的一点是,在三角形连接中,需注意确保裁剪后得到的新三角形的连接顺序与步进立方体方法中采用的规则一致。

( 5)特殊情形的等量面切割计算对于切割平面平行于轴z的特殊情形,切割计算方法如下:为一常数。再设此时切割平面位于数据片和之间,可求出S和S的序号C和C则可以知道,由数据片S和构成的立方体都是位于切割平面上的立方体,而其它立方体就以这两片数据片为界分属于切割平面外和切割平面内。后者可仿照前述方法进行区域划分。不同的切割区域确定后,*后进行相应的切割处理,方法与前述方法完全相同。对于切割平面平行于x、y轴的处理方法与处理切割平面平行于z轴类似。

4实验结果我们在微机环境下进行了实验,所用实例是动物树獭胸部CT数据,大小为128×128×197,重采样后,大小为64×64×98,绘制结果如图8所示。图中左边为树獭骨骼的完整显示,右边为树獭骨骼的切割显示。切割平面法矢为( 0. 87, 0, 1) ,且经过点5结束语本文提出了一种新的组织等量面切割显示算法。它具有以下优点: ( 1)将组织等量面的生成与切割操作放在同一阶段处理,避免了大量不必要的计算。(2)直接由切割平面的信息将体数据中的立方体划分为三个不同的区域,再分别对不同区域中的立方体进行处理。简化了判断立方体相对于切割平面的位置关系的计算。( 3)采用了增量计算技术,简化了切割分界点和切割区域的计算。这样,与现有的方法相比,新算法可大大减少切割计算的时间,加快组织等量面切割显示。尤其是当体数据量很大时,这种提高尤为显著。另外,新算法还可对组织等量面进行任意的切割显示。

致谢本文树獭数据由中科院吴恩华、王文成老师提供,在此表示特别感谢。

参考文献

免责声明:
转载请注明原文出处。本文仅代表作者个人观点,与商来宝平台无关,请读者仅做参考,如文中涉及有违公德、触犯法律的内容,请向我们举报,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们处理。
举报
收藏 0