一种三维图像的切割方法及电子设备

文档序号:9335 发布日期:2021-09-17 浏览:25次 英文

一种三维图像的切割方法及电子设备

技术领域

本申请涉及图像处理

技术领域

,尤其涉及一种三维图像的切割方法及电子设备。

背景技术

随着医学成像技术的发展,CT(computer tomography,电子计算机体层摄影)、MR(magnetic resonance,核磁共振)等设备普遍应用于日常临床诊断的过程中。医生通过将CT、MR等设备拍摄的二维图像序列输入至终端设备中,在终端设备重建人体组织器官的三维图像,并对三维图像进行切割,进而通过三维可视化技术进行显示。这样可以直观的展现病灶周围组织器官的分布情况,并可以根据组织器官分布情况制定和模拟手术方案,帮助医生在外科手术中更好的进行治疗,因此如何对构建人体组织器官的三维图像进行切割在基础研究和临床应用等方面发挥极其重要的作用。

现有技术中针对三维图像的切割方法一般包括以下两种方式。方式一、将三维图像的封闭曲线分成若干段直线,进行平面直线的切割。但是该切割方法需要遍历三维图像的整体三维体数据确定切割区域,计算量大,切割效率低。方式二、通过在一张二维图像上绘制切割线,然后将目标器官正投影到二维图像确定切割区域。但是每次绘制切割线后均需要对目标器官进行正投影,切割效率低。针对需要切割多次的复杂组织器官而言,以上两种情况都不满足切割效率的要求,需要一种可以快速切割三维图像的方法。

发明内容

本申请实施例提供一种三维图像的切割方法及电子设备,可以快速的对三维图像进行切割。

第一方面,本申请一实施例提供了一种三维图像的切割方法,所述方法包括:

接收终端设备发送的切割参数,所述切割参数中至少包括切割的目标器官、二维切割区域信息;

基于所述二维切割区域信息确定二维切割区域;

确定所述目标器官的三维面数据中属于所述二维切割区域的第一数据集;

以所述第一数据集表示的边界为划分基准,将所述目标器官的三维体数据划分为第一部分器官区域和第二部分器官区域;其中,所述第一数据集的外表面内包括的三维体数据为所述第一部分器官区域;

从所述第一部分器官区域和所述第二部分器官区域中筛选出较小的器官区域内的三维体数据与所述二维切割区域进行比较,得到所述三维体数据中包含在所述二维切割区域的第二数据集作为目标切割区域;

从所述三维体数据中对所述目标切割区域进行切割处理。

本申请的一实施例中,所述切割参数还包括投影变换矩阵,所述投影变换矩阵用于将所述目标器官的三维数据投影到二维空间进行显示;

所述确定所述目标器官的三维面数据中属于所述二维切割区域的第一数据集,包括:

基于所述投影变换矩阵,将所述三维面数据投影到所述二维空间,得到二维图像;

确定所述二维图像中位于所述二维切割区域的二维图像部分;

确定所述二维图像部分对应的所述三维面数据,得到所述第一数据集。

本申请的一实施例中,所述以所述第一数据集表示的边界为划分基准,将所述目标器官的三维体数据划分为第一部分器官区域和第二部分器官区域,包括:

确定所述目标器官的三维面数据中不属于所述二维切割区域的第三数据集;

分别确定所述第一数据集对应的第一三维空间范围和所述第三数据集对应的第二三维空间范围;

将所述三维体数据内包含在所述第一三维空间范围内的数据点作为所述第一部分器官区域;

将所述三维体数据内包含在所述第二三维空间范围内的数据点作为所述第二部分器官区域。

本申请的一实施例中,所述分别确定所述第一数据集对应的第一三维空间范围和所述第三数据集对应的第二三维空间范围,包括:

确定所述第一数据集在每个坐标轴方向上的长度,基于各所述坐标轴方向上的长度为第一立方体的边长,确定所述第一立方体作为所述第一三维空间范围;

确定所述第三数据集在每个坐标轴方向上的长度,基于各所述坐标轴方向上的长度为第二立方体的边长,确定所述第二立方体作为所述第二三维空间范围。

