C型臂X光机、控制系统及医学成像系统的制作方法

文档序号:11787563阅读:1712来源:国知局
C型臂X光机、控制系统及医学成像系统的制作方法与工艺

本发明涉及医疗器械技术领域,尤其涉及一种C型臂X光机、控制系统及医学成像系统。



背景技术:

锥束CT具有X射线利用率高、重建断层图像分辨率高、扫描速度快等特点,是目前CT研究领域的发展方向和热点。根据外形的不同,分为C型臂X光机、U型臂X光机,G形臂X光机等等。其中C型臂X光机是临床介入手术中常用的放疗设备,用在手术过程中对某一部位的实时透视成像和数字剪影血管造影(DSA)。在血管内的支架、溶栓和血管内肿瘤治疗等精密度要求高的介入手术时对血管及其邻近组织的精确三维特征的检测有更高的要求,传统的医疗器械难以达到,C型臂灵活的运动轨迹和锥束投射成像方式为CT图像重建提供了条件。医生可在最少的曝光时间内获得人体某一部位的各方位透视图以及断层重建图像,减少了X射线照射时间以及计量,为医生以及病人提供便利的同时,也对C型臂的运动以及成像控制提出了更高的要求。并且,随着面阵探测器的成像质量的提高,得到的医学图像的分辨率也越来越大,但受限于算法的复杂度,为提供良好的医生病人使用体验,对计算机的性能要求越来越高,靠单一的计算机已难以达到预想的运算速度。

近年来,C型臂光机已经得到普遍的应用,在实现基本功能的基础上如何满足精确控制以及更人性化的交互设计已经越来越得到重视。另一方面随着锥束CT系统中硬件扫描速度及精度的提高,实际生产中的效率瓶颈也由硬件设备的扫描速度转变为CT成像及绘制速度中。在诸如放射治疗监控,手术影像导航等对图像质量及成像速度方面均要求较高的场合,尽管各类精确锥束CT重建算法己为高质量CT软件的诞生铺平了道路,然而若非借助价格昂贵的专业图形显卡或图形工作站,现有加速方法往往难以满足其实时显示的需求,而商家往往也只能通过质量与效率的折中方法达到实时目的,这极大的限制了CT技术的广泛应用。因此,在保证质量的前提下,研究由普通PC组成的平台实现硬件加速,快速的完成锥束CT重建以及其他的相关图像处理具有重要的意义。

由于手术室内用到的手术设备越来越多,手术室也变得拥挤不堪。与固定的血管造影系统相比,移动C臂的体积轻巧和操作简单的特性,使其成为了固定设备的一个有效的替代选择。就投资成本费用而言,移动C臂对成本敏感的和面临预算削减的医疗机构是一个理想的选择。

并且随着医疗手术系统智能化、集成化的提升,越来越多的智能手术机器人系统出现,比如国外美敦力的产品StealthStation和Intuitive Surgical公司的达芬奇手术机器人。C型臂X光机可以被整合到机器人系统中,作为一个子模块提供图像采集功能,并为医生的诊断、介入手术、放疗手术等提供指导。因此将来C型臂除了满足一般的图像采集任务以外,还必须整合通信模块用以跟其他图像分析、介入装置等模块进行通信,并且可以实现远程控制操作。但目前市场上并没有类似的产品出现。

锥束CT图像三维重建方法介绍:

重建算法主要有解析法和迭代法。与迭代算法相比,解析算法具有重建速度快、占用内存资源少等优势,所以,在实际应用中,解析法应用得比较多。解析法又有近似算法和精确算法两种。但由于精确重建算法所要求的扫描方式比较复杂而且计算量很大,现阶段还没有得到实质性应用。近似算法比较简单,易于实现,尤其是当锥角比较小时,重建效果较好,而且单圆锥束CT只有近似重建算法,所以近似重建算法在实际中有着广泛的应用。其中用的比较多的为FDK算法,如图1所示。

