2.1 实验数据建模结果 根据分割得到的CT序列图像利用移动立方体(Marching Cubes,MC)算法建立三维网格模型
[9]。针对二值化序列图像利用MC算法进行建模会在模型表面产生阶梯状纹理,严重失真,因为MC算法在产生三角面片的过程中会对相邻的灰度值进行线性插值操作来寻找等值面,二值化序列图像无法进行线性插值操作。
针对以上不足,对建模步骤进行改进:首先用1.2中Otsu算法得到的阈值作为MC算法生成等值面的阈值,再利用图2中所示钻石型结构元素在分割得到的二值化序列图像寻找骨组织和非骨组织边缘,并针对原有图像,保留骨组织和非骨组织边缘体素点的CT值,将骨组织内部的体素点的CT值设置为高于等值面阈值,将非骨组织内部体素点的CT值设置为低于等值面阈值,再利用MC算法建立三角面片模型。该模型表面光滑,骨组织内部无孔洞,见图7。
2.2 算法计算效率 该算法用C++程序设计语言进行开发,并在开发中使用了Visualization Toolkit(VTK)和Insight Segmentation and Registration Toolkit(ITK)开源库。算法在联想Thinkpad笔记本(T430,Intel
® Core
TM CPU,1.80 GHz,8.0 GB)上进行测试,测试数据为
1例正常人的髋关节CT序列图像(512×512象素,250张切片,层间距1 mm),计算时间约为6 s。
表1中展示了算法各个过程所需要的运行时间:
2.3 算法准确度 利用28例髋关节序列CT断层扫描图像进行准确性测试,将算法分割结果与专家人工分割结果进行比较,用目标重合度
O对结果进行评价
[3],目标重合度定义如公式(10)所示:
其中,
NumGnR代表算法分割结果与专家人工分割结果重合体素的数目,
NumG代表专家人工分割体素的数目。
在算法准确度测试中,如果准确度大于90%则认为结果为优,准确度在70%-90%则认为结果为良,准确度低于70%则认为结果为差。
表2展示了28例分割结果的最高目标重合度,最低目标重合度和平均目标重合度。
表3展示了算法各个阶段的分割结果和平均目标重合度。
通过目标重合度分析发现,本算法精确度高,能够较好的对髋关节股骨近端进行分割。