本申请的一实施例中,所述从所述第一部分器官区域和所述第二部分器官区域中筛选出较小的器官区域,包括:

基于像素间距,确定所述第一立方体内容纳的三维体数据的像素点数以及所述第二立方体内容纳的三维体数据的像素点数;

比较所述第一立方体内容纳的三维体数据的像素点数以及所述第二立方体内容纳的三维体数据的像素点数;

若所述第一立方体内容纳的三维体数据的像素点数小于所述第二立方体内容纳的三维体数据的像素点数,则将所述第一部分器官区域作为较小的器官区域;

若所述第一立方体内容纳的三维体数据的像素点数不小于所述第二立方体内容纳的三维体数据的像素点数,则将所述第二部分器官区域作为较小的器官区域。

本申请的一实施例中,所述二维切割区域信息包括指定大小的二维图像、所述二维图像中预设封闭曲线位置信息;所述基于所述二维切割区域信息确定二维切割区域,包括:

构建所述指定大小的二维图像;

基于所述二维图像中预设封闭曲线位置信息,在所述二维图像中确定出所述二维切割区域。

本申请的一实施例中,针对所述第一部分器官区域为较小的器官区域的情况,所述将所述第一部分器官区域内的三维体数据与所述二维切割区域进行比较,得到所述三维体数据中包含在所述二维切割区域的第二数据集作为目标切割区域,包括:

基于投影变换矩阵,将所述第一部分器官区域内的每个三维体数据均投影到二维空间;所述投影变换矩阵用于将所述目标器官的三维数据投影到所述二维空间进行显示;

由投影到所述二维空间中,且位于所述二维切割区域内的三维体数据点构成的所述第二数据集作为所述目标切割区域。

本申请的一实施例中,针对所述第二部分器官区域为较小的器官区域的情况,所述将所述第二部分器官区域内的三维体数据与所述二维切割区域进行比较,得到所述三维体数据中包含在所述二维切割区域的第二数据集作为目标切割区域,包括:

基于所述投影变换矩阵,将所述第二部分器官区域内的每个三维体数据均投影到所述二维空间;

将投影到所述二维空间中,且位于所述二维切割区域外的三维体数据点确定为第四数据集;

由所述三维体数据中除所述第四数据集之外的三维体数据点构成的所述第二数据集作为所述目标切割区域。

第二方面,本申请一实施例提供了一种三维图像的切割方法,所述方法包括:

从服务器获取目标器官的三维面数据;

将所述三维面数据投影到二维空间,得到三维面数据的显示坐标;

基于所述显示坐标显示所述目标器官;

基于旋转、缩放操作重新渲染所述目标器官;

基于在显示界面中针对所述目标器官的切割区域的设置操作,生成切割参数并发送给所述服务器。

第三方面,本申请一实施例还提供了一种电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为执行所述指令,以实现如本申请第一方面或第二方面中提供的任一方法。

第四方面,本申请一实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本申请第一方面或第二方面中提供的任一方法。

第五方面,本申请一实施例提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如本申请第一方面或第二方面中提供的任一方法。

本申请的实施例提供的技术方案至少带来以下有益效果:

本申请提出了一种三维图像的切割方法,相对于现有技术中需要遍历目标器官的三维数据中每个像素点确定切割区域,导致计算量大,切割效率低的问题,本申请通过对目标器官的器官区域划分,进而根据较小器官区域中的像素点确定切割区域,使得可以快速确定切割区域,实现对三维图像进行快速切割。

具体地,接收终端设备发送的切割参数后,在服务器中确定二维切割区域,并确定目标器官的三维面数据中属于二维切割区域的第一数据集,并以第一数据集表示的边界为划分基准,将目标器官的三维体数据划分为第一部分器官区域和第二部分器官区域,再以其中较小的器官区域内的三维体数据与二维切割区域进行比较,将比较后的三维体数据中包含在二维切割区域的第二数据集作为目标切割区域,最后从三维体数据中对目标切割区域进行切割处理。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的三维图像的切割方法的应用场景示意图;