FDK算法介绍:

FDK算法主要分为以下三个步骤将数据进行离散化以后可以表示为:

(1)修正投影数据:

<mrow> <msubsup> <mi>P</mi> <mi>&theta;</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <msub> <mi>D</mi> <mrow> <mi>s</mi> <mi>o</mi> </mrow> </msub> <msqrt> <mrow> <msubsup> <mi>D</mi> <mrow> <mi>s</mi> <mi>o</mi> </mrow> <mn>2</mn> </msubsup> <mo>+</mo> <msup> <mi>m</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>n</mi> <mn>2</mn> </msup> </mrow> </msqrt> </mfrac> <mo>&CenterDot;</mo> <msub> <mi>P</mi> <mi>&theta;</mi> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

(2)对修正后的投影数据进行逐行滤波

<mrow> <msubsup> <mi>P</mi> <mi>&theta;</mi> <mo>*</mo> </msubsup> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msubsup> <mi>P</mi> <mi>&theta;</mi> <mo>&prime;</mo> </msubsup> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>*</mo> <mi>h</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow>

式中h(m)为滤波器;

加权反投影

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>,</mo> <mi>z</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Integral;</mo> <mn>0</mn> <mrow> <mn>2</mn> <mi>&pi;</mi> </mrow> </munderover> <msup> <mi>u</mi> <mn>2</mn> </msup> <msubsup> <mi>P</mi> <mi>&theta;</mi> <mo>*</mo> </msubsup> <mrow> <mo>(</mo> <mi>p</mi> <mo>,</mo> <mi>q</mi> <mo>)</mo> </mrow> <mi>d</mi> <mi>&theta;</mi> <mo>=</mo> <msub> <mi>&Sigma;</mi> <mi>&theta;</mi> </msub> <mi>w</mi> <mo>&CenterDot;</mo> <msubsup> <mi>P</mi> <mi>&theta;</mi> <mo>*</mo> </msubsup> <mrow> <mo>(</mo> <mi>p</mi> <mo>,</mo> <mi>q</mi> <mo>)</mo> </mrow> </mrow>

式中(m,n)为图像的行标和列表,Pθ(m,n)表示在旋转角θ下的投影数据,表示滤波处理后的投影数据,h(m)示对第m行投影图像数据进行卷积操作的滤波函数f(x,y,z)表示体素点(x,y,z)处的重建图像数据。(p,q)表示重建体素点在滤波反投影平面上的反投影点的位置。由上述的公式可以得到FDK的算法复杂度为n×o(N3),其中n为重建图片的张数,N为图像的分辨率。以1°为间隔拍图,拍360张,图像分辨率为1024*1024为例,完成重建需要近4亿次运算。若不进行改进,将耗费大量的时间。

并行计算介绍:

并行计算(Parallel Computing)就是将一个大的任务划分成若干小任务,被不同的处理器处理。就好比分工合作,任务总数不变,处理任务份数变大,每份任务的量就相应减少。这些任务分给不同的处理器同时处理,由于各子任务的执行时间有部分重叠、甚至完全重叠(重叠程度取决于问题的划分及计算环境),处理问题所需要的时间将被缩减,理想情况下可以缩减至1/n,n为同时执行的处理单元的数量,从而达到加速的效果。

计算机集群技术介绍:

集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。其目的是为了解决单机运算能力的不足、IO能力的不足、提高服务的可靠性、获得规模可扩展能力,降低系统整体的运行、升级、维护成本。

