一种导航式髋臼磨削的可视化方法、设备及存储介质与流程
未命名
08-29
阅读:72
评论:0

1.本发明涉及医疗技术领域,尤其涉及一种导航式髋臼磨削的可视化方法、设备及存储介质。
背景技术:
2.髋臼磨削是导航式髋臼置换手术的重要步骤,具体包括如下步骤:
3.第一步,如图1所示,在术前规划时,在图像空间中(图像坐标系f
image
下),移动臼杯模型,将其置于患者髋臼模型的合理位置,臼杯模型与髋臼模型重叠的区域(划线阴影区域)即为术中需要被磨削去除的部分。
4.第二步,如图2所示,在手术过程中,磨削器械与患者髋臼(盆骨)上分别刚性固连一光学追踪阵列,定位相机可以实时回传定位相机坐标系f
camera
至磨削器械追踪阵列坐标系f
toolrf
的转换矩阵t
cameratotoolrf
,以及f
camera
至髋臼追踪阵列坐标系f
bonerf
的转换矩阵t
cameratobonerf
。经过图像配准操作,上述两个矩阵可以被用作图像导航定位,最终的效果是:真实世界中患者髋臼与磨削器械相对位置关系符合图像空间中髋臼模型与磨削器械模型的相对位置关系。移动真实患者髋臼或真实磨削器械,图像中的髋臼模型与磨削器械模型也会发生相应移动。
5.第三步,以图像作为引导,移动磨削器械至待磨削区域。
6.第四步,使用磨削器械进行磨削,随着真实髋臼被逐渐打磨去除,图像空间中的髋臼模型也需要发生相应形变,直至待磨削部分(图1中划线阴影区域)被全部去除。在磨削过程中,若磨削超过了规划磨削区域,髋臼模型被过度磨削的表面需要显示不同的颜色以警示操作人员。
7.现有技术存在的缺点是:
8.上述过程的可视化涉及磨削器械模型与髋臼模型间的实时切割运算,现有技术的可视化对象为表面网格数据,在每一次更新显示时,需要进行若干次图像体绘数据与表面网格数据间的转换,并对表面网格数据进行着色判断(是否过度磨削),运算所需时间较长,容易造成画面卡顿,影响导航操作。
技术实现要素:
9.本发明提出一种导航式髋臼磨削的可视化方法、设备及存储介质,解决了现有技术中在每一次更新显示时,需要进行若干次图像体绘数据与表面网格数据间的转换,并对表面网格数据进行着色判断,运算所需时间较长,容易造成画面卡顿,影响导航操作等问题。
10.本发明的技术方案是这样实现的:
11.根据本发明的一个方面,提供了一种导航式髋臼磨削的可视化方法,包括以下步骤:
12.s1,将臼杯模型移动至髋臼模型的预定位置;
13.s2,根据臼杯模型与髋臼模型的重叠区域在髋臼模型上规划出磨削区域,根据规划的磨削区域生成髋臼模型的体绘数据;
14.s3,根据体绘数据对髋臼模型进行着色;
15.s4,导航磨削过程中,随着磨削器械的移动,髋臼模型上的相应部分被除去,髋臼模型表面露出的磨削区域显示对应的颜色展示给操作者。
16.本发明根据臼杯模型与髋臼模型的重叠区域在髋臼模型上规划出磨削区域,根据规划的磨削区域生成髋臼模型的体绘数据,并根据体绘数据对髋臼模型进行着色,只需要在臼杯模型移动至髋臼模型的预定位置后,进行一次从表面网格数据至体绘数据的转化,并对髋臼模型的各个区域进行深层着色,可实现在磨削过程中无需再生成表面网格数据用于可视化,磨削可视化仅依靠对体绘数据的更新实现,从而提高了计算速度,提升了可视化显示画面的流畅度。
17.具体的,步骤s1具体包括以下步骤:
18.s101,生成臼杯半球壳模型:
19.在图像坐标系中导入臼杯模型,在臼杯模型与髋臼模型接触的一侧生成一个半球壳模型;
20.s102,移动臼杯模型:
21.通过平移、旋转的方式将臼杯模型移动至髋臼模型的预定位置,获取在图像坐标系下,臼杯模型从初始位置移动至预定位置所经历的刚体变换矩阵;
22.s103,移动半球壳模型;
23.将所述刚体变换矩阵应用于半球壳模型,使其移动至臼杯模型的预定位置。
24.半球壳模型与臼杯模型之间的空隙即为规划出的磨削区域,半球壳模型不用作可视化,故实际操作中,该半球壳模型不会被显示。
25.具体的,步骤s2具体包括以下步骤:
26.s201,构建髋臼模型的最小包围盒,并对包围盒进行三维网格划分,得到若干个小立方体,每个小立方体均为一个体素;
27.s202,对于包围盒中的每一个体素,若体素位于髋臼模型外部,则将该体素的值设为a;若体素位于髋臼模型内部,则将该体素的值设为b;
28.s203,对于髋臼模型内部的每一个体素,若体素位于髋臼模型上规划的磨削区域内,则将该体素的值修改为c;
29.s204,对于髋臼模型内部的每一个体素,若体素的位置超出髋臼模型上规划的磨削区域,且超出的厚度在允许误差范围内,则将该体素的值修改为d。
30.进一步的,步骤s201中,构建髋臼模型的最小包围盒的方法为:
31.遍历髋臼模型表面各个顶点的坐标值,记录这些坐标值中x轴、y轴、z轴方向上的坐标最大值和坐标最小值分别为:x_max、x_min、y_max、y_min、z_max、z_min;由点(x_max,y_max,z_max)、(x_min,y_max,z_max)、(x_max,y_min,z_max)、(x_max,y_max,z_min)、(x_min,y_min,z_max)、(x_min,y_max,z_min)、(x_max,y_min,z_min)、(x_min,y_min,z_min)八个顶点构成的空间封闭图形即为髋臼模型的最小包围盒。
32.进一步的,步骤s204中,记磨削允许的最大偏离厚度为d’,则允许最大偏离厚度对应的体素个数为n=ceil(d’/l),其中,ceil表示向上取整数;l为体素的尺寸,即小立方体
的边长;
33.遍历包围盒中的体素,若某体素的值为b,且该体素的相邻体素中存在值为c或a的体素(若相邻体素的值为c,则表明当前体素与规划的磨削区域边缘相邻,若相邻体素的值为a,则表明当前体素与髋臼模型外部边缘相邻,即当前体素在髋臼模型的表面蒙皮上),则将该体素的值修改为d;遍历完成后,更新n值为n=n-1;
34.执行以下步骤增加体素值为d的模型区域厚度至最大偏离厚度d’:
35.step1,判断n》0是否成立,若是,则执行步骤step2,否则结束进程;
36.step2,遍历包围盒中的体素,若某体素的值为b,且该体素的相邻体素中存在值为d的体素,则将该体素的值设为e;
37.step3,遍历包围盒中的体素,若某体素的值为e,则将该体素的值设为d;
38.step4,更新n值为n=n-1,返回步骤step1。
39.设置体素值为e的目的是为了防止步骤step2陷入循环,直至将髋臼模型内部所有b值的体素都变为d值。
40.具体的,步骤s3中,根据体绘数据对髋臼模型进行着色的方法为:
41.将包围盒中体素的值为a的部分渲染为全透明,将包围盒中体素为b的部分渲染为第一颜色,将包围盒中体素为c的部分渲染为第二颜色,将包围盒中体素为d的部分渲染为第三颜色。
42.具体的,步骤s4中,随着磨削器械的移动,髋臼模型表面露出的磨削区域依次显示:
43.第二颜色,表示当前磨削区域处于规划的磨削区域范围内;
44.第三颜色,表示当前磨削区域超出规划的磨削区域范围,且超出的厚度在允许误差范围内;
45.第一颜色,表示当前磨削区域超出规划的磨削区域范围,且超出的厚度大于允许误差范围的最大值。
46.根据本发明的另一个方面,提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述可视化方法的步骤。
47.根据本发明的又一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述可视化方法的步骤。
48.有益效果
49.与现有技术相比较,本发明的有益效果在于:
50.(1)本发明根据臼杯模型与髋臼模型的重叠区域在髋臼模型上规划出磨削区域,根据规划的磨削区域生成髋臼模型的体绘数据,并根据体绘数据对髋臼模型进行着色,只需要在臼杯模型移动至髋臼模型的预定位置后,进行一次从表面网格数据至体绘数据的转化,并对髋臼模型的各个区域进行深层着色,可实现在磨削过程中无需再生成表面网格数据用于可视化,磨削可视化仅依靠对体绘数据的更新实现,从而提高了计算速度;
51.(2)本发明由于用体绘显示作为可视化,髋臼模型的深层着色在体绘数据最初生成时就已经完成,无需在磨削过程中再实时计算不同表面的颜色,降低了磨削更新的计算量,进一步提高了计算速度,提高了可视化显示画面的流畅度。
附图说明
52.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
53.图1为现有技术中导航式髋臼置换手术术前规划示意图;
54.图2为现有技术中导航式髋臼置换手术的术中磨削操作示意图;
55.图3为本发明一种导航式髋臼磨削的可视化方法的流程示意图;
56.图4为本发明实施例中臼杯模型与髋臼模型配合的状态示意图;
57.图5为本发明实施例中臼杯半球壳模型与臼杯模型的结构示意图;
58.图6为本发明实施例中三维影像image的效果图;
59.图7为本发明实施例中体素值为0、2000的image截面效果图;
60.图8为本发明实施例中体素值为0、1000、2000的image截面效果图;
61.图9为本发明实施例中体素值为0、1000、2000、3000的image截面效果图;
62.图10为本发明实施例中着色后的髋臼模型的整体效果图;
63.图11为本发明实施例中着色后的髋臼模型内部层次效果图。
具体实施方式
64.下面将结合本发明实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
65.参照图3所示,本实施例提供了一种导航式髋臼磨削的可视化方法,包括以下步骤:
66.s1,将臼杯模型移动至髋臼模型的预定位置,臼杯模型与髋臼模型结合后的状态图如图4所示;
67.s2,根据臼杯模型与髋臼模型的重叠区域在髋臼模型上规划出磨削区域,根据规划的磨削区域生成髋臼模型的体绘数据;
68.s3,根据体绘数据对髋臼模型进行着色;
69.s4,导航磨削过程中,随着磨削器械的移动,髋臼模型上的相应部分被除去,髋臼模型表面露出的磨削区域显示对应的颜色展示给操作者。
70.本实施例根据臼杯模型与髋臼模型的重叠区域在髋臼模型上规划出磨削区域,根据规划的磨削区域生成髋臼模型的体绘数据,并根据体绘数据对髋臼模型进行着色,只需要在臼杯模型移动至髋臼模型的预定位置后,进行一次从表面网格数据至体绘数据的转化,并对髋臼模型的各个区域进行深层着色,可实现在磨削过程中无需再生成表面网格数据用于可视化,磨削可视化仅依靠对体绘数据的更新实现,从而提高了计算速度,提升了可视化显示画面的流畅度。
71.具体实施过程中,步骤s1具体包括以下步骤:
72.s101,生成臼杯半球壳模型:
73.在图像坐标系中导入臼杯模型,在臼杯模型与髋臼模型接触的一侧生成一个半球壳模型,记为implant_bound,其底面与臼杯模型的底面切齐,如图5所示;半球壳模型与臼杯模型之间的空隙即为规划出的磨削区域,半球壳模型不用作可视化,故实际操作中,该半球壳模型不会被显示;
74.s102,移动臼杯模型:
75.通过平移、旋转的方式将臼杯模型移动至髋臼模型的预定位置,获取在图像坐标系下,臼杯模型从初始位置移动至预定位置所经历的刚体变换矩阵t;
76.s103,移动半球壳模型;
77.将所述刚体变换矩阵t应用于半球壳模型implant_bound,使其移动至臼杯模型的预定位置。
78.具体实施过程中,步骤s2具体包括以下步骤:
79.s201,构建髋臼模型的最小包围盒,并对包围盒进行三维网格划分,得到若干个小立方体,每个小立方体均为一个体素;
80.s202,对于包围盒中的每一个体素,若体素位于髋臼模型外部,则将该体素的值设为a;若体素位于髋臼模型内部,则将该体素的值设为b;本实施例中,a为0,b为2000,具体数值可灵活选取;
81.s203,对于髋臼模型内部的每一个体素,若体素位于髋臼模型上规划的磨削区域内,则将该体素的值修改为c;本实施例中,c为1000,具体数值可灵活选取;
82.s204,对于髋臼模型内部的每一个体素,若体素的位置超出髋臼模型上规划的磨削区域,且超出的厚度在允许误差范围内,则将该体素的值修改为d;本实施例中,d为3000,具体数值可灵活选取。
83.进一步的,步骤s201中,构建髋臼模型的最小包围盒的方法为:
84.记髋臼表面模型为bone,遍历bone表面各个顶点的坐标值,记录这些坐标值中x轴、y轴、z轴方向上的坐标最大值和坐标最小值分别为:x_max、x_min、y_max、y_min、z_max、z_min;由点(x_max,y_max,z_max)、(x_min,y_max,z_max)、(x_max,y_min,z_max)、(x_max,y_max,z_min)、(x_min,y_min,z_max)、(x_min,y_max,z_min)、(x_max,y_min,z_min)、(x_min,y_min,z_min)八个顶点构成的空间封闭图形即为髋臼模型的最小包围盒;
85.利用上述包围盒生成一个空白三维影像,记为image,如图6所示;
86.记image的体素尺寸为l,体素为边长为l的小立方体,l为使用者事先确定的值;
87.计算计算image在三个坐标轴方向上的维度(所含体素个数)为:
88.x轴维度:ceil[(x_max
–
x_min)/l]
[0089]
y轴维度:ceil[(y_max
–
y_min)/l]
[0090]
z轴维度:ceil[(z_max
–
z_min)/l]
[0091]
ceil表示向上取整;
[0092]
计算image的原点坐标:
[0093]
x轴坐标:x_min+l/2
[0094]
y轴坐标:y_min+l/2
[0095]
z轴坐标:z_min+l/2
[0096]
使用上述信息初始化image。
[0097]
进一步的,步骤s202中,具体实施步骤如下:
[0098]
使用bone初始化一个vtk模板工具vtkpolydatatoimagestencil,命名为bonestencil;
[0099]
使用vtkimagestencil过滤器,将image作为过滤器的输入,bonestencil作为过滤器使用的模板工具,用reversestenciloff()方法设置过滤器模式为正向模板提取,用setbackgroundvalue()方法设置背景体素值为0;
[0100]
将过滤器的输出赋值给image,image的某个截面如图7所示。
[0101]
进一步的,步骤s203中,具体实施步骤如下:
[0102]
使用implant_bound初始化一个vtk模板工具vtkpolydatatoimagestencil,命名为implantstencil;
[0103]
使用vtkimagestencil过滤器,将image作为过滤器的输入,implantstencil作为过滤器使用的模板工具,用reversestenciloff()方法设置过滤器模式为逆向模板提取,用setbackgroundvalue()方法设置背景体素值为1000;
[0104]
过滤器的输出记为implantimage,implantimage与image的体素分布相同,但是体素的值不同,image本身并不会被过滤器改变;
[0105]
遍历image与implantimage的对应体素(相同位置的体素),若某一位置image的体素值为2000且implantimage的体素值为1000,将image的该体素值设置为1000。遍历完成后image的某个截面如图8所示。
[0106]
进一步的,步骤s204中,记磨削允许的最大偏离厚度为d’,则允许最大偏离厚度对应的体素个数为n=ceil(d’/l),其中,ceil表示向上取整数;l为体素的尺寸,即小立方体的边长;
[0107]
遍历包围盒中的体素,若某体素的值为2000,且该体素的相邻体素中存在值为1000或0的体素(若相邻体素的值为1000,则表明当前体素与规划的磨削区域边缘相邻,若相邻体素的值为0,则表明当前体素与髋臼模型外部边缘相邻,即当前体素在髋臼模型的表面蒙皮上),则将该体素的值修改为3000;遍历完成后,更新n值为n=n-1;
[0108]
执行以下步骤增加体素值为3000的模型区域厚度至最大偏离厚度d’:
[0109]
step1,判断n》0是否成立,若是,则执行步骤step2,否则结束进程;
[0110]
step2,遍历包围盒中的体素,若某体素的值为2000,且该体素的相邻体素中存在值为3000的体素,则将该体素的值设为2500;
[0111]
step3,遍历包围盒中的体素,若某体素的值为2500,则将该体素的值设为3000;
[0112]
step4,更新n值为n=n-1,返回步骤step1;
[0113]
遍历完成后image的某个截面如图9所示,其中,体素值为1000的区域与体素值为2000的区域之间的区域为体素值为3000的区域,该区域内即为允许的磨削误差范围;体素值为2000的区域与体素值为0的区域之间的区域为体素值为3000的区域,该区域表示髋臼模型的表面蒙皮允许的磨削误差范围。
[0114]
设置体素值为2500的目的是为了防止步骤step2陷入循环,直至将髋臼模型内部所有值为2000的体素的值都变为3000,便于逐层替换最大偏离厚度d’内的体素值。
[0115]
具体实施过程中,步骤s3中,根据体绘数据对髋臼模型进行着色的方法为:
[0116]
将包围盒中体素的值为0的部分渲染为全透明,将包围盒中体素为2000的部分渲
染为第一颜色(本实施例中为红色),将包围盒中体素为1000的部分渲染为第二颜色(本实施例中为绿色),将包围盒中体素为3000的部分渲染为第三颜色(本实施例中为白色)。
[0117]
具体实施过程中,步骤s3包括如下步骤:
[0118]
1)设定颜色传递函数(color transfer function)
[0119]
现需要将image中体素值为1000的部分渲染为绿色,体素值为2000的部分渲染为红色,体素值为3000的部分渲染为白色:
[0120]
初始化一个vtkcolortransferfunction命名为colorfunction;
[0121]
在体素值0处,将颜色设为白色:
[0122]
colorfunction-》addrgbpoint(0,1,1,1)
[0123]
在体素值950处,将颜色设为白色:
[0124]
colorfunction-》addrgbpoint(950,1,1,1)
[0125]
在体素值960处,将颜色设为绿色:
[0126]
colorfunction-》addrgbpoint(960,0,1,0)
[0127]
在体素值1020处,将颜色设为绿色:
[0128]
colorfunction-》addrgbpoint(1020,0,1,0)
[0129]
在体素值1030处,将颜色设为红色:
[0130]
colorfunction-》addrgbpoint(1050,1,0,0)
[0131]
在体素值2000处,将颜色设为红色:
[0132]
colorfunction-》addrgbpoint(2000,1,0,0)
[0133]
在体素值2010处,将颜色设为白色:
[0134]
colorfunction-》addrgbpoint(2010,1,1,1)
[0135]
在体素值3000处,将颜色设为白色:
[0136]
colorfunction-》addrgbpoint(3000,1,1,1)
[0137]
将该颜色传递函数用于image的渲染。
[0138]
2)设定透明度传递函数(opacity transfer function)
[0139]
现需要将image中体素值为零部分调为全透明,体素值非零部分调为不透明:
[0140]
初始化一个vtkpiecewisefunction命名为opacityfunction
[0141]
在体素值0处,将不透明度设为0:opacityfunction-》addpoint(0,0)
[0142]
在体素值960处,将不透明度设为0:opacityfunction-》addpoint(960,0)
[0143]
在体素值1000处,将不透明度设为1:opacityfunction-》addpoint(1000,1)
[0144]
在体素值1020处,将不透明度设为0:opacityfunction-》addpoint(1020,0)
[0145]
在体素值1980处,将不透明度设为0:opacityfunction-》addpoint(1980,0)
[0146]
在体素值2000处,将不透明度设为1:opacityfunction-》addpoint(2000,1)
[0147]
在体素值3000处,将不透明度设为1:opacityfunction-》addpoint(3000,1)
[0148]
将该透明度传递函数用于image的渲染,着色后的髋臼模型的整体效果图如图10所示。
[0149]
具体实施过程中,步骤s4中,随着磨削器械的移动,髋臼模型表面露出的磨削区域依次显示:
[0150]
绿色,表示当前磨削区域处于规划的磨削区域范围内;
[0151]
白色,表示当前磨削区域超出规划的磨削区域范围,且超出的厚度在允许误差范围内;
[0152]
红色,表示当前磨削区域超出规划的磨削区域范围,且超出的厚度大于允许误差范围的最大值。
[0153]
具体实施过程中,记磨削头表面模型为reamer,reamer为一事先准备好的与真实磨削头尺寸相同的半球壳表面。在导航式打磨过程中,image在图像中保持静止,reamer随着真实世界的磨削头移动而在图像中移动,reamer与image的相对位置关系符合真实世界磨削头与患者髋臼的相对位置关系。
[0154]
每当reamer的位置发生改变,进行如下步骤更新image,使得image中落于reamer内部的体素值被设为0:
[0155]
使用reamer初始化一个vtk模板工具vtkpolydatatoimagestencil,命名为reamerstencil;
[0156]
使用vtkimagestencil过滤器,将image作为过滤器的输入,reamerstencil作为过滤器使用的模板工具,用reversestencilon()方法设置过滤器模式为逆向模板提取,用setbackgroundvalue()方法设置背景体素值为0;
[0157]
将过滤器的输出赋值给image。
[0158]
因为体素值为0的体素完全透明,呈现的效果是image与reamer重叠的部分不再显示,且随着磨削不断深入进行,image的绿色、白色、红色部分逐层暴露,如图11所示,以此模拟磨削过程。
[0159]
另一个方面,本实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述可视化方法的步骤。
[0160]
又一方面,本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述可视化方法的步骤。
[0161]
实现图3所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0162]
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0163]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如―c”语言或类似的程序设计语言。程序代码可以完全地在用户
计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0164]
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0165]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种导航式髋臼磨削的可视化方法,其特征在于,包括以下步骤:s1,将臼杯模型移动至髋臼模型的预定位置;s2,根据臼杯模型与髋臼模型的重叠区域在髋臼模型上规划出磨削区域,根据规划的磨削区域生成髋臼模型的体绘数据;s3,根据体绘数据对髋臼模型进行着色;s4,导航磨削过程中,随着磨削器械的移动,髋臼模型上的相应部分被除去,髋臼模型表面露出的磨削区域显示对应的颜色展示给操作者。2.如权利要求1所述的一种导航式髋臼磨削的可视化方法,其特征在于,步骤s1具体包括以下步骤:s101,生成臼杯半球壳模型:在图像坐标系中导入臼杯模型,在臼杯模型与髋臼模型接触的一侧生成一个半球壳模型;s102,移动臼杯模型:通过平移、旋转的方式将臼杯模型移动至髋臼模型的预定位置,获取在图像坐标系下,臼杯模型从初始位置移动至预定位置所经历的刚体变换矩阵;s103,移动半球壳模型;将所述刚体变换矩阵应用于半球壳模型,使其移动至臼杯模型的预定位置。3.如权利要求1所述的一种导航式髋臼磨削的可视化方法,其特征在于,步骤s2具体包括以下步骤:s201,构建髋臼模型的最小包围盒,并对包围盒进行三维网格划分,得到若干个小立方体,每个小立方体均为一个体素;s202,对于包围盒中的每一个体素,若体素位于髋臼模型外部,则将该体素的值设为a;若体素位于髋臼模型内部,则将该体素的值设为b;s203,对于髋臼模型内部的每一个体素,若体素位于髋臼模型上规划的磨削区域内,则将该体素的值修改为c;s204,对于髋臼模型内部的每一个体素,若体素的位置超出髋臼模型上规划的磨削区域,且超出的厚度在允许误差范围内,则将该体素的值修改为d。4.如权利要求3所述的一种导航式髋臼磨削的可视化方法,其特征在于,步骤s201中,构建髋臼模型的最小包围盒的方法为:遍历髋臼模型表面各个顶点的坐标值,记录这些坐标值中x轴、y轴、z轴方向上的坐标最大值和坐标最小值分别为:x_max、x_min、y_max、y_min、z_max、z_min;由点(x_max,y_max,z_max)、(x_min,y_max,z_max)、(x_max,y_min,z_max)、(x_max,y_max,z_min)、(x_min,y_min,z_max)、(x_min,y_max,z_min)、(x_max,y_min,z_min)、(x_min,y_min,z_min)八个顶点构成的空间封闭图形即为髋臼模型的最小包围盒。5.如权利要求3所述的一种导航式髋臼磨削的可视化方法,其特征在于,步骤s204中,记磨削允许的最大偏离厚度为d’,则允许最大偏离厚度对应的体素个数为n=ceil(d’/l),其中,ceil表示向上取整数;l为体素的尺寸,即小立方体的边长;遍历包围盒中的体素,若某体素的值为b,且该体素的相邻体素中存在值为c或a的体素,则将该体素的值修改为d;遍历完成后,更新n值为n=n-1;
执行以下步骤增加体素值为d的模型区域厚度至最大偏离厚度d’:step1,判断n>0是否成立,若是,则执行步骤step2,否则结束进程;step2,遍历包围盒中的体素,若某体素的值为b,且该体素的相邻体素中存在值为d的体素,则将该体素的值设为e;step3,遍历包围盒中的体素,若某体素的值为e,则将该体素的值设为d;step4,更新n值为n=n-1,返回步骤step1。6.如权利要求3所述的一种导航式髋臼磨削的可视化方法,其特征在于,步骤s3中,根据体绘数据对髋臼模型进行着色的方法为:将包围盒中体素的值为a的部分渲染为全透明,将包围盒中体素为b的部分渲染为第一颜色,将包围盒中体素为c的部分渲染为第二颜色,将包围盒中体素为d的部分渲染为第三颜色。7.如权利要求1所述的一种导航式髋臼磨削的可视化方法,其特征在于,步骤s4中,随着磨削器械的移动,髋臼模型表面露出的磨削区域依次显示:第二颜色,表示当前磨削区域处于规划的磨削区域范围内;第三颜色,表示当前磨削区域超出规划的磨削区域范围,且超出的厚度在允许误差范围内;第一颜色,表示当前磨削区域超出规划的磨削区域范围,且超出的厚度大于允许误差范围的最大值。8.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
技术总结
本发明提出了一种导航式髋臼磨削的可视化方法,包括以下步骤:S1,将臼杯模型移动至髋臼模型的预定位置;S2,根据臼杯模型与髋臼模型的重叠区域在髋臼模型上规划出磨削区域,根据规划的磨削区域生成髋臼模型的体绘数据;S3,根据体绘数据对髋臼模型进行着色;S4,导航磨削过程中,随着磨削器械的移动,髋臼模型上的相应部分被除去,露出的磨削区域显示出对应的颜色。本发明根据规划的磨削区域生成髋臼模型的体绘数据,并根据体绘数据对髋臼模型进行着色,只需要进行一次从表面网格数据至体绘数据的转化,并对髋臼模型的各个区域进行深层着色,磨削可视化仅依靠对体绘数据的更新实现,从而提高了计算速度,提升了可视化显示画面的流畅度。流畅度。流畅度。
技术研发人员:周再望 黄志俊 刘金勇 钱坤
受保护的技术使用者:杭州柳叶刀机器人有限公司
技术研发日:2023.06.07
技术公布日:2023/8/28
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:网络性能巡检方法、装置及存储介质与流程 下一篇:工器具切换装置及方法与流程