图2为本申请一实施例提供的三维图像的切割方法的流程示意图;

图3a为本申请一实施例提供的每个器官在显示界面中显示的示意图;

图3b为本申请一实施例提供的目标器官肝脏在显示界面中显示的示意图;

图3c为本申请一实施例提供的调整显示角度的目标器官肝脏在显示界面中显示的示意图;

图3d为本申请一实施例提供的调整显示角度的目标器官肝脏在显示界面中标注有封闭区域后显示的示意图;

图4为本申请一实施例提供的三维图像的切割方法的流程示意图;

图5a为本申请一实施例提供的服务器构建指定大小的二维图像的示意图;

图5b为本申请一实施例提供的对目标切割区域进行切割处理后每个器官在显示界面中显示的示意图;

图5c为本申请一实施例提供的对目标切割区域进行切割处理后目标器官肝脏在显示界面中显示的示意图;

图6为本申请一实施例提供的网页端显示三维图像的切割方法的流程示意图;

图7为本申请一实施例提供的电子设备的结构示意图。

具体实施方式

为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。

(1)本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。

(2)“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

(3)服务器,是为终端服务的,服务的内容诸如向终端提供资源,保存终端数据;服务器是与终端上安装的应用程序相对应的,与终端上的应用程序配合运行。

(4)终端设备,既可以指软件类的APP(Application,应用程序),也可以指客户端。它具有可视的显示界面,能与用户进行交互;是与服务器相对应,为客户提供本地服务。针对软件类的应用程序,除了一些只在本地运行的应用程序之外,一般安装在普通的客户终端上,需要与服务端互相配合运行。因特网发展以后,较常用的应用程序包括了如收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,配置参数服务等,这样在客户终端和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。

(5)三维体数据,是指以三维空间坐标为位置函数的数据集合体,例如,目标器官的三维体数据中每个像素点组成目标器官的三维结构形状。

(6)三维面数据,是三维体数据的外表面数据集合体,例如,目标器官的三维面数据中每个像素点组成目标器官的三维外表面结构形状。

随着医学成像技术的发展,CT(computer tomography,电子计算机体层摄影)、MR(magnetic resonance,核磁共振)等设备普遍应用于日常临床诊断的过程中。医生通过将CT、MR等设备拍摄的二维图像序列输入至终端设备中,在终端设备重建人体组织器官的三维图像,并对三维图像进行切割,进而通过三维可视化技术进行显示。这样可以直观的展现病灶周围组织器官的分布情况,并可以根据组织器官分布情况制定和模拟手术方案,帮助医生在外科手术中更好的进行治疗,因此如何对构建人体组织器官的三维图像进行切割在基础研究和临床应用等方面发挥极其重要的作用。

现有技术中针对三维图像的切割方法一般包括以下两种情况。情况一、将三维图像的封闭曲线分成若干段直线,进行平面直线的切割。但是该切割方法需要遍历三维图像的整体三维体数据确定切割区域,计算量大,切割效率低。情况二、通过在一张二维图像上绘制切割线,然后将目标器官正投影到二维图像确定切割区域。但是每次绘制切割线后均需要对目标器官进行正投影,切割效率低。针对需要切割多次的复杂组织器官而言,以上两种情况都不满足切割效率的要求,需要一种可以快速切割三维图像的方法。

为此,本申请提供了一种三维图像的切割方法。首先在终端设备展示的三维图像中确定二维切割区域,依据二维切割区域确定切割参数并将切割参数发送至服务器中,然后在服务器中利用切割参数构建二维切割区域,确定目标器官的三维面数据中属于二维切割区域的第一数据集,再依据第一数据集将目标器官的三维体数据划分为第一部分器官区域和第二部分器官区域,利用筛选出的较小的器官区域内的三维体数据与二维切割区域的比较确定目标切割区域,从而相对于现有技术中需要遍历目标器官的整个三维体数据确定切割区域来说,本申请只遍历目标器官经过划分后较小器官区域中的像素点确定切割区域,进而减少了计算的数据量,提升了切割效率。