受处理器制造结构的限制,单个处理器性能开发的空间已经趋于饱和,由于集群系统具有花费低、性能好和可扩展空间大等特征,因此,很多人把目光转向到了搭建集群系统上来。计算机(结点)通过一定高性能网络或局域网互联组成一个系统,这样的系统被称之为集群系统。在集群中,每个结点都可以完成独立的计算功能,像SMP服务器、工作站或PC机都可以用来作为一个结点使用。目前图形处理器(Graphic Processing Unit,GPU)运用十分普遍,运用过程中把它作为并行计算单元引入到并行机体系结构中,许多超级计算机都采用了这种混合架构。GPU集群的搭建和CPU集群相差不大,在硬件资源上,GPU比CPU集群空间位置小、能耗少。一个统一的集群包含了若干台服务器,在集群系统中,如果服务器发生了故障,无论是硬件还是软件资源引起的,当用户发来请求时,我们可以使用集群中其它服务器上的资源来继续向用户提供服务。在集群系统中,主要由GPU和通信子系统的处理速度来决定系统的性能,其中通信子系统的性能取决于网络物理层的传输速度、I/O处理能力以及传输协议的开销等。

现有的技术方案:

就整个可移动式三维C型臂X光机市场而言,目前成熟的产品还很少。

Ziehm Vision RFD的移动式平板介入影像系统是专为复合手术室功能需要而特别设计的移动C臂系统。相比固定式成像设备,移动C臂的灵活性、空间及成本的节省,正不断赢得越来越多的医院用户的关注。其具有四轴电动、直观的操纵杆操作、智能防撞保护、最低剂量实现最高图像质量等特性。

Artis Zeego作为SIEMENS的第3代平板探测器血管造影系统提供了创新性的产品设计、领先的临床功能。具有“双核心”影像链,将图像采集与后处理分开,提高了效率。还提供了人性化的界面,可以通过触摸、按钮以及遥控杆的组合方式对机器进行操作。并且具备了先进的图像处理功能,具有智能降噪、智能血管增强以及智能轮廓跟踪以及实时动态范围管理等功能。并且加入了X光剂量管理功能,提供更安全的防护。

飞利浦移动式C型臂X光机BV Endura可以在手术过程中提供清晰的动态影像。全面的功能配置有助于优化工作流程、提升工作效率。C型机械结构提供更大的覆盖范围,具备BodySmart技术有效提高图像质量,并且可以自动对比度/亮度调节。

但是,上述三款可移动式C型臂均不提供三维成像功能;并且其生成的图像支持DICOM标准虽然可以传输到影像存档与通讯系统(PASC),但是它们并不支持局域网或广域网对机器的远程操控,也未提供相应的接口模块,不具备扩展性,不能通过其他主机操作。

申请号为201210010806.X的中国专利提出了一种基于CUDA架构的GPU加速锥束CT图像重建的方法,具体实现方法为利用NIVIDA公司提供的支持CUDA架构GPU,实现算法的加速。在此专利中使用了常用的FDK算法,对FDK算法进行并行计算分析,构建了CPU和GPU协作的CPU-GPU异构计算模式,依靠GPU的多核心特性,可以达到明显的效果。但并未说明图像是如何得到,既未能给出一整套涉及C臂X光机控制,图像采集以及图像重建的策略或方法。并且只是使用单一GPU,虽然结果有了较大的提升,但计算高分辨率图像时,由于计算量随分辨率呈3次方的倍数增加,处理时间仍然较长。并且为了提高运算速度而占用的GPU核心数目过多,会造成本机电脑显示出现果冻现象甚至是延时。

刘巍(刘巍.用于锥束CT三维图像重建的存储与传输系统设计[D].重庆大学,2009)提出了一种用于锥束CT三维图像重建的新方法,使用FPGA芯片实现CT图像重建,可以利用FPGA的丰富的存储资源,使得投影数据的读取本地化,提高读取速度,解决存储器带宽限制问题,同时采用多流水线的思想实现并行计算。使用FPGA可以实现图片的重建,并且FPGA的并行处理技术已经被广泛运用到各种二维的图像和视频处理领域,例如FPGA已经被应用到对象自动识别技术中。但是,也存在着明显的不足,尤其是不擅长于浮点数的处理,也难以适应一些无规律的算法。为发挥出其最优性能,硬件结构需要根据不同的算法进行优化,并不利于以后的产品升级。



