专利名称:一种快速高保真地构造血管内超声长轴影像的方法
技术领域:
本发明涉及医学影像处理技术领域,具体地说涉及一种快速高保真地构造血管内超声长轴影像的方法。
背景技术:
在全世界范围内,目前冠状动脉性心脏病(简称冠心病)是导致人类死亡的首要原因之一,而冠状动脉介入治疗手术是治疗冠心病的最主要手段。最近新兴起的血管内超声(IVUS)影像被认为是辅助冠状动脉介入治疗手术最好的一种影像方式。IVUS影像的获取是微创式的,通过在导管上加一个非常小型的高频超声探头,通过病人的血管将其放置到医生怀疑有病变的冠脉中,通过马达控制,匀速回拉探头,从而得到一系列的血管内窥影像。
目前医生对于IVUS影像的阅片方式主要是长轴成像法,假设总共获取了N帧影像,医生可以在第一帧影像上用鼠标定义一条直线段AB(请参看附图1),因为IVUS影像的中心一般是血管内壁等医生感兴趣的区域,加上导管的高回波区,所以直线段AB是通过图像的中心点C的,医生通过鼠标操作,可以绕中心点C旋转直线段AB,直至得到比较满意的角度,此时系统会在第一帧影像上沿着直线段AB进行图像采样,得到一条线数据并映射到长轴影像的1号线上,其中A、B、C分别映射到A′、B′、C′上,因为N帧影像的大小都是相等的,因此A、B的坐标可以直接应用到第2~N帧影像上,通过同样的过程,可以得到长轴影像的第2~N号线的图像数据。医生通过观察和测量长轴影像,可以得到血管壁、斑块、支架放置等信息,从而辅助手术或者评价手术后支架释放贴壁情况。
因为IVUS影像的获取是通过马达控制匀速回拉获取的,目前典型的回拉速率是0.5mm/s,假设要获取5cm的数据,那么需要采集100秒,以25帧/s的速率来计算,那么总共获取N=2500帧影像,实际上临床中一次获取的数据量经常为N>4000帧。每帧影像的分辨率一般是512×512,每个像素8bit或者16bit,因此临床中典型的IVUS数据量为512×512×4000×16÷8=2000MB。这么庞大的数据量给长轴影像的快速构造带来了很大的挑战,目前已有的方法都是在图像质量上作了折中以便达到实时生成长轴影像的目的,比如考虑到N远远大于目前显示器的分辨率,因此在生成长轴影像时,可以采用下采样的方法,每隔若干条线计算一次,这样可以成倍地减少计算量,但是生成的长轴影像的质量也随之下降很多。另外,目前的算法只是在一帧影像上沿着一条直线进行采样,只采用了图像的二维插值,没有利用相邻帧进行三维插值,为了追求计算速度,图像插值算法用的是最近邻插值算法或者双线性插值算法,而更高阶的插值算法因为运算量太大,无法达到实时的计算速度,因此目前没有被采用。
最近几年,高性能计算的趋势发生了很大的变化,普通民用显卡所包含的图形处理单元(GPU,Graphics Processing Unit)芯片的计算能力越来越强,逐渐地超越了传统的中央处理器(CPU)的计算能力,并且允许开发人员使用类似C语言的语法直接对显卡进行编程,如美国NVidia公司的Cg、CUDA编程语言,Microsoft公司的HLSL编程语言,OpenGL架构委员会的GLSL编程语言等。目前GPU越来越多地被应用于通用计算,在图像处理、视频处理、三维游戏等领域显示了强大的并行计算能力,使得原来一些非常难以实时处理的算法变得可能,比如三维医学影像数据的实时体绘制(Volume Rendering),在目前的主流显卡上可以30帧/s的速度绘制512×512×512规模的数据集。另外一个发展趋势是利用GPU强大的计算能力,将传统的算法中为了提高绘制速度而对图像质量所作的折中给消除,使用最高精度的计算方法,从而得到最高质量的图像,比如美国的Fovia公司(http://www.fovia.com/index.php)在2007年提出了高保真体绘制(High Definition Volume Rendering)的算法,从而将传统体绘制的图像质量提高了一个档次。
考虑到GPU相比于CPU计算的优势以及在体绘制方面取得的成功,在IVUS影像设备或者软件中提供一种基于GPU的针对大数据量IVUS影像的高保真长轴影像构造算法,是非常有意义的。
发明内容
本发明的目的是解决目前IVUS影像设备或者软件中所使用的长轴影像构造算法精度不够高的问题,为此,提供一种高保真的实时大数据量IVUS长轴影像构造方法。
为达成所述目的,本发明提供的一种快速高保真地构造血管内超声长轴影像的方法,包括步骤如下 步骤1加载三维血管内超声数据,其宽度和高度分别为W像素、H像素,影像帧数为N,相邻像素x向物理间距为xs毫米,y向物理间距为ys毫米,相邻两帧影像之间z向物理间距为zs毫米; 步骤2获取用户指定的直线段AB,用于构造血管内超声长轴影像,直线段AB与x轴的夹角为θ; 步骤3沿着三维血管内超声数据的第一帧影像所在平面进行四叉树均匀划分,使得叶子节点的大小为M×M; 步骤4对四叉树从根节点开始递归遍历,并处理每个节点,包括 判断当前节点是否与直线段AB相交,如果当前节点与直线段AB相交并且当前节点不为叶子节点,则继续递归遍历;如果当前节点与直线段AB相交并且当前节点为叶子节点,则执行步骤5;如果当前节点与直线段AB不相交则直接返回父节点继续遍历; 步骤5计算叶子节点与直线段AB的交点F、G的x、y坐标,并同时得到第M+1帧影像上对应点交点F′、G′的x、y坐标,使得交点F′的x坐标等于交点F的x坐标,交点G′的坐标等于交点G的坐标,交点F′、G′的z坐标分别等于交点F、G的z坐标加上M×zs;绘制平面FF′G′G,同时将叶子节点所在的数据块以三维纹理的方式传输至图形处理单元处理;将上述过程重复
次,每次只需将交点F、G、F′、G′的z坐标分别加上M×zs,对应的块数据随之更新即可; 步骤6图形处理单元的片段着色器中对绘制平面FF′G′G所产生的每个片段进行三维的样条曲线插值。
本发明的优点是按照本发明提供的技术方案,使用基于GPU的计算架构,通过四叉树数据结构对三维IVUS数据进行分块处理,一方面解决数据量太大不能全部加载到GPU显存中的问题,另外一方面提高对GPU纹理缓存的利用效率,另外通过使用三维的样条曲线插值,大大提高了图像的质量。本发明使用目前普通民用显卡提供的GPU计算架构,可以对512×512×4000×16bit这样大规模的IVUS影像数据,达到每秒钟30帧以上的高保真长轴影像构造速度。相比于已有的方法,本发明没有使用任何图像下采样方法来降低图像分辨率,并且完全在GPU中计算三维的样条曲线插值,相比于二维的最近邻插值或者双线性插值,可以得到更高的计算精度,同时仍然能够达到实时的计算速度。另外,本发明提供了一种新的基于四叉树对三维数据进行空间分块的方法,相比于传统的基于八叉树的方法,可以大大减少需要的额外存储量,另外也可以加速遍历树的速度。本发明所提供的方法可以充分挖掘利用当代GPU所提供的强大的并行计算能力,从而将传统的IUVS长轴影像构造算法升级为下一代高保真的算法,将图像质量提升一个档次。
图1是传统IVUS长轴影像构造的示意图。
图2是构造全局坐标系和视点坐标系的示意图。
图3是四叉树分块处理的示意图。
图4是判断指定直线段是否与某个叶子节点相交的示意图。
具体实施例方式 下面结合附图和实施例详细说明本发明技术方案中所涉及的各个细节问题。应指出的是,所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。
与传统的方法对每一帧加载三维血管内超声(IVUS)影像分别处理不同,本发明采用了基于三维图像插值的方法,因此把所有的N帧影像当做一个三维的体数据,把IVUS长轴影像构造看做一个三维平面对三维体数据的采样过程,这个需要合适的坐标系才能保证正确的计算。
附图2给出了全局坐标系和视点坐标系的构造示意图,为了方便起见,全局坐标系的坐标原点0与第1帧影像的左下角重合,全局坐标系的xoy平面与第1帧影像所在的平面重合,x轴正向由左至右,y轴正向由下向上,其它N-1帧影像垂直于z轴顺序排列,z轴正向由第1帧指向第N帧,相邻两帧之间的z向距离zs=马达回拉速度/帧频。虽然N帧影像是离散的,但是通过图像插值算法可以重构出一个连续的三维体数据,因此在图中并没有画离散的每一帧,而是用了一个连续的长方体来表示这个三维的体数据。医生在第1帧上指定的直线段AB垂直于z轴投影可以确定一个平面ABDE,沿着ABDE平面均匀采样,就可以构造出长轴影像。
确定了全局坐标系之后,还需要构造一个合适的视点坐标系,如果视点坐标系选择不合适的话,那么ABDE平面投影到视平面上将会是一个平行四边形,而达不到传统的长轴构造的效果。本发明中选择A点作为视点坐标系的原点o′,AB作为视点坐标系的x′轴,AE作为视点坐标系的y′轴,视点坐标系的z′轴按照左手定则,选择垂直于x′o′y′平面且通过o′点的直线。另外,投影方式选择平行投影,视锥体分别通过A、B、D、E四个顶点。
在上述构造坐标系的基础上,可以有一个很简单的方法来实现IVUS影像的长轴构造首先将N帧IVUS影像作为一个三维纹理传输至图形处理单元(GPU)显存,然后分别将A、B、D、E四个点的全局坐标作为它们的纹理坐标,通过绘制平面ABDE,可以利用GPU硬件中的光栅化单元和三线性纹理插值单元来得到IVUS长轴影像。这个算法的原理和传统CT、MRI(核磁共振)影像处理中的多平面重建(MPR)算法的原理是相同的,但是很遗憾,在大数据量的IVUS长轴影像构造中并不适用,因为典型的IVUS影像的数据量往往大于2GB,而目前除了少数价格非常昂贵的专业级显卡之外,大部分显卡的显存都远远少于2GB,目前主流的中高端显卡的显存一般在256MB到1GB之间,并且不能全部用于三维纹理。
为了解决这个问题,本发明中把一个大的IVUS三维数据分成若干个M×M×M的小块,M一般选择为2的整数次方,并且尽量使得一个小块的数据能够完全被GPU的三维纹理缓存所容纳,因为GPU硬件的纹理缓存往往都比较小,因此M不能太大,如果M取值太大以至于纹理缓存不能包含一小块的数据,那么GPU在做计算的时候,就要大量地访问速度比较慢的纹理显存,速度会受到很严重的影响。在本发明中,M取值32,但是具体实施的时候,可以根据所用显卡纹理缓存的大小来适当地调节M的取值,以达到最快的运算速度。
将数据分块以后,可以减少很多不必要的纹理显存,因为在所有的数据块中,和平面ABDE相交的只占很少一部分,而只是这很少的一部分需要传输到GPU中,去作进一步的计算。这样虽然解决了显卡显存不足的问题,但是另外一个问题又浮现出来因为每个数据块都要和平面ABDE作相交计算,按照M=32来计算,对于一个512×512×4000的数据集来说,总共需要的块数是32000,计算32000个平面-长方体的求交计算需要非常大的计算量。传统上解决这类问题的办法是使用八叉树进行递归的分层次分块,首先将整个数据集从空间上分为大小相等的八个块,每个块是其父块的子节点,然后对每个块再递归地八等分,直到块大小小于等于M为止才停止划分。在绘制的时候,从根节点开始,自顶向下遍历八叉树,对于每个节点,如果其不跟平面ABDE相交,那么其所有的子节点也不可能跟平面ABDE相交,因此能够很快速地把不相关的块在很高的层次上就抛弃掉,大大减少需要进行求交计算的块数。
但是基于八叉树的方法存在一些缺点首先,八叉树需要很大的额外存储空间,还按照M=32为例,八叉树的叶子节点为32000个,以满八叉树计算,加上所需的中间节点,总共约需37000个节点的存储空间;其次,八叉树的递归遍历比较复杂和耗时;最后,使用八叉树就必然要进行平面-长方体的求交运算,而这个运算是个三维几何运算,也需要一定的复杂度。
本发明中提供了一个新的基于四叉树递归分块的方法,四叉树只能用于两维空间的递归划分,之所以能够适用于三维空间的划分,完全是由于利用了IVUS长轴影像构造算法的特殊性所得到的。请参看附图3,可以仅在第1帧影像上应用四叉树递归地分块,然后计算直线段AB和每个数据块所对应的二维的长方形区域求交,所求得的交点坐标可以直接应用于z向上下一个块,而无需在z向上递归分块。如图中AB和某个块相交于F点,那么垂直投影F点到第1+M帧上,可以得到F′点,其x,y坐标和F点x、y坐标相同,仅z坐标不同zF′=zF+Zs×M,其中zF′为F′点的z坐标,zF为F点的z坐标。通过这样的处理,每个块的大小仍然为M×M×M,只不过通过遍历四叉树所计算得到的每个交点的坐标,在z向上都可以重复利用
次。
使用基于四叉树的递归分块方法,具有如下优点首先,四叉树所需要的额外存储空间非常小,还用上述M=32的例子,四叉树的叶子节点只需要(512/32)2=256,以满四叉树计算,加上所需的中间节点,总共需要341个节点;其次,因为341个节点所占的存储空间很小,可以很容易地加载到CPU的L1 Cache(一级缓存)中,另外四叉树的深度只有4,这两个因素使得遍历小型的四叉树效率非常高;最后,使用四叉树避免了复杂的三维平面-长方体求交,而只需计算比较简单的二维直线段-长方形求交。
附图4给出了计算直线段AB和任意一个四叉树的叶子节点所对应的长方形求交的示意图,长方形的四个顶点的坐标由四叉树的叶子节点所记录,不失一般性,假设分别为(x0,y0)、(x1,y0)、(x1,y1)、(x0,y1)。另外,假设一帧IVUS影像的宽度为W个像素,高度为H个像素(目前临床中使用最多的影像,其W和H均为512像素),相邻像素x向物理间距为xs,y向物理间距为ys,直线段AB和x轴的夹角为θ,则图像中心点C点的坐标为(Cx,Cy)=(W·xs/2,H·ys/2)),直线段AB的参数方程可以表示为 其中t为参数,x(t)、y(t)为直线段AB上任意一点的x、y坐标;其与直线x=x0,x=x1的交点分别为(x0,Cy+(x0-Cx)tanθ),(x1,Cy+(x1-Cx)tanθ),与直线y=y0,y=y1的交点分别为(Cx+(y0-Cy)cotθ,y0),(Cx+(y1-Cy)cotθ,y1),接着判断以下四个条件 如果四个条件都不满足,那么直线段AB和此叶子节点不相交,如果四个条件都满足,则直线段AB和此叶子节点相交,并且交点坐标也可由上述计算得到。当直线段和长方形相交并且直线段不经过长方形的四个顶点之一时,上述四个判断条件中有且只有两个满足,此时图4中的F、G两个点分别位于长方形的两条不同的边上;当直线段仅通过长方形的四个顶点之一,与其它的边都不相交时,上述四个判断条件中有两个满足,必然有重合的顶点,去掉重合的顶点,此时F、G两个点重合于相交的顶点;当上述四个判断条件中有三个满足时,此时必然是直线段通过长方形的某个顶点,但是同时又经过长方形的某条边,此时F、G两个点中有一个和相交的顶点重合;当上述四个判断条件同时满足时,只可能是直线段通过长方形的两个对角顶点,此时F、G两个点即为相交的两个顶点。不管在上述哪种情况之下,都可以算出F、G两个点的x,y坐标,而F′、G′两个点(参看附图3)的x、y坐标是分别等于F、G的x、y坐标的,其z坐标分别是F、G的z坐标加上M×zs得到的,此时将包含平面FF′G′G的大小为M×M×M的块数据作为三维纹理传输至GPU纹理显存,并在三维空间中绘制平面FF′G′G,就完成了对一个数据块的处理,也得到了整个长轴影像的一部分。上述F、G的x、y坐标要重复利用
次,每次z坐标加上M×zs,对应的块数据也随之更新,这样处理一个四叉树的叶子节点求交计算,就可以在z向上处理
个数据块,通过遍历整个四叉树,就可以处理完所有的
个数据块,每个数据块所包含的平面FF′G′G,拼在一起看好组成了整个平面ABDE,因此可以得到完整的长轴影像。
上述四叉树遍历和求交运算都是在CPU中完成的,绘制平面FF′G′G是利用GPU的光栅化硬件,把平面光栅化成为一系列离散的像素点,每个像素点叫做Fragment,记录有自己的坐标、颜色等信息,会送给GPU的片段着色器(Fragment Shader)作进一步的处理。GPU的FragmentShader是一个可编程的器件,可以使用GLSL、Cg、HLSL或者CUDA等语言对其进行编程,以达到自己特定的计算目的。目前GPU硬件中同时存在多个Fragment Shader,可以并行地对多个片段(Fragment)处理,因此可以大大提高计算速度。本发明中使用GPU的Fragment Shader对平面光栅化后的每个像素点进行三维样条插值计算,以同时保证图像的高质量和运算的高性能。
在GPU的Fragment Shader中可以得到当前处理的像素点的屏幕坐标(xf,yf,zf),以及视点变换投影矩阵Mmvp,由它们可以计算出当前处理的像素点所对应的全局坐标(xg,yg,zg),计算公式如下 [xg,yg,zg]T=Mmvp-1[xf,yf,zf]T 因为图像插值需要在数据空间中进行,因此还需要计算数据空间的坐标(xv,yv,zv),计算公式如下 [xv,yv,zv]T=[xg/xs,yg/ys,zg/zs]T 并且满足 通过上述坐标变换计算得到的xv,yv,zv不一定是整数,但是IVUS影像数据只提供了W×H×N个离散的采样值,因此需要使用图像插值算法得到任意浮点数(xv,yv,zv)坐标处的采样值。传统的算法为了保证计算速度,往往采用最近邻插值或者双线性插值算法,得到的图像质量比较差,本发明中使用精度更高的三维样条曲线插值算法,其计算公式为
其中I(x,y,z)为三维IVUS影像数据在第z帧上(x,y)坐标处的像素值,f为三维样条曲面函数,为了计算简单,一般选择f使得其满足 f(x,y,z)=f(x)·f(y)·f(z) 这样上述三维插值运算将能够分离成三个单独的一维插值运算,如下式所示
通过这样的分离计算,可以将三维的样条曲面函数求值化简为一维的样条曲线函数求值,并且可以按照先行后列最后帧这样的顺序来计算一维的插值,大大减少了计算量。不过即使这样,对一个Fragment的插值计算仍然需要672次乘法,64次内存访问,如果所需的数据不在CPU的缓存内的话,那么内存访问是一个代价非常高的操作,因为IVUS影像数据的大容量,并且每次插值都需要访问连续四帧内的数据,因此CPU缓存机制在大部分情况下是失效的。假设IVUS影像的大小为512×512×4000,为了高保真地构造长轴影像,其分辨率至少应该为
,也就是说包含至少2896310个Fragment,而为了达到实时的更新速度,一秒钟至少应该能够更新30次,因此1秒钟需要的乘法个数为672×2896310×30,大于580亿次,内存访问次数大于50亿次,这在目前的个人电脑上是无法实现的,因此尽管其图像质量的优越性,现有的算法都没有使用三维样条曲线插值。
本发明中充分利用GPU的单指令多数据(SIMD)运算能力,去解决这一问题。GPU硬件内部在存储纹理时,往往对于RGBA四通道格式的纹理处理最有效,每通道是32位的浮点数,因此每个纹理像素(Texel)由128bit组成,在计算时可以并行地同时处理4个浮点数的乘法和加法。通过仔细观察式(1),其可以重新写成长度为4的矢量点积的求和操作
其中(xv,yv,zv)分别为待处理的Fragment映射到数据空间的x、y、z坐标,i,j,k为求和索引变量,为加载三维血管内超声影像数据在第z帧上(x,y)坐标处的像素值,f为样条曲线函数,
是长度为4的矢量
同样也是长度为4的矢量
<,>是矢量点积运算。通过同样的操作,式(2)中对j和k的求和也可以分别改写成长度为4的矢量点积计算,因此要计算式(1),总共需要21次长度为4的矢量点积,使用图形处理单元的单指令多数据矢量点积运算,一次完成一个长度为4的矢量点积,可以通过GPU的SIMD指令在21个时钟周期中完成。关于内存访问,因为之前已经将数据分成M×M×M的小块,其中每个小块都能加载到GPU的纹理缓存中,因此理论上对每一个数据块,只需要一次比较慢的显存访问,以后所有的纹理访问,都直接从缓存中获取。
以上所述,仅为本发明中的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种快速高保真地构造血管内超声长轴影像的方法,其特征在于,步骤如下
步骤1加载三维血管内超声数据,其宽度和高度分别为W像素、H像素,影像帧数为N,相邻像素x向物理间距为xs毫米,y向物理间距为ys毫米,相邻两帧影像之间z向物理间距为zs毫米;
步骤2获取用户指定的直线段AB,用于构造血管内超声长轴影像,直线段AB与x轴的夹角为θ;
步骤3沿着三维血管内超声数据的第一帧影像所在平面进行四叉树均匀划分,使得叶子节点的大小为M×M;
步骤4对四叉树从根节点开始递归遍历,并处理每个节点,包括
判断当前节点是否与直线段AB相交,如果当前节点与直线段AB相交并且当前节点不为叶子节点,则继续递归遍历;如果当前节点与直线段AB相交并且当前节点为叶子节点,则执行步骤5;如果当前节点与直线段AB不相交则直接返回父节点继续遍历;
步骤5计算叶子节点与直线段AB的交点F、G的x、y坐标,并同时得到第M+1帧影像上对应点交点F′、G′的x、y坐标,使得交点F′的x坐标等于交点F的x坐标,交点G′的坐标等于交点G的坐标,交点F′、G′的z坐标分别等于交点F、G的z坐标加上M×zs;绘制平面FF′G′G,同时将叶子节点所在的数据块以三维纹理的方式传输至图形处理单元处理;将上述过程重复
次,每次只需将交点F、G、F′、G′的z坐标分别加上M×zs,对应的块数据随之更新即可;
步骤6在图形处理单元的片段着色器中对绘制平面FF′G′G所产生的每个片段进行三维的样条曲线插值。
2.根据权利要求1所述的快速高保真地构造血管内超声长轴影像的方法,其特征在于,所述叶子节点与直线段AB相交的计算方法,包括
从叶子节点中获取其对应的长方形的四个顶点坐标为(x0,y0)、(x1,y0)、(x1,y1)和(x0,y1);
计算直线段AB中心点C点的坐标Cx,Cy为(Cx,Cy)=(W·xs/2,H·ys/2));
计算直线段AB的参数方程
其中t为参数,x(t)、y(t)为直线段AB上任意一点的x、y坐标;
计算直线段AB与直线x=x0的交点(x0,Cy+(x0-Cx)tanθ);
计算直线段AB与直线x=x1的交点(x1,Cy+(x1-Cx)tanθ);
计算直线段AB与直线y=y0的交点(Cx+(y0-Cy)cotθ,y0);
计算直线段AB与直线y=y1的交点(Cx+(y1-Cy)cotθ,y1);
判断以下四个条件
是否满足,如果四个条件都不满足,那么直线段AB和此叶子节点不相交,如果四个条件至少有一个满足,则直线段AB和此叶子节点相交,并且每满足一个条件,就可以得到一个交点坐标,当满足的条件大于2个时,必然有重合的顶点,去掉重合的顶点,可以得到两个交点F、G的坐标。
3.根据权利要求1所述的快速高保真地构造血管内超声长轴影像的方法,其特征在于,所述三维样条曲线插值算法,包括
将传统的插值计算公式
改写为基于长度为4的矢量点积的运算
其中(xv,yv,zv)分别为待处理的片段映射到数据空间的x、y、z坐标,i,j,k为求和索引变量,I(x,y,z)为加载的三维血管内超声影像数据在第z帧上(x,y)坐标处的像素值,f为样条曲线函数,
是长度为4的矢量
也是长度为4的矢量
<,>是矢量点积运算;
使用图形处理单元的单指令多数据矢量点积运算,一次完成一个长度为4的矢量点积,通过21次矢量点积运算来完成所述三维样条曲线插值。
全文摘要
本发明公开了一种快速高保真地构造血管内超声长轴影像的方法,使用基于图形处理器的并行计算架构,通过四叉树数据结构对大数据量三维IVUS数据进行高效管理,递归遍历四叉树并且计算长轴影像所在平面与四叉树节点的交点坐标,将长轴影像分解为一系列小的平面,然后再送至图形处理器绘制并作插值计算。解决数据量太大不能全部加载到图形处理器显存中的问题,提高图形处理器纹理缓存的利用效率。将三维样条曲线插值使用图形处理器的单指令多数据矢量点积来计算,提高了运算速度和图像的质量。本发明在普通中高档显卡上,对512×512×4000×16bit这样大规模的IVUS影像数据,达到每秒钟30帧以上的高保真长轴影像构造速度。
文档编号G06T1/00GK101739661SQ20091024234
公开日2010年6月16日 申请日期2009年12月9日 优先权日2009年12月9日
发明者赵明昌, 何晖光 申请人:中国科学院自动化研究所