一种医学图像三维立体重建装置及设备
技术领域
本发明涉及医学图像处理技术领域,特别是涉及一种医学图像三维立体重建装置及设备。
背景技术
由于临床上医生阅片需要分别从横断位,冠状位,矢状位三个方位进行观察病灶及其周围组织结构,而dicom数据中只包换横断位图像,医生想看冠状位和矢状位图像就需要通过三维立体重建技术来画出另外两个面的图像。即。三维立体重建将一系列二维的切面图片按顺序堆积重新进行三位建模。其中,Dicom,即医学数字成像和通信,是医学图像和相关信息的国际标准。
目前,一般是在服务端基于dicom图像进行三维重建,重建完成后需要将新的两个位面也存到数据库,然后再发送给用户终端进行三维展示。在服务器中存储三个位面的数据信息占用空间并且三维重建会占用服务器GPU,会导致服务器对外服务性能下降。也就是说,基于dicom图像进行三维重建占用计算机资源,且从服务器下载三维数据时,由于三维数据相对于dicom图像数据在数据量上成倍增加,也会占用大量的网络资源。
综上所述,如何有效地解决三维立体重建占用资源等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种医学图像三维立体重建装置及设备,通过从服务器中下载dicom文件,在重建并展示三维立体模型,以避免占用服务器CPU资源及减少占用网络资源。
为解决上述技术问题,本发明提供如下技术方案:
一种医学图像三维立体重建装置,包括:
文件下载模块,用于从服务器中下载整套dicom图像所对应的多个dicom文件;
文件解析模块,用于逐个解析所述dicom文件,获得同图像拍摄顺序一致的dicom图像组;
三维重建模块,用于利用three.js设置三维场景,并在所述三维场景中利用所述dicom图像组重建三维模型;
三维展示模块,用于在所述三维模型中,将所述three.js中的相机设置为平面相机,并使所述平面相机分别用三个画板显示三个位面图像。
优选地,所述三维展示模块,具体用于以所述画板为呈现图像的容器,并利用所述画板显示对应位面图像。
优选地,所述三维重建模块,具体用于利用所述three.js所述三维场景中的相机位置、曝光度、画布位置和原点位置。
优选地,所述文件解析模块,包括:
文件解析单元,用于逐个解析所述dicom文件,获得各个dicom图像的标签信息;
位置信息确定单元,用于利用所述标签信息确定入窗宽窗位、图像原始放大倍数和原点位置。
优选地,所述文件解析单元,具体用于利用web前端dicom库逐个解析所述dicom分解。
优选地,所述文件解析单元,具体用于根据图像的序列标签将各个所述dicom图像分别存入相应队列中,并在全部图像下载完成后,将所述队列进行组合,获得所述dicom图像组。
优选地,所述三维重建模块,具体用于将所述dicom图像组作为数据源,运行Three.js中的渲染器将照相机的内容投射到画布上。
优选地,所述三维展示模块,具体用于使所述平面相机分别用三个画板显示横断位、冠状位和矢状位的图像。
优选地,还包括:
存储模块,用于存储所述位面图像。
一种医学图像三维立体重建设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现从服务器中下载整套dicom图像所对应的多个dicom文件;逐个解析所述dicom文件,获得同图像拍摄顺序一致的dicom图像组;利用three.js设置三维场景,并在所述三维场景中利用所述dicom图像组重建三维模型;
显示器,用于显示所述三维模型,并在所述三维模型中将所述three.js中的相机设置为平面相机,并使所述平面相机分别用三个画板显示三个位面图像。
应用本发明实施例所提供的装置,该装置包括:文件下载模块,用于从服务器中下载整套dicom图像所对应的多个dicom文件;文件解析模块,用于逐个解析dicom文件,获得同图像拍摄顺序一致的dicom图像组;三维重建模块,用于利用three.js设置三维场景,并在三维场景中利用dicom图像组重建三维模型;三维展示模块,用于在三维模型中,将three.js中的相机设置为平面相机,并使平面相机分别用三个画板显示三个位面图像。
该装置可从服务器中下载多个dicom文件,并通过解析获得同图像拍摄顺序一致的dicom图像组,然后利用three.js完成三维立体重建,并同时显示三个位面图像,可满足医生在诊断过程中,需查看横断位、冠状位和矢状位图像的需求。该装置在实现三维立体重建,满足医生诊断所需之外,相应于现有技术至少包括以下技术效果:三维立体重建可无需在服务器中进行,在服务器中便可无需进行三维立体重建,可减少占用CPU资源;服务器仅需存储dicom文件,可避免存储另外两个位面的图像,可节约服务器的存储资源;在需要展示三维立体图像时,仅需重服务器中下载多个dicom文件,而无需下载另外两个位面的图像,可减少占用网络资源。
相应地,本发明实施例还提供了与上述医学图像三维立体重建装置相对应的医学图像三维立体重建设备,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种医学图像三维立体重建装置的结构示意图;
图2为本发明实施例中一种医学图像三维立体重建设备的结构示意图;
图3为本发明实施例中一种医学图像三维立体重建设备的具体结构示意图。
具体实施方式
本发明的核心是提出一种医学图像三维立体重建装置,以解决现有技术中占用资源的问题。具体的,由于临床上医生阅片需要分别从横断位,冠状位,矢状位三个方位进行观察病灶及其周围组织结构,而dicom数据中只包换横断位图像,医生想看冠状位和矢状位图像就需要通过三维立体重建技术来画出另外两个面的图像。而现有技术中,为向医生展示横断位,冠状位,矢状位这三位位面的图像,需要占用服务器CPU资源、服务器存储资源以及在下载三位面图像时需占用大量网络资源。为避免产生资源占用,本发明实施例提出了一种医学图像三维立体重建装置,该装置可从服务器中下载多个dicom文件,并通过解析获得同图像拍摄顺序一致的dicom图像组,然后利用three.js完成三维立体重建,并同时显示三个位面图像,可满足医生在诊断过程中,需查看横断位、冠状位和矢状位图像的需求,还可避免占用过多资源。
相应地,本发明实施例的另一核心是提供一种医学图像三维立体重建设备,具有上述技术效果,在此不再一一赘述。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
请参考图1,图1为本发明实施例中一种医学图像三维立体重建装置的结构示意图,该装置可应用于用户终端设备中,该装置包括以下模块:
文件下载模块101,用于从服务器中下载整套dicom图像所对应的多个dicom文件。
需要说明的是,一整套dicom图像是由多个dicom文件组成的,因而从服务器中下载整套dicom图像即为下载该dicom图像对应的多个dicom文件。对于dicom文件的下载,可以依次逐个下载,也可并列同时下载多个dicom文件,对此并不限定。从服务器中下载多个dicom文件时,可通过与服务器进行通信交互后完成下载,具体的,文件下载过程可参见常见的从网络中下载文件的常见实现过程,因此,本发明实施例不再赘述文件下载过程。
文件解析模块102,用于逐个解析dicom文件,获得同图像拍摄顺序一致的dicom图像组。
在下载了一个或多个dicom文件后,便可逐个解析dicom文件,获得同图像拍摄顺序一致的dicom图像组。其中,图像拍摄顺序即病人扫描的顺序,一般为从头到脚的顺序。
文件解析模块,可具体包括:
文件解析单元,用于逐个解析dicom文件,获得各个dicom图像的标签信息;
位置信息确定单元,用于利用标签信息确定入窗宽窗位、图像原始放大倍数和原点位置。
为便于描述,下面将上述两个单元结合起来进行说明。
文件解析模块通过对每个dicom文件分别进行解析,便可获得dicom图像,以及各个dicom图像的标签信息(即tag信息)。其中,dicom图像即为横断位图像。标签信息可包括入窗宽窗位、图像原始放大倍数和原点位置。即进一步地,利用标签信息便可确定入窗宽窗位、图像原始放大倍数和原点位置。
为便于解析dicom文件,该文件解析单元,可具体用于利用web前端dicom库逐个解析dicom分解。即用前端dicom库解析所下载的dicom文件分解,并提取图像文件(即dicom图像)和tag信息。
为避免便于后续进行三维建模,又因三维建模时需按照病人扫描的顺序,一般为从头到脚的顺序,实现三维建模。而不按顺序重建出来的另外两个位面的图像是混乱的。为解决这一问题,文件解析单元,具体用于根据图像的序列标签将各个dicom图像分别存入相应队列中,并在全部图像下载完成后,将队列进行组合,获得dicom图像组。即,将已下载好的图像按图像的序列标签存入对应的队列中,以便待dicom图像全部下载完成时,可组成一个按扫描顺序排列好的图像序列,其中图像序列即为按照图像拍摄顺序排列的dicom图像组。
三维重建模块103,用于利用three.js设置三维场景,并在三维场景中利用dicom图像组重建三维模型。
其中,Three.js为可运行在浏览器中的3D引擎,利用three.js创建各种三维场景,三维场景可包括摄影机、光影、材质等对象。在本发明实施例中,三维重建模块可利用Three.js设置三维场景,并在三维场景中基于倒插门图像组重建三维模型,也就是基于横断位图像,重建出冠状位和矢状位的图像。也就是说,三维重建模块,具体用于利用three.js三维场景中的相机位置、曝光度、画布位置和原点位置。三维场景搭建完成后,三维重建模块,具体用于将dicom图像组作为数据源,运行Three.js中的渲染器将照相机的内容投射到画布上。需要说明的是,由于Three.js为一个已有3D引擎,具体如何基于dicom图像组创建三维模型,具体如何搭建三维场景可具体参见已有的基于一个位面的图像进而创建出三维模型的具体实现过程,在此不再一一赘述。
三维展示模块104,用于在三维模型中,将three.js中的相机设置为平面相机,并使平面相机分别用三个画板显示三个位面图像。
其中,位面:对于医学DICOM物理坐标系来说,位面包括横断位,冠状位,矢状位,用来描述标准的人体在解剖学上的位置与方向。
其中,平面相机为three.js中的一种虚拟相机类,关于如何设置平面相机以及如何使平面相机分别用三个画板来显示三个位面图像,可参见平面相机的具体定义以及平面相机的使用方法。其中,画板即为呈现图像的容易,也就是说三维展示模块,具体用于以画板为呈现图像的容器,并利用画板显示对应位面图像。由于三维立体展示包括展示三个位面的图像,因而三维展示模块,具体用于使平面相机分别用三个画板显示横断位、冠状位和矢状位的图像。
优选地,为了后续再次查看冠状位和矢状位,该装置还可以包括存储模块,用于存储位面图像。
应用本发明实施例所提供的装置,该装置包括:文件下载模块,用于从服务器中下载整套dicom图像所对应的多个dicom文件;文件解析模块,用于逐个解析dicom文件,获得同图像拍摄顺序一致的dicom图像组;三维重建模块,用于利用three.js设置三维场景,并在三维场景中利用dicom图像组重建三维模型;三维展示模块,用于在三维模型中,将three.js中的相机设置为平面相机,并使平面相机分别用三个画板显示三个位面图像。
该装置可从服务器中下载多个dicom文件,并通过解析获得同图像拍摄顺序一致的dicom图像组,然后利用three.js完成三维立体重建,并同时显示三个位面图像,可满足医生在诊断过程中,需查看横断位、冠状位和矢状位图像的需求。该装置在实现三维立体重建,满足医生诊断所需之外,相应于现有技术至少包括以下技术效果:三维立体重建可无需在服务器中进行,在服务器中便可无需进行三维立体重建,可减少占用CPU资源;服务器仅需存储dicom文件,可避免存储另外两个位面的图像,可节约服务器的存储资源;在需要展示三维立体图像时,仅需从服务器中下载多个dicom文件,而无需下载另外两个位面的图像,可减少占用网络资源。
实施例二:
相应于上面的装置实施例,本发明实施例还提供了一种医学图像三维立体重建设备,下文描述的一种医学图像三维立体重建设备与上文描述的一种医学图像三维立体重建装置可相互对应参照。
参见图2所示,该医学图像三维立体重建设备包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现从服务器中下载整套dicom图像所对应的多个dicom文件;逐个解析dicom文件,获得同图像拍摄顺序一致的dicom图像组;利用three.js设置三维场景,并在三维场景中利用dicom图像组重建三维模型;
显示器D3,用于显示三维模型,并在三维模型中将three.js中的相机设置为平面相机,并使平面相机分别用三个画板显示三个位面图像。
优选地,显示器D3,用于以画板为呈现图像的容器,并利用画板显示对应位面图像。
优选地,处理器D2,用于执行计算机程序时实现利用three.js三维场景中的相机位置、曝光度、画布位置和原点位置。
优选地,处理器D2,用于执行计算机程序时实现逐个解析dicom文件,获得各个dicom图像的标签信息;利用标签信息确定入窗宽窗位、图像原始放大倍数和原点位置。
优选地,处理器D2,用于执行计算机程序时实现利用web前端dicom库逐个解析dicom分解。
优选地,处理器D2,用于执行计算机程序时实现根据图像的序列标签将各个dicom图像分别存入相应队列中,并在全部图像下载完成后,将队列进行组合,获得dicom图像组。
优选地,处理器D2,用于执行计算机程序时实现将dicom图像组作为数据源,运行Three.js中的渲染器将照相机的内容投射到画布上。
显示器D3,用于使平面相机分别用三个画板显示横断位、冠状位和矢状位的图像。
优选地,处理器D2,用于执行计算机程序时实现存储位面图像。
具体的,请参考图3,为本实施例提供的一种医学图像三维立体重建设备的具体结构示意图,该医学图像三维立体重建设备可因配置或性能不同而产生比较大的差异,可以包括一个或多个显示器321,一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在医学图像三维立体重建设备301上执行存储介质330中的一系列指令操作。
医学图像三维立体重建设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
上文所描述的医学图像三维立体重建装置中各个模块的所实现的步骤或功能可以由医学图像三维立体重建设备的结构实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。