技术实现要素:

有鉴于此,为了克服现有技术的缺陷和问题,本发明提供一种C型臂X光机、控制系统及医学成像系统。

一种C型臂X光机,其包括:

C型臂;

产生X光的X光产生模块;

接收X光并产生X光片的X光接收模块,所述X光接收模块和所述X光产生模块分别相对地安装于所述C型臂的两侧;

检测所述X光产生模块产生的X光剂量的X光检测模块,设置于所述X光产生模块朝向所述X光接收模块的一侧;

采集所述X光接收模块传回的X光片的数据采集模块,其和所述X光接收模块相连接;

驱动所述C型臂实现多个自由度运动的运动模块,其连接于所述C型臂;

进行图像处理并存储的图像处理模块,其连接于所述数据采集模块;及

显示所述数据采集模块采集到的X光片或所述图像处理模块重建的图像的显示模块,其连接于所述图像处理模块。

本发明一较佳实施方式中,所述X光产生模块包括产生X光的X光球管、根据设置参数值来控制所述X光球管产生的X光剂量的高压控制器及用来遮蔽阻挡X光以观察特定尺寸的视野的束光器。

本发明一较佳实施方式中,所述X光接收模块包括用来接收X光并产生特定尺寸的X光片的X射线平板探测器,所述X射线平板探测器和所述X光球管分别相对地安装于所述C型臂的两侧,且两者中心线的连线经过所述C型臂的圆弧的圆心。

本发明一较佳实施方式中,所述X光检测模块包括用来检测所述X光球管产生的X光剂量的DAP测量仪,所述DAP测量仪安装于所述束光器朝向所述X射线平板探测器的一侧。

本发明一较佳实施方式中,所述数据采集模块包括图像采集卡及数据采集计算机,所述图像采集卡用于采集所述X射线平板探测器传回的图像,所述数据采集计算机用于对所述图像进行处理和存储。

本发明一较佳实施方式中,所述图像处理模块包括至少两台相互之间通过局域网连接组成集群的数据处理计算机,所述数据处理计算机完成图像处理算法并且存储图片,并将结果回传给所述数据采集模块的数据采集计算机。

本发明一较佳实施方式中,所述运动模块包括五个可分别实现程序控制的伺服电机,所述五个伺服电机分别安装于所述C型臂的五个轴上。

本发明一较佳实施方式中,所述图像显示模块包括用来显示采集到的图片或者重建后的图片的显示器。

一种控制系统,用于控制所述C型臂X光机,所述控制系统包括界面模块、控制器模块、数据模型模块、通讯模块及设备接口模块;所述界面模块用于进行人机交互;所述控制器模块连接所述界面模块、所述数据模型模块、所述通讯模块及所述设备接口模块;所述数据模型模块存储得到的图像以及与所述图像相关的信息;所述通讯模块和所述C型臂X光机的数据采集模块及图像处理模块相连接;所述设备接口模块用于和所述C型臂连接。

相对于现有技术,本发明提供的C型臂X光机具有如下优点:其一、C型臂X光机整合三维成像功能,充分利用了C型臂X光机灵活、小巧的特点,方便医生使用;其二、具备通讯模块,可实现远程控制,可以与其他平台搭配使用,并可以使用此通讯模块实现集群内数据处理计算机之间的通讯;其三、可快速实现三维锥束CT重建过程,有效减少数据处理和图像重建的时间。

附图说明

图1为本发明第一实施例提供的C型臂X光机的示意图;

图2为本发明第二实施例提供的C型臂X光机的控制系统的示意图;

图3为图2所示控制系统的具体实施示意图;

图4为FDK算法流程图;

图5为按转动分度划分的FDK并行计算模型;

图6为反投影计算具体步骤示意图;

图7为系统计算机组成图;

图8为多CPU加速示意图;

图9为DK算法单GPU加速实现框架图;

图10为多GPU集群加速示意图

