文章目录
1. 简述
- 本文用于记录与回顾“虚拟手术项目”涉及到的相关知识点,以及在项目开发中所遇到的一些困难(坑),现在先列出将会写的知识点大纲,后面会尽快填充。(不会涉及到项目全篇的代码,但会分享一些解决方案及关键代码,和大家一起讨论,内容较多的部分会单列出一篇文章)。
- 开发环境:Unity+ Visual Studio(采用C#脚本) + SteamVR
- 项目简述:
本项目旨在辅助医生对患者进行骨手术前的模拟手术,对骨头(头骨、腿骨)部位进行手术切割,并且制作手术刀板辅助医生进行手术。
基于影像三维重建的虚拟辅助手术系统在辅助手术方面具有很大的应用前景。基于上述背景,本文以头部和腿部CT影像为数据源,结合骨科虚拟手术的特点,研究了虚拟辅助手术系统的关键技术,并实现了一个骨科虚拟辅助手术系统。
2. 手术刀切割
2.1 平面切割(待写)
- 原理:
平面切割的思路,即:将待切割物体按照物体结点与切割平面的位置关系进行分离,平面上方的点的位置关系添加进新物体1中,平面下方的则添加进新物体2中;针对于三角关系则依据该三角片是否与切面相交,如无相交关系,则直接添加进新物体,如相交,则进行三角划分;经上述处理,物体被分割开来。
2.1.1 三角划分(待写)
2.2 局部切割
2.2.1 Quick-Union
- 采用QuickUnion方法计算三角面之间的连通关系,并根据连通区域对被切割物体进行分离。
Quick-Union 算法
2.2.1 三角划分(待写)
2.3 切割面缝合(待写)
- 由于切割的模型为OBJ格式,即三角片网格结构(Mesh),仅有表面的一层面被渲染,中间为空,切割面若不进行缝合则是透明状。
2.3.1 耳切法(待写)
- 缝合切割主要采用耳切法实现,注意:在实现前需要对传入数据进行处理,正是在处理该数据时,发现了切割方法中存在的一些错误(坑),导致缝合一直是失败的状态。
3. 3D模型简化(待写)
4. 三维重建算法(DC、MC)(待写)
- 用于将Dicom影像数据转化为实际可以被使用的OBJ模型(当然FBX,STL等均可,存储格式不同而已)
- 详见博客MC算法 && DC算法 (三维重建算法)学习及其基础知识 (学习总结)