在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。

参考图1,其为本申请实施例提供的三维图像的切割方法的应用场景示意图。该应用场景包括多个终端设备101(包括终端设备101-1、终端设备101-2、……终端设备101-n)、服务器102。其中,终端设备101、服务器102之间通过无线或有线网络连接,终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、智能电视等电子设备。服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。

终端设备101从服务器102中获取目标器官的三维面数据,将三维面数据投影到终端设备101的二维空间进行显示,然后在终端设备101的二维空间中基于用户对目标器官的旋转、缩放操作,重新渲染目标器官,并在渲染后的显示界面中针对用户在目标器官中绘制的切割区域,生成切割参数,将切割参数发送给服务器102。

服务器102接收终端设备101发送的切割参数,在服务器102中确定二维切割区域,并确定目标器官的三维面数据中属于二维切割区域的第一数据集,并以第一数据集表示的边界为划分基准,将目标器官的三维体数据划分为第一部分器官区域和第二部分器官区域,再以其中较小的器官区域内的三维体数据与二维切割区域进行比较,将比较后的三维体数据中包含在二维切割区域的第二数据集作为目标切割区域,最后从三维体数据中对目标切割区域进行切割处理,并将切割后的三维体数据对应的三维面数据发送给终端设备101,终端设备101将接收到的切割后的三维面数据进行重新渲染后显示。

当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。

为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。

下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。

参考图2,本申请实施例提供一种三维图像的切割方法,包括以下步骤:

S201,从服务器获取目标器官的三维面数据;

可选地,利用CT、MR等设备采集到用户的二维图像序列,其中二维图像序列中包含用户的不同器官。在服务器中将二维图像序列输入至预先训练好的神经网络模型中,使得神经网络模型输出各个器官分别对应的三维体数据。将目标器官的三维体数据输入至MarchingCube(移动立方体)算法中,得到输出的目标器官的三维面数据。这里,并不限定神经网络模型的训练过程,可根据实际应用情况进行训练。当然,也不限定三维面数据的获得方式,能够获得三维面数据的方式均适用于本申请实施例。

S202,将三维面数据投影到二维空间,得到三维面数据的显示坐标;

S203,基于显示坐标显示目标器官;

这里,通过预先建立三维面数据的三维空间坐标与二维空间的二维空间坐标之间的投影变换矩阵,将三维面数据按照投影变换矩阵投影到二维空间得到显示坐标。

示例性地,如图3a所示,示出了将二维图像序列中每个器官均投影至二维空间中显示的示意图。假设目标器官为肝脏,则在图3a展示的界面中选择目标器官,并关闭其他器官的屏幕显示,如图3b所示,示出了将目标器官肝脏的三维面数据投影到终端设备显示界面中的二维空间,并在显示界面中显示目标器官肝脏。

以投影变换矩阵matrix为4*4的矩阵为例,假设目标器官肝脏的三维面数据A={[ax1,ay1,az1],……[axn,ayn,azn]},其中,ax1为目标器官肝脏第一个三维面数据在三维空间的x坐标中的位置,ay1为目标器官肝脏第一个三维面数据在三维空间的y坐标中的位置,az1为目标器官肝脏第一个三维面数据在三维空间的z坐标中的位置,axn为目标器官肝脏第n个三维面数据在三维空间的x坐标中的位置,ayn为目标器官肝脏第n个三维面数据在三维空间的y坐标中的位置,azn为目标器官肝脏第n个三维面数据在三维空间的z坐标中的位置。那么按照以下公式1-公式8计算得到每个三维面数据的显示坐标。以目标器官肝脏第一个三维面数据[ax1,ay1,az1]为例进行投影转换的说明:

view[0]=ax1*matrix[0]+ay1*matrix[1]+az1*matrix[2]+matrix[3]; 公式1

view[1]=ax1*matrix[4]+ay1*matrix[5]+az1*matrix[6]+matrix[7]; 公式2