图11为图2所示控制系统中通信模块设计图;

图12为报文格式图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

请参阅图2,本发明第一实施例提供一种C型臂X光机,其包括C型臂10、X光产生模块20、X光接收模块30、X光检测模块40、数据采集模块50、运动模块60、图像处理模块及显示模块80;所述X光产生模块20产生X光;所述X光接收模块30接收X光并产生X光片,所述X光接收模块30和所述X光产生模块20分别相对地安装于所述C型臂10的两侧;所述X光检测模块40检测所述X光产生模块20产生的X光剂量,所述X光检测模块40设置于所述X光产生模块20朝向所述X光接收模块30的一侧;所述数据采集模块50采集所述X光接收模块30传回的X光片,所述数据采集模块50和所述X光接收模块30相连接;所述运动模块60驱动所述C型臂10实现多个自由度运动,所述运动模块60连接于所述C型臂10;所述图像处理模块进行图像处理并存储,所述图像处理模块连接于所述数据采集模块50;所述显示模块80显示所述数据采集模块50采集到的X光片或所述图像处理模块重建的图像,所述显示模块80连接于所述图像处理模块。

可以理解的是,所述C型臂10为“C”型弧形结构,弧形结构具有对应的圆心。本实施例中,所述C型臂10具有多个轴。

本实施例中,所述X光产生模块20包括产生X光的X光球管21、根据设置参数值来控制所述X光球管21产生的X光剂量的高压控制器23及用来遮蔽阻挡X光以观察特定尺寸的视野的束光器25。可以理解的是,特定尺寸的视野根据实际需要进行设定或调整。

本实施例中,所述X光接收模块30包括用来接收X光并产生特定尺寸的X光片的X射线平板探测器31,所述X射线平板探测器31和所述X光球管21分别相对地安装于所述C型臂10的两侧,且两者中心线的连线经过所述C型臂10的圆弧的圆心。

本实施例中,所述X光检测模块40包括用来检测所述X光球管21产生的X光剂量的DAP测量仪41,所述DAP测量仪41安装于所述束光器25朝向所述X射线平板探测器31的一侧。

本实施例中,所述数据采集模块50包括图像采集卡(图未示)及数据采集计算机53,所述图像采集卡用于采集所述X射线平板探测器31传回的图像,所述数据采集计算机53用于对所述图像进行处理和存储。可以理解的是,所述图像采集卡可以集成于所述数据采集计算机53。

本实施例中,所述图像处理模块(图未示)包括至少两台相互之间通过局域网连接组成集群的数据处理计算机,所述数据处理计算机完成图像处理算法并且存储图片,并将结果回传给所述数据采集模块50的数据采集计算机53。

本实施例中,所述运动模块60包括五个可分别实现程序控制的伺服电机61,所述五个伺服电机61分别安装于所述C型臂10的五个轴上。

本实施例中,所述图像显示模块80包括用来显示采集到的图片或者重建后的图片的显示器81。

请参阅图3,本发明第二实施例提供一种C型臂X光机的控制系统,其连接所述C型臂10,所述控制系统包括界面模块210、控制器模块220、数据模型模块230、通讯模块240及设备接口模块250;所述界面模块210用于进行人机交互;所述控制器模块220连接所述界面模块210、所述数据模型模块230、所述通讯模块240及所述设备接口模块250;所述数据模型模块230存储得到的图像以及与所述图像相关的信息;所述通讯模块240和所述数据采集模块50及所述图像处理模块相连接;所述设备接口模块250用于和所述C型臂10连接。

具体地,请参阅图3,本发明中,所述C型臂10的控制系统采用软件模块200进行控制,软件模块200的设计遵循MVC的框架模式,软件模块200主要包括界面模块210、控制器模块220、数据模型模块230、通讯模块240以及设备接口模块250。

