【技术领域】
本发明涉及计算机科学领域,特别是涉及一种测量三维模型距离的方法、装置及存储介质。
【技术背景】
传统的医学影像诊断设备只是简单地对人体某些断层进行扫描以获得对应的影像数据,然后由影像设备输出到胶片或显示屏幕供医务人员进行观察。但无论是通过胶片观察还是输出到屏幕显示,医务人员能够依赖并进行诊断的依据依然是二维影像,而且在观察时只能以固定方式进行,这样所得到的诊断结果必然带有医生的主观判断,因此诊断结果的准确与否与医生的临床经验有很大的关系。这种方式已无法适应现代医院中对如此大量和大范围医学图像处理的管理要求。三维医学模型可以将医疗影像数据的真实感官效果展示给诊断人员,使其准确地确定病灶的空间位置、大小、几何形状及其与周围组织的空间关系,可以对病人的影像数据进行多方位、多层次的观察,减少主观判断和临床经验不足对诊断结果造成的影响。通过对模型测量还可以辅助医生对病人已经病变的组织进行定性或者准确的定量分析,从而使医疗影像设备输出数据的利用价值得到最大程度的发挥,提高诊断的准确性。
伴随电子技术及移动互联网的快速发展,人们生活及工作已经离不开手机或平板电脑等便携移动电子设备了,然而由于医学影像数据量大、数据复杂且保真要求高,加上手机等移动电子设备显示屏幕小、操作不便等原因,导致三维医学模型在手机等设备上查看、标识、测量等存在诸多不便,限制了其普及与应用。
技术实现要素:
有鉴于此,本发明提供一种测量三维模型距离的方法、装置及存储介质所要解决的问题是:方便用户在手机或平板电脑等便携移动设备上简单便捷地查看及测量医学影像数据与三维模型,实现移动诊断与会诊。
根据本公开的一些实施例,提供的一种测量三维模型距离的方法,包括以下步骤:启动距离测量功能,准备测量;开始测量,在三维模型上单击,生成第一点,即第一起点;在三维模型上单击另一点,设置为第二点,第一点与第二点之间自动连接成第一直线段;在三维模型上单击又一点,设置为第三点,第二点与第三点之间自动连接成第二直线段,此类推设置更多的点;显示总距离值;完成距离测量。
在一些实施例中,所述三维模型是指医学影像三维模型。
在一些实施例中,所述点可采用球形点或三维立体光标来表示。
在一些实施例中,在完成一次距离测量后,激活多测功能,重复测量操作流程,可完成多个距离测量及展示多个距离值。
在一些实施例中,设置第二点后,则在第一点处/或最后一点处显示线段的总距离值,进一步的,所述显示距离值的方式为在第一点/或最后一点处引出直线段,直线段的一端连接第一点/或最后一点处,另一端显示距离数值,该距离数值不随模型缩放而及模型旋转而改变字号与显示方式。
在一些实施例中,设置完最后一点后,激活闭合/开放功能,可将第一点与最后一点设置成闭合线段/开放线段。
在一些实施例中,激活直距/曲距功能,可将直线段与曲线段进行相互转换,且显示的距离则对应为直线段距离与曲线段距离。
在一些实施例中,转换成曲线段后,曲线段间自动调整为连续曲率,采用测地线距离算法或bezier曲线拟合算法来计算曲线距离,所述曲线段是所设置一点沿着三维模型表面到另一点之间最短的曲线。
在一些实施例中,激活回退功能,可将设置的点按时间倒序进行删除,最后设置的点最先被删除,同时与该点相连的线段也被删除。
在一些实施例中,激活清空功能,可将设置的所有点删除,同时线段也被删除。
在一些实施例中,激活退出距离测量功能,点、线及显示的距离值仍然保留。
根据本公开的另一些实施例,一种测量三维模型距离的装置包括启动模块、点线模块、显示模块、回退模块、清空模块、开合模块、曲直模块、多测模块、计算模块及退出模块,其中:
启动模块,用于激活三维模型测量距离的功能,启动后,在模型上点击可设置点;
点线模块,用于设置点及生成线段;
显示模块,用于显示距离值;
回退模块,用于删除已设置的点;
清空模块,用于一次性删除全部已设置的点及相应的线段;
开合模块,用于设置线段的开放/合闭状态;
曲直模块,用于实现直线段与曲线段之间转换,并对应展示直线距离/曲线距离;
多测模块,用于完成多个距离测量及展示多个距离值;
计算模块,用于计算点与点之间的距离;
退出模块,用于退出测量状态,关闭全部模块。
在另一些实施例中,启动测量后,屏幕视图区域顶端/或底端悬浮工具栏,工具栏上有“回退、清空、开放/闭合、直距/曲距、多测、关闭”按钮,分别对应回退模块、清空模块、开合模块、曲直模块、多测模块及退出模块。
所述三维模型测量距离的装置的工作流程如下:激活启动模块,出现工具栏,同时激活点线模块,在模型上的目标位置点击,设置第一点,在模型上的其它目标位置继续点击,设置更多的目标点,当完成第二点设置后,点线模块生成第一点与第二点间的第一线段,并激活计算模块,计算出第一线段的距离,同时激活显示模块,显示第一线段距离值,完成第三点设置后,点线模块生成第二点与第三点间的第二线段,同时显示第一线段与第二线段之和的距离值,以此类推,完成距离测量。完成测量后激活退出模块,关闭工具栏,点线及显示的距离值仍然保留,供后续观察。如需要删除点线,则激活清空模块删除全部点线及显示的距离值。在操作过程中激活回退模块,可依次按从后往前的顺序删除点,同时删除与该点相连的线段。激活多测模块,则重新开始测量距离,并同时显示距离值。激活闭合模块,切换线段的开放或闭合状态。激活直曲模块,实现直线段与曲线段间的切除及对应距离的显示。
根据本公开的另一些实施例,提供的快速测量三维模型距离的装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器设备中的指令,执行如前述任一项任一个实施例的测量三维模型距离的方法。
根据本公开的又一些实施例,提供的快速测量三维模型距离计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前述任一项任一个实施例的测量三维模型距离的方法的步骤。
本公开发明的有益效果有以下两点:一、操作方法简单明了,易于快速上手操作;二、多种模式自由切换,有丰富的应用场景。
【附图说明】
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开的一些实施例的测量三维模型距离的方法的流程示意图。
图2示出本公开的一些实施例的测量三维模型距离的装置的结构示意图。
图3示出本公开的另一些实施例的测量三维模型距离的装置的结构示意图。
图4示出本公开的又一些实施例的测量三维模型距离的装置的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开提供的一种测量三维模型距离的方法,将结合图1进行描述。
如图1所示的一些实施例的测量三维模型距离的方法的流程示意图。包括步骤s101~s106:
s101:启动距离测量功能,准备测量。
s102:开始测量,在三维模型上单击,生成第一点,即第一起点;
所述点采用三维立体光标来表示。
s103:在三维模型上单击另一点,设置为第二点,第一点与第二点之间自动连接成第一直线段;
设置第二点后,则在第一点处显示线段的总距离值,进一步的,所述显示距离值的方式为在第一点处引出直线段,直线段的一端连接第一点处,另一端显示距离数值,该距离数值不随模型缩放而及模型旋转而改变字号与显示方式。
s104:在三维模型上单击又一点,设置为第三点,第二点与第三点之间自动连接成第二直线段,此类推设置更多的点。
s105:显示总距离值。
s106:完成距离测量。
在一些实施例中,激活回退功能,可将设置的点按时间倒序进行删除,最后设置的点最先被删除,同时与该点相连的线段也被删除。
在一些实施例中,激活清空功能,可将设置的所有点删除,同时线段也被删除。
在一些实施例中,设置完最后一点后,激活闭合功能,将第一点与最后一点设置成闭合线段。
在一些实施例中,激活曲距功能,将直线段转换为曲线段,且显示的距离对应为曲线段距离。
在一些实施例中,转换成曲线段后,曲线段间自动调整为连续曲率,采用测地线距离算法来计算曲线距离,所述曲线段是所设置一点沿着三维模型表面到另一点之间最短的曲线。
在一些实施例中,转换成曲线段后,曲线段间自动调整为连续曲率,采用bezier曲线拟合算法来计算曲线距离,所述曲线段是所设置一点沿着三维模型表面到另一点之间最短的曲线。
在一些实施例中,在完成一次距离测量后,激活一次多测功能,重复测量操作流程,完成第二次距离测量并展示两个距离值。
在一些实施例中,再激活一次多测功能,重复测量操作流程,完成第三次距离测量并展示三个距离值。
在一些实施例中,激活退出距离测量功能,点、线及显示的距离值仍然保留,待观察完毕,再次激活启动测量功能,并激活清空功能,清除点线。
本公开还提供的一种测量三维模型距离的装置,结合图2进行描述。
图2为本公开测量三维模型距离的装置的一些实施例的结构图,如图2所示,该实施例的快速测量三维模型距离的装置20包括:启动模块201、点线模块202、回退模块203、清空模块204、开合模块205、曲直模块206、多测模块207、计算模块208、显示模块209及退出模块210,其中:
启动模块201,用于激活三维模型测量距离的功能,启动后,在模型上点击可设置点;
点线模块202,用于设置点及生成线段;
回退模块203,用于删除已设置的点;
清空模块204,用于一次性删除全部已设置的点及相应的线段;
开合模块205,用于设置线段的开放/合闭状态;
曲直模块206,用于实现直线段与曲线段之间转换,并对应展示直线距离/曲线距离;
多测模块207,用于完成多个距离测量及展示多个距离值;
计算模块208,用于计算点与点之间的距离;
显示模块209,用于显示距离值;
退出模块210,用于退出测量状态,关闭全部模块。
在另一些实施例中,启动测量后,屏幕视图区域顶端/或底端悬浮工具栏,工具栏上有“回退、清空、开放/闭合、直距/曲距、多测、关闭”按钮,分别对应回退模块、清空模块、开合模块、曲直模块、多测模块及退出模块。
所述三维模型测量距离的装置的工作流程如下:激活启动模块201,出现工具栏,同时激活点线模块202,在模型上的目标位置点击,设置第一点,在模型上的其它目标位置继续点击,设置更多的目标点,当完成第二点设置后,点线模块生成第一点与第二点间的第一线段,并激活计算模块208,计算出第一线段的距离,同时激活显示模块209,显示第一线段距离值,完成第三点设置后,点线模块生成第二点与第三点间的第二线段,同时显示第一线段与第二线段之和的距离值,以此类推,完成距离测量。完成测量后激活退出模块210,关闭工具栏,点线及显示的距离值仍然保留,供后续观察。如需要删除点线,则激活清空模块204删除全部点线及显示的距离值。在操作过程中激活回退模块203,可依次按从后往前的顺序删除点,同时删除与该点相连的线段。激活多测模块207,则重新开始测量距离,并同时显示距离值。激活开合模块205,切换线段的开放或闭合状态。激活直曲模块206,实现直线段与曲线段间的切除及对应距离的显示。
本公开的实施例中的测量三维模型距离的装置可各由各种计算设备或计算机系统来实现,下面结合图3以及图4进行描述。
图3为本公开测量三维模型距离的装置的一些实施例的结构图。如图3所示,该实施例的装置30包括:存储器301以及耦接至该存储器301的处理器302,处理器302被配置为基于存储在存储器301中的指令,执行本公开中任意一些实施例中的测量三维模型距离的方法。
其中,存储器302例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)、数据库以及其他程序等。
图4为本公开测量三维模型距离的装置的另一些实施例的结构图。如图4所示,该实施例的装置40包括:总线401,存储器404以及处理器402,分别与存储器301以及处理器302类似。还可以包括输入输出接口403、存储接口405、网络接口406等。这些接口403,405,406以及存储器404和处理器402之间例如可以通过总线401连接。其中,输入输出接口403为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。存储接口405为sd卡、u盘等外置存储设备提供连接接口。网络接口406为各种联网设备提供连接接口,例如可以连接到数据库服务器或者云端存储服务器等。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一个实施例的测量三维模型距离的方法的步骤。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。