view[2]=ax1*matrix[8]+ay1*matrix[9]+az1*matrix[10]+matrix[11]; 公式3

view[3]=ax1*matrix[12]+ay1*matrix[13]+az1*matrix[14]+matrix[15]; 公式4

view[0]/=view[3]; 公式5

view[1]/=view[3]; 公式6

x=(view[0]+1.0)*win_width/2; 公式7

y=-(view[1]+1.0)*win_height/2; 公式8

其中,matrix[0]-matrix[15]为4*4的投影变换矩阵matrix从左到右,从上到下的矩阵值,view[0]-view[3]是计算显示坐标过程中的中间变量,x、y分别为二维空间的二维空间坐标,win_width为终端设备显示界面的宽度,win_height为终端设备显示界面的高度。

S204,基于旋转、缩放操作重新渲染目标器官;

示例性地,如图3c所示,将目标器官肝脏的三维面数据投影到终端设备显示界面中的二维空间之后,通过用户在终端设备中对目标器官肝脏进行旋转、缩放操作后重新渲染目标器官进行显示。在此并不限定用户旋转、缩放的具体操作过程,可根据实际应用情况进行调整。

并且,在显示界面中调整目标器官肝脏显示角度后,上述的投影变换矩阵会根据目标器官的调整适应性改变。

S205,基于在显示界面中针对目标器官的切割区域的设置操作,生成切割参数并发送给服务器。

示例性地,如图3d所示,在调整好目标器官肝脏的显示角度后,基于用户在显示界面中针对目标器官肝脏的切割区域的设置操作,也即用户在图3d中绘制的封闭曲线。基于该封闭曲线生成切割参数,其中,切割参数至少包括切割的目标器官即该器官的标识、二维切割区域信息。二维切割区域信息可以是指定大小的二维图像、以及封闭曲线位置信息,这里封闭曲线位置信息可以是在二维图像的二维空间坐标中,封闭曲线每个点的坐标信息。

通过在终端设备中对目标器官进行切割区域的设置操作,并生成切割参数后发送至服务器中,使得在服务器中利用切割参数对目标器官进行切割,然后在终端设备中进行显示切割后的目标器官,相对于现有技术中在终端设备进行目标器官切割来说,减少占用终端设备硬件资源,避免终端设备卡顿或应用程序闪退现象。

在终端设备中绘制切割区域,并将切割参数发送至服务器后,参考图4,示出了服务器端的一种三维图像的切割方法,包括以下步骤:

S401,接收终端设备发送的切割参数,切割参数中至少包括切割的目标器官、二维切割区域信息;

S402,基于二维切割区域信息确定二维切割区域;

具体地,依据上述描述可知,二维切割区域信息可以是指定大小的二维图像、以及封闭曲线位置信息,通过在服务器中构建指定大小的二维图像,并基于二维图像中预设封闭曲线位置信息,在二维图像中确定出二维切割区域。

示例性地,如图5a所示,假设指定大小的二维图像为900*1000,那么在服务器中首先创建一个900*1000的空白二维图像。然后利用二维图像中预设封闭曲线位置信息,在二维图像中确定出二维切割区域。同样的,这里二维图像中预设封闭曲线位置信息可以是在二维图像的二维空间坐标中,封闭曲线每个点的坐标信息,在此仅是举例说明,并不限制二维图像中预设封闭曲线具体的位置信息。并且,采用种子点生长算法,将二维图像中封闭曲线区域内的每个像素点的像素值设置为第一颜色值A,将封闭曲线区域外的每个像素点的像素值设置为第二颜色值B。例如,将A设置为1,将B设置为0。

通过在服务器中构建与终端设备相同大小的二维图像、以及确定相同大小的二维切割区域,进而可以得到更加准确的目标切割区域并进行切割处理。

S403,确定目标器官的三维面数据中属于二维切割区域的第一数据集;

可选地,切割参数还包括投影变换矩阵,投影变换矩阵用于将目标器官的三维数据投影到二维空间进行显示;这里,三维数据既可以是三维面数据也可以是三维体数据。