具体地,界面模块210包括剂量调节、图像显示、运动控制、病例管理以及图像放大缩小等。本实施例中,可以通过界面模块210控制所述C型臂10的运动、拍片以及从数据库调用数据等功能。控制器模块220作为其他几个模块的联系模块,起到分隔界面与数据的功能,便于以后软件升级。数据模型模块230存储得到的图像以及与图像相关的信息,例如电压值、毫安值以及所述C型臂10的位置信息等、所述C型臂10目前所处的状态信息以及接收到的控制命令。通讯模块240主要负责与其他主机的通讯,既可以传输图片,也可以传输控制指令。设备接口模块250主要负责所述C型臂10组成部件的配合,即将用到的C型臂10的硬件开发模块进行统一的配合,分别利用各硬件提供的SDK开发包,使各硬件配合工作,完成图像采集(数据采集)的任务,最后做统一的封装、为界面提供接口函数。

进一步地,本发明还提出了一种基于集群加速的图像处理方法,利用计算机集群技术,在分析FDK算法的基础上,提出了使用多CPU以及GPU集群加速的图像处理方法,可减少图像处理时间。

所述图像处理方法的具体阐述如下:

FDK算法并行性的分析。

具体地,通过研究FDK算法,可以得到其算法流程图,如图4所示。

在修正投影数据中的修正系数只与射线源(X光球管21)与原点的距离和投影体素点映射到探测器(X射线平板探测器31)平面的位置相关,因此每个扫描分度下的每个投影体素的修正都是相互独立的;每个分度下投影数据的滤波过程也是相互独立的;每个分度下各投影点的反投影过程只与此点在探测器平面的位置相关,所以每一扫描分度下各点的反投影过程同样是相互独立的。

这样,利用FDK算法对旋转分度为N的锥形束CT图像进行重建时,每个旋转分度的计算都相互独立,不存在数据相关性,因此可按分度将投影数据分配在不同的处理器,各分度下各体素的加权、滤波和反投影计算独立进行,最后进行累加求和,完成FDK的并行重建运算,其具体流程如图5所示。

再将每个分度下的各个体素点的反投影计算进行细化,可再分出8个步骤,如图6所示。

由此可看出,反投影过程中,前级数据的输出成为后级的输入,符合典型的流水线型。所以说FDK算法在空间上具有很强的并行性,时间上又具有高度串行性,是非常适合利用集群进行并行加速的一种重建算法。

在本发明中,将计算机分为2部分,数据采集部分以及数据后处理部分,如图7所示。数据采集部分主要负责与下位机的串口通讯,以及接收平板探测器回传的图像数据,图像界面的显示以及计算量较小的图像处理工作比如图像翻转、负片等,对计算机性能要求不高,因此只用一台电脑(即数据采集计算机53)便可完成。数据后处理部分主要负责大部分的图像处理工作,比如图片的去噪、增强、三维重建以及减影等,这些图像操作需要耗费大量的时间,需进一步设计集群(即图像处理模块)实现加速。

本发明还提供一种医学成像系统,其包括本发明第一实施例提供的C型臂X光机。

利用具有本发明C型臂X光机的医学成像系统拍片以及透视可分为如下几个步骤:

(1)通过上位机软件设置高压控制器23的电压值、电流值、曝光时间以及帧率。

(2)选择拍摄的模式,分为单张拍片、透视以及减影等模式。

(3)选择拍摄的部位以及病人的姿势。

(4)控制C型臂10中伺服电机61运动到达指定的地方以及调整合适的角度。

(5)控制X光球管21产生X射线,利用束光器25调整成像视野,X光在穿过人体后被X射线平板探测器31接收,转化为数字信号,传给数据采集模块50中的图像采集卡。

(6)数据采集模块50中的数据采集计算机53将图片传给图像处理模块,在完成了去噪、增强等基本图片处理后回传给数据采集模块50的数据采集计算机53或者是远程终端,用于显示,供医生诊疗。

C型臂10的三维重建可分为如下几个步骤:

在此功能下,前三个步骤与上述相同,此处不再赘述。

