医学影像的渲染方法和系统与流程

文档序号:11951352阅读:462来源:国知局
医学影像的渲染方法和系统与流程
本发明主要涉及医学影像数据处理,尤其涉及一种医学影像的渲染方法和系统。
背景技术
:随着医学影像技术和计算机技术的发展,X光成像、计算机断层扫描(CT)、磁共振成像(MR)、超声成像(US)和正子发射断层扫描(PET)等成像技术和设备在医疗机构的临床和研发工作中发挥着相当重要的作用。这些医学影像设备所产生的医学影像数据通常储存在诸如影像归档和通信系统(Picturearchivingandcommunicationsystem,PACS)这样的存储系统中。当使用者需要时,可以向存储系统的服务器请求查询和调阅。由于医学影像,尤其是三维医学影像数据量大,其渲染需要高性能显卡且占用大量显存,因此难以在普通配置的安装有客户端的客户机,例如普通办公计算机、平板计算机或智能手机上的浏览器进行。传统的基于Web的三维医学影像的可视化渲染均放在高配置的服务器端进行。在这种情况下,用户几乎所有的显示相关操作均需通过服务器来进行渲染。例如在用户进行一系列连续操作(如体渲染图像旋转、缩放、平移,MPR调窗等)时,需要连续多次发出渲染请求,并在服务器返回渲染结果时更新图像。对于服务器和网络侧的极端依赖会造成渲染结果的不稳定。举例来说,如果由于服务器负载、网络等原因造成渲染结果返回不及时,用户就会感觉到明显卡顿,影响查看体验。另一方面,现有的存储系统在数据量达到一定规模后,访问效率会大大降低,过度依赖服务器的方式也加重了服务器的负担。技术实现要素:本发明要解决的技术问题是提供一种医学影像的渲染方法和系统,可以降低对医学影像数据的服务器和网络的需求。为解决上述技术问题,本发明提供了一种医学影像的渲染方法,包括以下步骤:从客户机向服务器发起加载医学影像请求;在该服务器加载医学影像数据,并进行第一级渲染操作以产生第一渲染结果;从该服务器将第一渲染结果发送给该客户机;在该客户机呈现该第一渲染结果;在该服务器将该医学影像数据进行预处理;在该服务器将该预处理后的医学影像数据发送给该客户机;在该客户机接收该预处理后的医学影像数据,准备用于渲染;在该客户机响应于用户的连续操作,使用该预处理后的医学影像数据进行第二级渲染操作,产生第二渲染结果,该第二渲染结果的精度低于该第一渲染结果;以及在该连续操作期间在该客户机呈现该连续操作的第二渲染结果。可选地,在该客户机的浏览器执行该第二级渲染操作。可选地,在该客户机以WebGL技术执行该第二级渲染操作。可选地,该连续操作包含但不限于旋转、缩放、平移、调窗等造成显示图像连续变化的操作中的至少一个。可选地,该预处理包括降采样和压缩。可选地,在该连续操作期间在该客户机呈现该第二渲染结果后还包括:在该客户机检测该连续操作结束;从该客户机向该服务器发起渲染请求;在该服务器进行该第一级渲染操作以产生第三渲染结果;从该服务器将第三渲染结果发送给该客户机;在该客户机显示该第三渲染结果。可选地,上述的医学影像的渲染方法还包括在该服务器和该客户机中维护渲染所需的参数状态,且在该服务器和该客户机之间传输该参数状态。可选地,该医学影像是三维医学影像,所采用渲染方式为体渲染。本发明还提出一种医学影像的渲染方法,是在一客户机执行且包括以下步骤:向服务器发起加载医学影像请求;接收从该服务器发送的第一渲染结果,该第一渲染结果是使用医学影像数据进行第一级渲染操作而产生;呈现该第一渲染结果;接收从该服务器发送的预处理后的医学影像数据;响应于用户的连续操作,对该预处理后的医学影像数据进行第二级渲染操作而产生该连续操作的第二渲染结果,该第二渲染结果的精度低于该第一渲染结果;以及在该连续操作期间呈现该第二渲染结果。可选地,在该客户机的浏览器执行该第二级渲染操作。可选地,在该客户机以WebGL技术执行该第二级渲染操作。可选地,该连续操作包括旋转、缩放、平移和调窗中的至少一个。可选地,在该连续操作期间呈现该第二渲染结果后还包括:检测该连续操作的结束;向该服务器发起渲染请求;接收从该服务器发送的第三渲染结果,该第三渲染结果是进行该第一级渲染操作而产生。可选地,上述的医学影像的渲染方法还包括从该服务器接收渲染所需的参数状态,且在连续操作结束后,向该服务器发送连续操作后的当前参数状态。本发明还提出一种医学影像的渲染方法,是在一服务器执行且包括以下步骤:接收客户机的加载医学影像请求;加载该医学影像数据,并进行第一级渲染操作以产生第一渲染结果;将该第一渲染结果发送给该客户机;以及将该医学影像数据进行预处理;将该预处理后的医学影像数据发送给该客户机。本发明还提出一种医学影像的渲染系统,包括客户机和服务器,其中该客户机配置为:向该服务器发起加载医学影像请求;接收从该服务器发送的第一渲染结果,该第一渲染结果是使用医学影像数据进行第一级渲染操作而产生;呈现该第一渲染结果;接收从该服务器发送预处理后的医学影像数据;响应于用户的连续操作,使用该预处理后的医学影像数据进行第二级渲染操作而产生第二渲染结果,该第二渲染结果的精度低于该第一渲染结果;以及在该连续操作期间在呈现该第二渲染结果;该服务器配置为:接收该客户机的该加载医学影像请求;加载该医学影像数据,并进行第一级渲染操作以产生第一渲染结果;将该医学影像数据进行预处理,产生该预处理后的医学影像数据;将该预处理后的医学影像数据发送给该客户机。可选地,该客户机配置有支持WebGL的浏览器。与现有技术相比,本发明通过采用客户机和服务器双引擎来渲染医学影像数据,在进行一系列连续操作时,中间过程则只在客户机引擎渲染。因此本发明能够有效利用客户机硬件资源,大大增加服务器支持的用户数,减小使用过程中受网络及服务器负载的影响。附图说明图1是本发明一实施例的医学影像的渲染系统架构。图2是本发明一实施例的医学影像的渲染方法流程图。图3是本发明一实施例的医学影像的渲染方法在服务器端的流程图。图4是本发明一实施例的医学影像的渲染方法在客户机的流程图。具体实施方式为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。本发明的实施例描述医学影像的渲染方法和系统,能够减小使用过程中受网络及服务器负载的影响,在有限带宽、有限服务器资源的条件下也能取得流畅的用户体验。图1是本发明一实施例的医学影像的渲染系统架构。参考图1所示,医学影像的渲染系统包括服务器10和客户机20。在此,服务器10可以是单个服务器或者是服务器阵列或服务器场。服务器10可以是由处理器、硬盘、内存等部件组成的设备,也可以是影像归档和通信系统(Picturearchivingandcommunicationsystem,PACS)这样的存储系统的一部分,还可以是云平台中的渲染服务器主机。服务器10中储存医学影像数据。例如,X射线摄影数据、CT影像数据、MR影像数据、超声成像数据和PET影像数据。医学影像数据可以是二维影像数据或者是三维影像数据。客户机20例如是台式计算机、笔记本计算机、平板计算机、智能手机、云电脑或者类似的能够访问服务器的计算设备。服务器10和客户机20通常基于B/S架构。在客户机20提供浏览器软件,作为用户进行操作和察看的交互界面。在本实施例的系统中,在客户机和服务器使用双引擎来渲染数据。如图1所示,服务器10中可配置服务器引擎11和输入输出组件12。服务器引擎11负责进行渲染,输入输出组件12负责数据的输入和输出。客户机20中可配置用户界面21和客户机引擎22。用户界面21负责与用户交互。客户机引擎22负责进行渲染。下面分别展开描述。图2是本发明一实施例的医学影像的渲染方法流程图。参考图1和图2所示,本实施例的医学影像的渲染方法包括以下步骤:在步骤101,从客户机20向服务器10发起加载医学影像请求。例如,用户在客户机20的浏览器请求加载医学影像,此时用户界面21向服务器10的服务器引擎11请求加载医学影像。在步骤102,在服务器10加载医学影像数据,并进行第一级渲染操作以产生第一渲染结果。例如,服务器10的服务器引擎11从输入输出组件12加载医学影像数据,并进行第一级渲染操作,产生第一渲染结果。由于服务器10的高配置及可高速获取存储于局域网内的体数据信息,第一级渲染操作可以产生高精度的第一渲染结果。在步骤103,从服务器10将第一渲染结果发送给客户机20。例如服务器10的服务器引擎11将第一渲染结果发送给客户机20的用户界面21。在步骤104,在客户机10呈现第一渲染结果。例如客户机10的用户界面21获得第一渲染结果后,向用户呈现渲染结果。此时,用户看到的是高质量的渲染结果,即高分辨率的渲染图像。在步骤105,在服务器10对医学影像数据进行预处理。在此,预处理可包括降采样和压缩。在步骤106,从服务器10将预处理后的医学影像数据发送给客户机20。例如服务器10的输入输出组件12将未经渲染的预处理医学影像数据传输给客户机20的客户机引擎22。在此,步骤105-步骤106中,服务器向客户机传输预处后的医学影像数据,与步骤102-103是相互独立,可以如本实施例中附图2所示流程顺序进行,也可以与步骤102-103不同步进行,本发明对此不作具体限定。在步骤107,在客户机20接收预处理后的医学影像数据,准备用于渲染。在此,如果预处理是降采样和压缩,则在收到降采样、压缩的医学影像数据后先检测是否有压缩,如有则将其解压,得到降采样后的体数据,准备用于渲染。在步骤108,在客户机20响应于用户的连续操作,使用预处理后的医学影像数据进行第二级渲染操作,产生第二渲染结果。例如客户机20的用户界面21接收到用户的连续操作时,请求客户机引擎22使用预处理后的医学影像数据进行第二级渲染操作,产生第二渲染结果。相比服务器10,由于客户机20配置较低,且使用的数据为降采样、有损压缩后的数据,因此第二级渲染操作获取精度较低的渲染结果,只能产生图像质量较低的第二渲染结果。举例来说,在客户机20可以WebGL技术执行第二渲染操作。WebGL技术是浏览器支持的技术,因此可以方便地使用客户机20的浏览器执行这一操作。在步骤109,在连续操作期间在客户机20呈现第二渲染结果。也就是说,在用户连续操作中某一步操作结束后,客户机显示对应该操作的第二渲染结果。因连续操作中连续返回第二渲染结果,造成显示图像的连续变化,所以用户在连续操作过程中,可以认为同步于第二级渲染操作在客户机同步该连续操作显示本地渲染的低质量的第二渲染结果,即相对第一渲染结果,分辨率较低的渲染图像。在本实施例中,连续操作可包括体渲染图像旋转、缩放、平移、多平面重建(MPR)调窗或其他需要服务器随用户操作(如移动鼠标)连续返回渲染结果的操作中的至少一个。在连续操作中,用户对于画面连续性的需求比画面质量的要求更高,因此通过本地渲染能够兼顾用户对于画面质量和连续性的需求。在步骤110,在客户机20检测该连续操作结束。例如,客户机20可以检测用户的旋转、缩放、平移等连续操作是否结束,并通知服务器10进行高精度渲染。举例来说,当使用个人计算机时,根据用户的设置可以以鼠标左中右键点击作为连续操作(平移、旋转、缩放、调窗)开始条件,拖动鼠标过程中连续改变视图矩阵,鼠标弹起时终止该连续操作,或也可以在鼠标静止时间过长时终止连续操作,并在鼠标再次拖动时进入连续操作状态。当使用平板计算机、智能手机时,可以是手指的触摸、滑动、静止、双指旋转、双指缩放等操作来作为连续操作起始、终止的判断条件。在步骤111,从客户机20向服务器10发起渲染请求。在步骤112,在服务器10进行第一级渲染操作以产生第三渲染结果。在此步骤中,服务器10的服务器引擎11进行第一级渲染操作,产生第三渲染结果。由于连续操作已经改变了部分渲染参数,因此第三渲染结果不同于第一渲染结果。在步骤113,从服务器10将第三渲染结果发送给客户机20。在此,由于第三渲染结果仍然是高质量的渲染结果。因此当连续操作结束后,客户机20可以呈现高质量的结果。为了实现服务器10和客户机20之间的状态同步,在服务器10和客户机20中均保存有渲染医学影像数据所需的参数状态,该参数状态以约定的协议在服务器10和客户机20之间进行传输。在WebGL中对于平移、旋转、缩放信息等参数状态是以复合转换矩阵的形式存储。该复合转换矩阵用于初始视图矩阵、初始比例尺可以唯一确定新的视图矩阵及比例尺,其形式如下:m00m10m20m30m01m11m21m31m02m12m22m32m03m13m23m33]]>对于平行投影,m03,m13,m23均为0,m33一般为1。对应的平移矢量为(m30,m31,m32),对应的x、y、z的缩放系数分别为:Zoomx=(m002+m012+m022)]]>Zoomy=(m102+m112+m122)]]>Zoomz=(m202+m212+m222)]]>对应的旋转矩阵则为:m00Zoomxm10Zoomym20Zoomz0m01Zoomxm11Zoomym21Zoomz0m02Zoomxm12Zoomym22Zoomz00001]]>平移、旋转、缩放的同步流程如下:首先,服务器10响应用户加载医学影像请求,并在步骤106中同时将比例尺、初始视图矩阵、初始比例尺、复合转换矩阵、相机摆位信息、窗宽窗位信息、颜色查找表LUT、层厚信息等信息返回给客户机20。其次,用户在客户机20本地进行平移、旋转、缩放等连续变化操作,操作过程中可能会改变本地的视图矩阵、比例尺。此过程中无需与服务器10进行状态同步。在连续操作结束后,客户机20将经过连续操作后改变的参数传至服务器10,例如平移、旋转、缩放后会根据当前视图矩阵、比例尺计算新的复合转换矩阵,并将该复合转换矩阵传至服务器10。服务器10收到复合转换矩阵后,更新服务器端医学影像数据的参数信息,如视图矩阵、比例尺等信息,即实现了与客户机的状态同步。对于调窗来说,其使用的参数为窗宽、窗位,具体流程与上述流程类似。图3是本发明一实施例的医学影像的渲染方法在服务器端的流程图。参考图3,从服务器端角度看,本实施例的医学影像的渲染方法包括如下步骤:在步骤301,接收客户机20的加载医学影像请求;在步骤302,加载医学影像数据,并进行第一级渲染操作以产生第一渲染结果;在步骤303,将该第一渲染结果发送给客户机20;在步骤304,将医学影像数据进行预处理,产生预处理后的医学影像数据;在步骤305,将预处理后的医学影像数据发送给客户机20;在步骤306,接收客户机20的渲染请求;在步骤307,进行第一级渲染操作以产生第三渲染结果;在步骤308,将第三渲染结果发送给客户机20。图4是本发明一实施例的医学影像的渲染方法在客户机的流程图。参考图4,从客户机角度看,本实施例的医学影像的渲染方法包括如下步骤:在步骤401,向服务器10发起加载医学影像请求;在步骤402,接收从服务器10发送的第一渲染结果,第一渲染结果是使用医学影像数据进行第一级渲染操作而产生;在步骤403,呈现第一渲染结果;在步骤404,接收从服务器10发送的预处理后的医学影像数据;在此,客户机检查是否有压缩,如有压缩则将其解压得到降采样的体数据在收到降采样、压缩的医学影像数据后检测是否有压缩,如有则将其解压,得到降采样后的体数据,准备用于渲染。在步骤405,响应于用户的连续操作,使用预处理后的医学影像数据进行第二级渲染操作而产生第二渲染结果,该第二渲染结果的精度低于该第一渲染结果;以及在步骤406,在连续操作期间在呈现第二渲染结果;在步骤407,检测连续操作结束;在步骤408,向服务器10发起渲染请求;在步骤409,接收服务器10发送的第三渲染结果。本发明上述实施例的医学影像的渲染方法和系统,通过采用客户机和服务器双引擎来渲染医学影像数据,在进行一系列连续操作时,中间渲染过程在客户机引擎进行,该级渲染质量低于服务器引擎端的渲染,而操作完成时用服务器引擎进行高质量渲染。因此本发明能够有效利用客户机硬件资源,大大增加服务器支持的用户数,减小使用过程中受网络及服务器负载的影响,在有限带宽、有限服务器资源的条件下也能取得流畅的用户体验。虽然本发明已参照当前的具体实施例来描述,但是本
技术领域
中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1