基于投影变换矩阵,将三维面数据投影到二维空间,得到二维图像即显示坐标,确定二维图像中位于二维切割区域的二维图像部分,确定二维图像部分对应的三维面数据,得到第一数据集。

这里利用投影变换矩阵进行投影的过程可参考上述描述,故在此不再赘述。

例如,将目标器官肝脏的三维面数据A={[ax1,ay1,az1],……[axn,ayn,azn]}中属于二维切割区域的第一数据集定义为B={[bx1,by1,bz1],…[bxn,byn,bzn]}。

通过投影变换矩阵进行三维面数据的投影,可以精确到三维面数据中的每个像素点,进而得到更加准确的目标切割区域并进行切割处理。

然后,在步骤S404中,以第一数据集表示的边界为划分基准,将目标器官的三维体数据划分为第一部分器官区域和第二部分器官区域;其中,第一数据集的外表面内包括的三维体数据为第一部分器官区域;

具体地,在确定第一数据集的同时,还可以确定目标器官的三维面数据中不属于二维切割区域的第三数据集,然后分别确定第一数据集对应的第一三维空间范围和第三数据集对应的第二三维空间范围,将三维体数据内包含在第一三维空间范围内的数据点作为第一部分器官区域,将三维体数据内包含在第二三维空间范围内的数据点作为第二部分器官区域。这里,第三数据集的确定过程可参考第一数据集的确定过程,在此不再赘述。

例如,将目标器官肝脏的三维面数据A={[ax1,ay1,az1],……[axn,ayn,azn]}中不属于二维切割区域的第三数据集定义C={[cx1,cy1,cz1],…[cxn,cyn,czn]}。

通过结合二维切割区域内和二维切割区域外的数据集,可以更加准确的将目标器官划分为第一部分器官和第二部分器官,进而得到更加准确的目标切割区域并进行切割处理。

其中,通过确定第一数据集在每个坐标轴方向上的长度,基于各坐标轴方向上的长度为第一立方体的边长,确定第一立方体作为第一三维空间范围;确定第三数据集在每个坐标轴方向上的长度,基于各坐标轴方向上的长度为第二立方体的边长,确定第二立方体作为第二三维空间范围。

根据确定的数据集进一步得到数据集对应的各个坐标轴上的长度,再利用每个长度组成的立方体确定空间范围,这样可以将数据集中的每个数据均包含在确定的空间范围中,进而得到更加准确的目标切割区域并进行切割处理。

S405,从第一部分器官区域和第二部分器官区域中筛选出较小的器官区域内的三维体数据与二维切割区域进行比较,得到三维体数据中包含在二维切割区域的第二数据集作为目标切割区域;

S406,从三维体数据中对目标切割区域进行切割处理。

具体地,基于像素间距,确定第一立方体内容纳的三维体数据的像素点数以及第二立方体内容纳的三维体数据的像素点数;比较第一立方体内容纳的三维体数据的像素点数以及第二立方体内容纳的三维体数据的像素点数;若第一立方体内容纳的三维体数据的像素点数小于第二立方体内容纳的三维体数据的像素点数,则将第一部分器官区域作为较小的器官区域;若第一立方体内容纳的三维体数据的像素点数不小于第二立方体内容纳的三维体数据的像素点数,则将第二部分器官区域作为较小的器官区域。

示例性地,以第一数据集为例进行计算过程的说明,假设第一数据集B={[bx1,by1,bz1],…[bxn,byn,bzn]}在x坐标轴方向上的最小值和最大值分别为x_min、x_max,在y坐标轴方向上的最小值和最大值分别为y_min、y_max,在z坐标轴方向上的最小值和最大值分别为z_min、z_max。

根据以下公式9-公式11分别计算x坐标轴方向、y坐标轴方向、z坐标轴方向上像素点个数BX、BY、BZ:

BX=(x_max-x_min)/spacing_x; 公式9

BY=(y_max-y_min)/spacing_y; 公式10

BZ=(z_max-z_min)/spacing_z; 公式11

