基于虚拟手术的三维表面切割算法研究
2024-06-07
来源:年旅网
长江大学学报(自然科学版) 2010年9月第7卷第3期:理工 Journal of Yangtze University(Nat Sci Edit) Sep.2010.Vo1.7 No.3:Sci&Eng 基于虚拟手术的三维表面切割算法研究 谢 凯,卢光跃 (长江大学电子信息学院,湖北荆州434023) [摘要]在经典表面重建算法的基础上,提出了一种基于表面重建的三维切割模拟算法。该算法利用隐函 数作为切割体的数据表达形式,利用隐函数的组合树生成复杂的切割体。结果显示,提出的方法能够精 确地达到三维医学切割的模拟。在基于表面重建的三维切割模拟研究的基础上,设计并实现了三维整形 手术模拟平台,该平台的功能包括基于表面重建的三维切割模拟、模型体三维移动造型、三维标定与测 量、三维数据格式转化等功能,通过实际病例证明,该三维整形手术模拟平台有着极大的医学实用价值。 [关键词]表面重建;三维切割;手术模拟 [中图分类号]TP391 [文献标识码]A [文章编号]1673—1409(2010)03一N076—04 整形外科手术难度高,危险性大,而且必须容貌与功能兼顾。整形外科对影像学提出了较高的要 求,要求术前必须准确诊断,确定病变范围,提供三维立体视觉,显示复杂的空间结构,准确测量三维 形态参数,设计手术路径和方案,模拟手术,预测手术对面容的影响等。为了满足整形外科的临床需 求,CT三维重建辅助整形手术系统开始出现,它是最近的十多年间兴起的新兴交叉学科,一直是国内 外研究与应用的热点 j。 笔者对整复外科虚拟手术技术进行深入研究,提出了面向整复外科虚拟手术的三维切割模拟算法。 1基于表面重建的三维切割模拟算法 基于表面重建的三维切割模拟流程如图1所示。 1.1 切割体的构造及其隐函数表达 选择切割体 构造合适的切割体,如立方体、球、NURBS曲面等,将曲面放置 在合适的切割位置上,得到曲面相对于模型的位置。根据选定的切割体 和切割体与模型的相对位置,利用体数据空间隐函数来表达切割体。 在模型空间,用隐函数表示切割体。假设表示切割体的隐函数为 厂(x),其中X一(z,Y,z) 为模型空间中的坐标,那么P一{X l厂(x)一0) 表示切割体表面上的所有点的集合;P一{X f_厂(X)>0)表示切割体内部的 构造隐函数 处理体数据 l所有点的集合;P一{x J_厂(x)<0}表示切割体外部所有点的集合。 得到切割体在模型空问的隐函数表达以后,必须将隐函数表达从模型 l表面重建 空间转换为体数据空间。从体数据空间到模型空间经历了2次变换,第1 次变换为缩放变换(由于体数据在z,Y,z方向的间距不同),以恢复数据的 原始比例,假设变换矩阵为: 图1基于表面重建的三维切割 模拟流程图 fX 0 0 ] M 一『0 【0 Y pac 0 0 I Z J 式中,x。 。…y …z 为体数据在z, ,z方向上的网格间距。第2次变换为在模型空间的几何变换(旋 [收稿臼期]2010—06—12 [基金项目]中国石油科技创新基金项目(2010D-5006 0304);高等学校博士学科点专项科研基金项目(2007o532O77);湖北省自然 科学基金项目(2OO9cDB3O8);湖北省教育厅科研基金项目(Q20091211)。 [作者简介]谢凯(1975一),男,1997年大学毕业,博士,副教授,现主要从事图像处理和三维重建方面的教学与研究工作。 第7卷第3期:理工 谢凯等:基于虚拟手术的三维表面切割算法研究 转,平移变换),变换矩阵用 为X=:= Y z 。假设体数据空间内坐标为X 一(z ,_), , ) 在模型空间的对应点的坐标 fJ 37,1 【J,那么: J X—MgM 。 X (1) 因此在体数据空间切割体对应的隐函数为: F(X)一f(M M。 。 X ) (2) 如果切割体形状比较复杂,不能用单个函数表示,那么可以通过函数的组合表示,例如如果切割体为 一个半球,就可以用一个完整的球和一个平面组合而成。下面给出一部分通用的隐函数组合规则。 假设有2个切害0体在体数据空间可以用隐函数F (X)和Fz(X)表示。 切割体的交集为: P=={X f F (X)>0}N{X f F (X)>0}一{X f min(F1(X),F2(X))>O} (3) 那么对应的隐函数为: F(X)一rain(F1(X),F2( )) 切割体的并集为: P一{X l F (X)>0)U{X l F (X)>0):{X l max(F (x),Fz(X))>0} 对应的隐函数为: F(X)==:max(F1(X),F2(X)) (4) 切割体的补集为: P一{X l F (X)<0)一{X l~F (X)>0) (5) 对应隐函数为F(X)一一F (X)。 1.2体数据处理及表面重建 得到切割体在体数据空间的隐函数表达之后,利用已知的切割体隐函数处理原始体数据。对于体数 据网格上的每一点计算隐函数的值,如果值小于0,那么该点位于切割体的外部,如果值大于0,那么 该点位于切割体的内部,根据隐函数的值判断当前点是否应该被切除。如果当前点应当被切除,那么将 该点的值设为数据允许的最小值,否则保留原来的数值。这样就可以把需要的体数据部分保留了下来。 利用表面重建算法 ],从处理过的 体数据重建等值面 ,然后采用合适 光照模型就可以得到切割后的效果图。 2三维整形手术模拟平台 颅面部结构复杂,是多个重要器官 集中区,同时又关系到容貌,涉及颅面 部的外科手术难度高,危险性大,而且 必须容貌与功能兼顾。颅面部整形外科 对影像学提出了较高的要求,要求术前 必须准确诊断,确定病变范围,提供三 维立体视觉,显示复杂的空间结构,准 确测量三维形态参数,设计手术路径和 方案,模拟手术,预测手术对面容的影 响等。基于CT图像的三维手术模拟是 当今的一大热点,因为它克服了以前方 法的局限性。以人机交互方式即利用鼠标移动截骨块,截骨块可在三维坐标方向上同时进行移动和旋 图2三维整形手术模拟平台 转,系统可以自动输出相应截骨块在三维方向变化的数据(见图2)。 长江大学学报(自然科学版) 2010年9月 该系统采用基于CT图像的三维手术模拟,系统平台采用Visual C++6.0来实现,用到了Pixel Shader 2.0[ ,在配有Pentium4 2.4GHz CPU、NVIDIA Geforce 6600显卡(128M)的PC机上进行 测试。手术模拟是在接近真实解剖形态的立体模型上施行,截骨手术模拟与实际手术操作大致相同。根 据测量诊断结果选择整形模式,并预设截骨段在三维轴向上的移动距离和旋转的角度。系统即按预设参 数自动模拟经典的颅面外科截骨整形手术。 3实际病例应用 下面利用一个眶距增宽症的病例说明三维整形手术模拟平台的应用。 3.1眶距增宽症 眶距增宽症(orbital hypertelorism)是 一种严重的颅面部畸形,矫形手术是唯一的 治疗方法。截骨方式如图3(a)和图3(b), 矫正后患者内侧眶距为20mm。 在己经建立的三维颅面模型的基础上, 进行颅面三维截骨手术的模拟。考虑患者的 畸形特征,由医生根据测量的数据和临床经 验进行模拟手术方案设计。患者颅面图像显 示于图像终端,操作者按手术类型选取标志 点,划出截骨线,位于截骨线上的所有边界 像素构成“切割线”输入并存储于系统;所 图3截骨前(a)与截骨整形后(b)的颅骨示意 有边界像素均予以标记,使“截骨段”由边界像素切割线界定为独立、有确定大小和厚度的多面体操作 块。该切割线的所有轮廓点都经过世界坐标到屏幕坐标的转换并标记到头颅图像上,轮廓线不连续之处 则予以插值。通过设定骨块的参数,可以将骨块移动到任何预定位置,如果效果不满意可以重复操作, 直到满意为止。 3.2病例实验结果 与上海第九医院合作,对眶距增宽症的三维截骨手术进行了模拟,眶距增宽症的三维截骨手术模拟 示意图如图4所示。从术前骨组织畸形情况,可以看到患者眶间、鼻骨、梨状骨中央广泛骨组织增生, 眶间距49.06mm(正常人不超过28mm);另外,此患者两侧眶向外、向后、向下扭转,眶横径与标准 平面夹角分别为一0.8。和一1.5。(正常人为+4~+8。)。因此,手术的目的就在于截除中央多余的骨质, 并将两侧眶扭转回正常形态。图4(b)中将眶周分为3块,中间部分拿下来另外用。图4(c)把中间 那块骨头纵向劈开。图4(d)把两侧的骨块移动到中间,中间劈开的骨头,垫在两边的眼眶和颧骨、 残余的眶外侧缘之间,这样就基本上完成设计了。图5为眶距增宽症矫正手术前后病人的正面图和侧面 图,可以看到患者的外观得到了极大的改善。 图4眶距增宽症三维截骨手术模拟示意图 第7卷第3期:理工 谢凯等:基于虚拟手术的三维表面切割算法研究 ・ 79 ・ (a)术前正面 (b)术后正面 (c)术前侧面 (d)术后侧面 图5眶距增宽症矫正示意图 4结 语 笔者提出了一种基于表面重建的三维医学切割模拟方法,并在该方法的基础上设计并实现了三维整 形手术模拟平台,该平台包含基于表面重建的三维切割模拟、三维移动造型、三维标定测量等功能。实 际病例表明,该平台能够有效的完成整形手术规划、模拟等功能,有着极大的医学实用价值。利用该系 统成功对眶距增宽症的三维截骨手术进行了模拟,也可以很方便的进行颅面部其它虚拟手术,可对任意 部位随意进行切割、分离、移动等操作,并可将不同的部分进行伪彩色染色。所有操作均可交互式反复 进行。并且可以将虚拟手术过程以动画和视频的形式供医生或病人及其家属观看。 [参考文献] [1] Durst M J.Letters:Additional Reference to Marching Cubes[J].Computer Graphics,1988,22(2):72~73. [2] Lorensen W,Chine H E.Marching Cubes:A high resolution 3D surface construction algorithm EJ].Computer Graphics,1987,2l (4),163~169. [3]Xie Kai,Yang Jie,Zhu Y M.Interactive volume cutting of medical data E1].Computers in Biology and Medicine,2007,37(8),1155 ~1159. [43 Xie Kai,Yang Jie.Real—time and Precise Collision Detection based on Surgery Simulation[J].Lecture Notes in Computer Science, 2006,4091:164~170. [5]Xie Kai,Yang Jie,Zhu Y M.Real—time rendering of 3D medical data sets[J].Future Generation Computer Systems,2005,21(4): 573~581. [6]Xie Kai ,Yang Jie,Zhu Y M.Real—time visualization of large volume datasets on standard PC hardware_J].Computer Methods and Programs in Biomedicine,2008,90(2):117~123. [7]Kessenich J,Baldwin D,Rost R.The OpenGL shading language EEB/OL ̄.http://www.openg1.org,2004. [8]Fernando R,Kilgard M.The Cg Tutorial—The Definitive Guide to Programmable Real—Time Graphics[M].Addison Wesley,2003. [编辑] 易国华