本发明属于医学图像处理与科学计算可视化相结合的技术领域,特别是一种适用于复杂腔体的虚拟内窥镜自动和交互式路径规划与导航方法。
背景技术:
在进行内窥镜手术前,医生一般通过二维ct/mri图像判断病灶信息,但是二维图像非常不直观,极大的依赖医生的经验。所以在术前利用虚拟内窥镜对病灶进行观察,辅助医生的诊断过程,将极大的方便医生进行手术。
虚拟内窥镜充分利用ct/mri图像数据来建立病灶区域的三维模型,然后通过设置中心路径并控制虚拟相机进行内窥操作。这是一种完全无接触式的检查方法,能在清楚地观察病灶的同时,不会对患者造成任何痛苦。
发明专利cn1788284a提出了对虚拟内窥镜检查进行快速自动中心线提取的方法和设备,但这种方法在中心线提取、路径平滑以及碰撞检测等方面需要大量的计算,由于实时性的要求,该方法不适用于肾脏等结构复杂腔体的虚拟内窥。发明专利cn105231978a提出了一种引导式虚拟内窥镜导航方法,该方法不需要预先提取待检查被测腔体的中心线,从而避免了中心线提取过程中的拓扑结构、噪声干扰等问题,一定程度上提高了虚拟内窥镜的成像效率,但是仍然需要在路径平滑等方面花费大量时间。
技术实现要素:
本发明目的是解决现有虚拟内窥镜不能应用于复杂腔体以及在路径平滑等方面需要花费大量时间的问题,提供一种适用于复杂腔体的虚拟内窥镜自动和交互式路径规划与导航方法。
本发明技术方案
一种适用于复杂腔体的虚拟内窥镜自动和交互式路径规划与导航方法,该方法包括:
(1)通过成像设备获得一组连续的人体二维切片;
(2)通过图像分割方法提取出目标区域;
(3)利用分割出的图像建立目标区域三维模型;
(4)通过拾取坐标点在模型内部规划指导漫游的中心路径;
(5)控制虚拟相机沿规划好的中心路径进行自动导航和交互式导航虚拟内窥。
本发明的优点和积极效果:
本发明的虚拟内窥镜自动和交互式路径规划与导航方法能够应用于分支较多的复杂腔体,并能快速规划平滑的中心路径,并且不需要碰撞检测计算,提高了成像效率,从而取得良好的虚拟内窥效果,而传统的中心路径规划方法存在效率低下、无法处理多分支结构的对象、路径不平滑等缺点。本发明通过拾取三维模型的一系列坐标点,并将其首尾相连来规划路径。这种方法易于操作,自由度高,可以任意规划目标路径而不受模型结构的限制,并且路径点首尾相连、非常平滑。自动导航就是设置虚拟相机沿规划好的导航路径从起始点一直漫游到终点,这种方式不需要手动参与,但灵活性较差。交互式导航可以实现快捷的漫游,而且灵活性比较好,是目前最好的一种导航方式。但是,传统的虚拟内窥镜在交互导航的过程中由于用户的过度交互容易导致虚拟相机到达模型外部造成“破壁而出”的现象,虽然可以通过碰撞检测来防止“破壁而出”,但这会大大降低用户操作的自由度。而且,在某些特殊的情况下可能需要观察器官的外表面。为了解决这个矛盾,本发明的交互式导航采用移动相机当前路径线段终点(也即下段路径线段起点)坐标的方式,每交互一次,则线段终点(也即下段路径线段起点)的坐标相应的移动一个单位距离,而下一段路径终点的坐标不受影响。这样,每当用户过度交互出现“破壁而出”的现象时,虚拟相机在下一段路径中就能够迅速地自动回到预设的中心路径。因此,通过拾取坐标点规划路径的方法在交互导航的过程中可以很好的解决“破壁而出”的问题,不需要复杂的碰撞检测操作。
本发明具有:无创、安全、操作简单、病灶信息丰富等优点。
附图说明
图1是虚拟内窥流程示意图。
图2是在面绘制泌尿系统三维模型上拾取坐标点的示意图。
图3是将图2中拾取的坐标点首尾相连形成的中心路径。
图4是中心路径通过泌尿系统内部膀胱、输尿管以及肾盂肾盏示意图。
具体实施方式
实施例1:
本发明提出的虚拟内窥镜自动和交互式路径规划与导航方法流程如图1所示。所述方法的具体步骤如下:
(1)通过成像设备获得一组连续的人体二维切片;
(2)通过图像分割方法提取出目标区域;
(3)利用分割出的图像建立目标区域三维模型;
(4)通过拾取坐标点在模型内部规划指导漫游的中心路径;
(5)控制虚拟相机沿规划好的中心路径进行自动导航和交互式导航虚拟内窥。
例如,人体泌尿系统中肾脏内部肾盂和肾盏的结构复杂且分枝较多,利用本发明方法很容易规划出其中心路径来指导虚拟相机移动,不需要进行平滑和碰撞检测,效果如下:
首先将ct图像中的泌尿系统部分进行分割,利用marchingcubes面绘制算法建立泌尿系统的三维模型。然后通过拾取三维模型上的一系列坐标点,并将坐标点首尾相连形成中心路径,路径从膀胱开始经过输尿管最终到达肾盂和肾盏内部。最后控制虚拟相机沿着规划好的中心路径进行自动导航和交互式导航虚拟内窥。
图2给出了在泌尿系统三维模型上拾取坐标点的过程。vtk工具包中的vtkpointpicker类可以用于点坐标的拾取,它从视点位置发射一束光线,将鼠标当前的位置投影到actor上,则投影得到的点就是拾取对象。getpickposition()函数可以输出鼠标当前单击位置的世界坐标系下的坐标值。
图3是将图2中拾取的坐标点首尾相连形成的中心路径。拾取所有泌尿系统三维模型感兴趣点的坐标之后,使用vtklinesource函数中的setpoint1和setpoint2来连接相邻的两点,根据点的插入顺序来连接成线段,最终形成一条完整的路径。
图4是中心路径通过泌尿系统内部膀胱、输尿管以及肾盂肾盏示意图。为了模拟泌尿系统内窥镜手术的入路过程,路径从膀胱开始经过输尿管最终到达肾盂和每一个肾盏。