其中,spacing_x、spacing_y、spacing_z分别为二维图像序列中二维图像在定义的坐标轴方向上的像素间距,可从目标器官的三维体数据中获取。然后将BX*BY*BZ确定为第一立方体内容纳的三维体数据的像素点数,同样的,基于上述计算方法可以确定第二立方体内容纳的三维体数据的像素点数,最后比较计算出的两个数据确定较小的器官区域。

利用像素间距计算得到每个立方体中容纳的三维体数据的像素点数,根据立方体中总容纳的三维体数据的像素点数可以更加准确的确定器官的大小,再利用较小的器官区域确定目标切割区域,进而得到更加准确的目标切割区域并进行切割处理。

在确定目标切割区域的过程中,为了减少计算数据量,选择较小的器官区域进行遍历,因此减少了需要遍历的数据量,加快确定目标切割区域的速度。

接下来分别介绍第一部分器官区域或者第二部分器官区域为较小的器官区域时,确定目标切割区域的过程:

(一)第一部分器官区域为较小的器官区域

基于投影变换矩阵,将第一部分器官区域内的每个三维体数据均投影到二维空间;由投影到二维空间中,且位于二维切割区域内的三维体数据点构成的第二数据集作为目标切割区域。

这里利用投影变换矩阵进行投影的过程可参考上述描述,故在此不再赘述。

示例性地,可以将投影到二维空间后,位于二维切割区域内的三维体数据在目标器官的整体三维体数据中对应的位置的像素点的像素值设置为B。然后根据调整像素值后的目标器官的整体三维体数据生成对应的三维面数据,并将三维面数据发送至终端设备,在终端设备中进行渲染。如图5b所示,示出了从三维体数据中对目标切割区域进行切割处理后,在终端设备中的显示图像。又,如图5c所示,示出了在图3b显示图像的基础上,对目标切割区域进行切割处理后的示意图。

这里,将切割处理后的目标器官的三维体数据输入至MarchingCube算法中,得到切割处理后的目标器官的三维面数据,在此仅是举例,并不限定切割处理后的目标器官的三维体数据转换至三维面数据的具体转换方法。

针对第一部分器官区域为较小器官区域的情况,通过判断第一部分器官区域内的每个三维体数据投影到二维空间后,是否位于二维切割区域内,调整目标器官的三维体数据中像素点的像素值,进而得到更加准确的目标切割区域并进行切割处理。

(二)第二部分器官区域为较小的器官区域

基于投影变换矩阵,将第二部分器官区域内的每个三维体数据均投影到二维空间;将投影到二维空间中,且位于二维切割区域外的三维体数据点确定为第四数据集;由三维体数据中除第四数据集之外的三维体数据点构成的第二数据集作为目标切割区域。

示例性地,首先将目标器官的整体三维体数据中每个像素点的像素值设置为B,将投影到二维空间后,位于二维切割区域外的三维体数据在目标器官的整体三维体数据中对应的位置的像素点的像素值设置为A,然后根据调整像素值后的目标器官的整体三维体数据生成对应的三维面数据,并将三维面数据发送至终端设备,在终端设备中进行渲染,如图5b所示,示出了从三维体数据中对目标切割区域进行切割处理后,在终端设备中的显示图像。

针对第二部分器官区域为较小器官区域的情况,通过判断第二部分器官区域内的每个三维体数据投影到二维空间后,是否位于二维切割区域外,调整目标器官的三维体数据中像素点的像素值,进而得到更加准确的目标切割区域并进行切割处理。

本申请的一实施例中,随着网络传输技术的发展,利用异地诊疗和远程会诊解决医疗贫困地区的疑难杂症、治疗方案制定越来越受到医生的推崇,由于现有技术中医生一般通过在终端设备安装指定应用程序进行三维图像的切割,但是这并不适用于远程三维图像的切割,因此本申请通过设计利用网页端访问指定网址实现远程三维图像的切割。如图6所示,具体包括以下步骤:

S601,在网页端显示目标器官的二维图像,并在显示界面中针对目标器官的二维切割区域,生成切割参数;