(4)C型臂10运动到指定的起始位置,开始做等中心运动,在此过程中需要多个轴配合运动。

(5)每旋转特定的角度拍片一张,将数据传输给数据采集模块50的数据采集计算机53,由数据采集计算机53传给图像处理模块的由数据处理计算机71组成的集群中进行三维重建。

(6)C型臂10旋转完一周,拍摄制定的图片张数以后,C型臂10回到起始位置。

(7)图像处理模块计算完数据以后,回传给数据采集模块50的数据采集计算机53或者是远程终端,用于显示,供医生诊疗。

本实施例中,计算机集群的设计如下:

本发明中的集群指的是数据后处理部分计算机(即数据处理计算机71)的连接方式。优选地,集群计算机(数据处理计算机71)之间、集群计算机(数据处理计算机71)与数据采集模块50的数据采集计算机53之间以及与远程终端之间均通过TCP/IP协议相连。

目前可以通过基于CUDA架构的GPU编程加速FDK算法,主要是因为GPU相对于CPU而言,它拥有更多核可以并行计算,在GPU内部,80%晶体管用作运算,剩余的拥有流控和数据缓存,从而决定了GPU具有更高密度的计算能力;而且GPU在内存宽度上也更适合大规模高性能的并行运算;现代GPU都是用户可编程的,用户可以通过编程来确定GPU的功能。CUDA是NVIDIA公司为满足自家的GPU编写的一套编译器及相关的库函数它作为一种新型的软硬件架构平台,可以直接调用GPU的计算资源,而且增强了GPU可编程性,也大幅提高了其计算性能。

因此在本发明中,若集群中计算机(数据处理计算机71)数量足够多,可以直接使用CPU来加速FDK算法,在计算机(数据处理计算机71)数量较少的情况下,也可以使用集群中的GPU进行加速。

(1)多CPU加速设计方案

若集群中计算机(数据处理计算机71)数量较多,可以利用集群中的多CPU共同分担计算。在具体实施过程中,以三维重建过程为例:X射线平板探测器31得到的投影数据传给数据采集模块50的数据采集计算机53,由数据采集计算机53通过通讯模块240以负载均衡的方式将图片均分给集群中的数据处理计算机71。集群中的数据处理计算机71利用CPU依次进行加权、滤波以及反投影计算,并指定一台数据处理计算机71进行累加运算,集群中其他数据处理计算机71将计算后的结果传给此数据处理计算机71,该数据处理计算机71再累加完成,得到三维图像以后,回传给数据采集计算机53,数据采集计算机53便可显示图片,此种方式的框架图如图8所示。

(2)多GPU加速设计方案

在单GPU加速的方案中,要求在CPU端读取单张投影数据,现在CUDA可以访问所有内存,GPU可以通过PCI-E访问CPU的内存,待GPU将各分度图片计算完毕以后,最后将结果累加,得到重建的三维数据保存。CUDA在编程和优化过程中,需要判别算法中任务的串行和并行的执行部分,由于在FDK算法3个步骤之间良好的并行性,可以对每张图片分别处理,然后累加,各过程相对独立,框架图如图9所示。

在本发明的集群中,节点计算机(数据处理计算机71)可以为服务器、工作站、刀片机也可以是PC机。必须具备处理芯片(CPU)以及支持CUDA架构的NIVDA的图形处理器(GPU)。在集群中利用集群计算机(数据处理计算机71)的GPU组成GPU集群,更可以充分发挥集群计算机(数据处理计算机71)的性能,提高FDK算法处理速度。这样就可以实现利用较少的集群规模实现良好的加速效果。在具体实施过程中,CPU负责任务的调度和串行任务的执行,GPU负责并行任务的执行。还是以三维重建过程为例:X射线平板探测器31得到的投影数据传给数据采集计算机51,由数据采集计算机51通过通讯模块240以负载均衡的方式将图片均分给集群中的数据处理计算机71。集群中的数据处理计算机71在CPU端读取单张投影数据,并且利用GPU来运算充分利用GPU的多核心特征,对加权、滤波以及反投影三个过程依次进行并行加速。最后在CPU端得到运算结果并发送给指定的数据处理计算机71完成累加运算,得到三维图像。并将三维图像回传数据采集计算机51,或者是远程终端,显示图片,框架图如图10所示。