S602,将切割参数发送给服务器,切割参数至少包括二维图像的大小、二维图像中预设封闭曲线位置信息以及目标器官三维面数据投影至网页端的投影变换矩阵;

S603,服务器根据接收到的切割参数构建空白的指定大小的二维图像;基于二维图像中预设封闭曲线位置信息,在二维图像中确定出二维切割区域。

S604,基于投影变换矩阵,将三维面数据投影到二维空间,得到二维图像;确定二维图像中位于二维切割区域的二维图像部分;确定二维图像部分对应的三维面数据,得到第一数据集。

S605,确定目标器官的三维面数据中不属于二维切割区域的第三数据集。

S606,确定第一数据集在每个坐标轴方向上的长度,基于各坐标轴方向上的长度为第一立方体的边长,确定第一立方体作为第一三维空间范围;确定第三数据集在每个坐标轴方向上的长度,基于各坐标轴方向上的长度为第二立方体的边长,确定第二立方体作为第二三维空间范围。

S607,将三维体数据内包含在第一三维空间范围内的数据点作为第一部分器官区域;将三维体数据内包含在第二三维空间范围内的数据点作为第二部分器官区域。

S608,基于像素间距,确定第一立方体内容纳的三维体数据的像素点数以及第二立方体内容纳的三维体数据的像素点数;若第一立方体内容纳的三维体数据的像素点数小于第二立方体内容纳的三维体数据的像素点数,则将第一部分器官区域作为较小的器官区域;若第一立方体内容纳的三维体数据的像素点数不小于第二立方体内容纳的三维体数据的像素点数,则将第二部分器官区域作为较小的器官区域。

S609,针对第一部分器官区域为较小的器官区域的情况,基于投影变换矩阵,将第一部分器官区域内的每个三维体数据均投影到二维空间;投影变换矩阵用于将目标器官的三维数据投影到二维空间进行显示;由投影到二维空间中,且位于二维切割区域内的三维体数据点构成的第二数据集作为目标切割区域。

S6010,针对第二部分器官区域为较小的器官区域的情况,基于投影变换矩阵,将第二部分器官区域内的每个三维体数据均投影到二维空间;将投影到二维空间中,且位于二维切割区域外的三维体数据点确定为第四数据集;由三维体数据中除第四数据集之外的三维体数据点构成的第二数据集作为目标切割区域。

S6011,从三维体数据中对目标切割区域进行切割处理,并将切割后的三维体数据对应的三维面数据发送至终端设备中。

S6012,在终端设备中依据切割后的三维面数据显示切割后的目标器官。

本申请实施例通过接收终端设备发送的切割参数,在服务器中确定二维切割区域,并确定目标器官的三维面数据中属于二维切割区域的第一数据集,并以第一数据集表示的边界为划分基准,将目标器官的三维体数据划分为第一部分器官区域和第二部分器官区域,再以其中较小的器官区域内的三维体数据与二维切割区域进行比较,将比较后的三维体数据中包含在二维切割区域的第二数据集作为目标切割区域,最后从三维体数据中对目标切割区域进行切割处理,从而相对于遍历三维体数据确定切割区域来说,减少了计算的数据量,提升了切割效率。

在介绍了本申请示例性实施方式的三维图像的切割方法之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。

所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本申请的电子设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的三维图像的切割方法中的步骤。例如,处理器可以执行如三维图像的切割方法中的步骤。

下面参照图7来描述根据本申请的这种实施方式的电子设备130。图7显示的电子设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图7所示,电子设备130以通用电子设备的形式表现。电子设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。

总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。

存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。

存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

电子设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备130交互的设备通信,和/或与使得该电子设备130能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,电子设备130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于电子设备130的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器132,上述指令可由处理器131执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器131执行时实现如本申请提供的三维图像的切割方法的任一方法。

在示例性实施例中,本申请提供的一种三维图像的切割方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种三维图像的切割方法中的步骤。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本申请的实施方式的用于三维图像的切割的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程三维图像的切割设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程三维图像的切割设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:一种基于质心的结构光角点检测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!