在这个框架中集群互连网络是集群系统搭建的一个很关键的环节,实现了连接各个计算节点的互连网络,是影响集群性能的一个主要因素。在传输过程中,既要保证传输的速度,也要确保传输的准确性,还应该考虑整个集群网络的可扩展性,并且可以实现远程操控功能。

本实施例中,通讯模块240的设计如下:

本系统采用局域网下的分布式通信体系,采用双向服务器模式。每个模块建立点对点的通信信道,其中任意一个模块可主动通过socket请求连接其他特定模块,获得该模块请求的图像信息、控制命令或设备状态信息等。另一方面,该模块向其他模块发送自身网络地址、监听端口等信息,方便其他模块反连到该模块,实现了系统各个子模块之间的自动握手流程。在握手完成后便可通过匹配的socket实现上述信息的传递,设计图如图11所示。

本实施例中,通信协议设计如下:

本发明的通信模块240基于TCP/IP设计,要实现各个子模块之间的通信,需要socket发送和接收请求之外,还需要自定义应用层通信协议,主要包括以下内容:

(1)报文:报文是此通信协议传输的一个最小单位。一条报文包含了接收对象编译所需的所有信息。每条报文特定结构的报头开始,后接一个报体,并以一个报尾结束。报头只由一些常用的数据类型组成,而报体综合各种数据类型,具体由报头决定。这样即使报体含有不明类型的数据,接收者也可轻易通过报头得知报体的长度信息,数据类型等。因此此协议在用户自定义数据类型的情况下也能保持兼容性,结构图如图12所示。

(2)报头格式:

连接标识符:在此系统中每一台主机的唯一编号,通过socket建立一条通信信道,此后数据交换都通过这个单一的一条信道进行。

时间戳:连接建立后用来通知其他模块系统时间。系统开始时间由32位全0填充并由导航平台开始计时,其他模块连接后将计时后的时间发送给接收模块,作为接收模块的开始时间。

报体类型:用来标识本报文的类型,比如二维图片数据、三维图像或者是控制命令。

报体长度:存储数据部分的长度。

保留位:此位不做任何规定,用于以后软件升级。

通信过程描述如下:

首先每一台数据处理计算机71都会保存自己要连接的其他主机的IP值以及端口号,并且每个模块都有数个服务端线程和客户端线程,各数据处理计算机71启动时会激活其服务端线程。然后数据处理计算机71开始客户端线程,针对每一个要连接的数据处理计算机71分别创建一个新的线程,向要连接的数据处理计算机71发送连接请求和握手信息。每一台相互连接的数据处理计算机71都会产生2个套接字,分别实现相反方向的数据传输,采用这种异步式的传输方式,防止传输阻塞。

每当客户端线程获取要传输的数据或者收到远程终端的控制命令后,都会将数据或者命令按照通讯协议进行整理并转换成一定格式,当数据量大时,进行分包处理并分包发送。而每当收到报文信息以后,都会首先分析报头,并根据包头的内容进行解包和拼接。

可以理解的是,本发明提供的医学成像系统包括所述C型臂X光机及所述控制系统。

相对于现有技术,本发明提供的C型臂X光机具有如下优点:其一、C型臂X光机整合三维成像功能,充分利用了C型臂X光机灵活、小巧的特点,方便医生使用;其二、具备通讯模块,可实现远程控制,可以与其他平台搭配使用,并可以使用此通讯模块实现集群内数据处理计算机之间的通讯;其三、可快速实现三维锥束CT重建过程,有效减少数据处理和图像重建的时间。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1