虚拟结肠镜中全自动快速中心线生成方法

文档序号:6335141阅读:208来源:国知局
专利名称:虚拟结肠镜中全自动快速中心线生成方法
技术领域
本发明涉及的是一种医学图像处理技术领域的方法,具体地说,是一种虚拟结肠镜中全自动快速中心线生成方法。
背景技术
近年,随着计算机图形学和医学影像学的不断发展,计算机辅助医疗成为研究的热门,其中虚拟内窥镜(Virtual Endoscopy--VE)也从提出走向了快速发展的过程。医学影像数据一般由计算机断层扫描(Computed Tomography-CT)和磁共振成像(Magnetic Resonance Image--MRI)等技术获取,虚拟内窥镜技术正是由计算机根据医学影像数据建立虚拟组织环境,并完成器官组织的检查。较之于传统内窥镜技术,它具有无创伤,高精度,无危险,无副作用等诸多优点。现在,已经研究出了虚拟结肠镜(Virtual Colonoscopy--VC)、虚拟支气管镜(Virtual Bronchoscopy)、虚拟血管镜(Virtual Angioscopy)等VE应用,并开始应用于临床。虚拟结肠镜的核心是中心线自动生成方法。快速高效的中心线生成算法一直是此系统的重点和难点。现有中心线生成算法,一般可以分类为手工生成方法、细化算法和距离影射算法。距离影射算法从图论的角度出发,将体数据看成一个图,每个体素为图的顶点,几何上两邻顶点用边连接。中心线就是从始点到终点的一条路径,使用Dijkstra最短路径算法计算得出。显然,距离影射方法能保证中心线的连通性和单一性,在中心性方面,一般认为它很难达到细化算法的中心性。Ingmar Bitter等提出了一个惩罚距离的方法解决中心性问题,该方法对与边缘体素所相邻的边的增加一定的惩罚距离,从而使得最短路径不会靠近边缘,该方法还通过梯度方法有效的裁减了边缘数据,当计算梯度本身也需要较大的代价。
经对现有技术的文献检索发现,Ming Wang等人在《IEEE医学图像处理期刊(IEEE Transactions On Medical Imaging)》上发表的“虚拟结肠镜中结肠中心线自动提取算法(Automatic Centerline Extraction for VirtualColonoscopy)”(2002,21(12)1450-1460)一文中提出的中心线算法首先计算出所有体素到边缘的距离(Distance From Boundary-DFB),然后用1/DBF(p)作为到点p的边的权值,该方法简单有效的解决了传统算法的中心性问题。但是由于没有考虑到位于边缘的边和位于肠道中心的边对中心线影响的权重是不同的,采用这种方法在肠道的拐弯处就会出现包络现象,极大地影响了中心线的求解效果。

发明内容
本发明的目的在于克服现有技术的不足,提供一种虚拟结肠镜中全自动快速中心线生成方法,使其通过一个新的快速双向距离调整算法(BidirectionalDistance Adjust--BDA)求取所有体素到边缘的距离DFB,并以DFB为依据对边进行更为合理的赋权提高中心性。同时,提出了新的边缘体素裁减算法,以很小的代价裁减边缘数据,显著减少了Di jkstra最短路径算法所处理的数据量,从而大幅提高了中心线生成的速度。
本发明是通过以下技术方案实现的,本发明首先通过数据分割及二值化将结肠组织体数据从整个腹部体数据中分割出来,再采用双向调整距离变换算法求取DBF(体素到边缘的距离),然后采用边缘数据裁减,对结肠数据进行预处理,以时间代价裁减掉结肠的边缘体素,缩短Dijkstra最短路径计算步骤的时间,最后采用Dijkstra算法生成中心线。
以下对本发明方法作进一步的描述,具体步骤如下1.数据分割及二值化所述的数据分割及二值化方法是将保留区域设定为结肠体素的密度范围,对腹部数据进行二值化计算。然后进行领域增长,选取结肠外部任一密度为0的体素作为种子,将所有遍历到的体素密度置为0,其余体素置为1,然后,选取结肠内部任一体素作为种子,将所有遍历到的体素密度设置为1,其它体素密度置为0。
数据分割是提取特定组织形体的过程,是医学图像处理中重要一环,也是中心线生成的必要前提。在结肠镜系统中,经CT或者MRI技术一般得到的是整个人体腹部数据,包括结肠、小肠、肾脏、椎骨等所有位于腹部的人体组织。当所有组织混杂一起时,细化算法和距离影射算法都将无法进行。分割算法将结肠组织体数据从整个腹部体数据中分割出来并进行二值化,位于结肠组织上的体素密度置为1(称为前景点或前景体素),所有其它体素密度置为0(称为背景点或背景体素)。本发明在考察结肠组织时发现结肠相对于大部分其它人体组织器官具有形状简单,体素密度低且均匀等优点。经过二值化,结肠以及其它与结肠密度相近的组织得到保留,而其它组织的体素全部被置为0,即被去除了,对腹部数的二值化的实验表明,二值化后腹部数据之有结肠和部分小肠得到保留,其余绝大部分组织被成功去除了。领域增长采取结肠外部和内部两次计算是因为结肠内部本身包括很多离散的密度为0的体素,若直接从内部增长,这些体素密度仍然保持为0,不符合实际需要。需要说明的是这里所说的领域增长和一般医学图像的领域增长分割算法有很大区别,领域增长分割算法每遍历一个新的体素是都要对其密度作出分析,进行复杂的判断才能决定是否接受,而这里的领域增长只需要测试所遍历体素的密度值(0或者1)即可直接做出判断,因此比一般的领域增长分割算法要快的多。
2.三维欧几里得距离变换(3D Euclidean Distance Transform-EDT)求取DBFEDT计算结肠内所有体素到边缘(结肠壁)的Euclidean距离,它是改善中心线中心性的依据,在本发明中它还是边缘数据剪裁的基础。在26连通领域中,相邻点间的Euclidean距离有 三种,由于开根计算复杂,一般有1-2-3、3-4-5等近似表示。本发明提出了一个新的简单快速的DFB距离变换算法——双向调整距离变换算法(Bidirectional Distance Adjust--BDA)。它采取10-14-17近似表示三种邻边的Euclidean距离,相对一般的近似表示更为准确,且未增加任何复杂度。算法时间复杂度为0(n),其中n为结肠体素的数量。
首先,定义三维二值图像为一个三维点阵,图像在X、Y、Z方向上的解析度N0、N1、N2对应于点阵在第1、第2、第3维上的大小,点阵上各点的值为0或者1(1表示该点为象素点或前景点,0表示该点为非象素点或背景点),这样图像可以由函数I描述如下
I(n0,n1,n2)={0,1},n0∈[0,N0),n1∈[0,N1),n2∈[0,N2),或者表示为I(p)={0,1},p表示点p(n0,n1,n2),n0∈[0,N0),n1∈[0,N1),n2∈[0,N2)。
令D(p)表示点p到边缘的距离,p(n0,n1,n2)为当前前景点,Neib(p)表示与点p的相邻点的集合,d(p1,p2)表示相邻点p1,p2点间的距离(10,14或17),则对点p(n0,n1,n2)作单点调整的过程为(1)D(p)=I(p)(2)p′∈Nei(p)如果D(p)>D(p′)+d(p,p′),则令D(p)=D(p′)+d(p,p′),如果D(p′)>D(p)+d(p,p′),则令D(p′)=D(p)+d(p,p′),双向调整的意义之一就在于在一次D(p)与D(p′)比较过程中,同时调整D(p)与D(p′)。
(3)I(p)=D(p);p′∈Nei(p)I(p′)=D(p′)以下给出二维情况下对点p的调整过程。
二维情况下对点p的调整,在1到2的调整中,点p被调整为38;在3到4的调整中,邻点被调整为52。
单点调整又分为正向调整和逆向调整,二者的区别是遍历邻域点集Neib(p)的顺序不同。在正向调整中,遍历顺序为从左下角到右上角,而逆向调整则相反。这样,完整的双向调整距离变换算法(BDA)算法描述如下(1)p,I(p)=+∞。
(2)令i,j,k分别从0,0,0循环递增至N0,N1,N2,对p(i,j,k)作正向调整。
(3)令i,j,k分别从N0,N1,N2循环递减至0,0,0,对p(i,j,k)作逆向调整。
BDA调整之后的点阵函数I(p)即为DFB(p)。即所得图像体素的密度等于该体素的DBF距离。
3.边缘数据裁减本发明采用逐点扩张方法来对边缘数据进行裁减。逐点扩张方法首先将所有极大中心体素看作互不相邻的分支,依次逐步扩展每个分支,直到所有分支连通为止。令C表示极大中心体素数组,cn表示极大中心体素数,mn表示已合并的极大中心体素分支数,px表示单个体素,N(px)表示与体素px相邻的所有体素集合,B(px)表示以px为球心向外扩张时处于球面上的体素集合,它们是px所在分支下一步扩张的种子。
在距离影射中心线算法中Dijkstra最短路径计算是最为耗时的部分,其时间复杂度与结肠体素数量成正比,本发明在Dijkstra最短路径计算之前,对结肠数据进行预处理,以时间代价裁减掉结肠的边缘体素,缩短Dijkstra最短路径计算步骤地时间。在EDT计算之后,结肠体素的密度值表示了体素到结肠边缘的近似Euclidean距离。本发明定义密度不小于所有相邻体素密度的体素为极大中心体素。显然极大中心体素具有极好的中心性,但由于只能和相邻26个体素比较,导致极大中心体素有很强的局部性,如结肠弯道和皱褶会导致大量不在中心线上的极大中心体素,因此无法使用简单的插值方法计算中心线。同时极大中心体素是离散体素的集合,不具有连通性,因此不能对其作Dijkstra最短路径计算。本发明采取逐点扩张方法将所有离散极大中心体素连接起来形成一个连通集,裁减掉所有其它结肠体素,实验证明该方法是快速有效的,平均可以裁减掉原始结肠2/3的体素量。
4.中心线生成本发明以MAX-DFB作为路经上到达某体素边的权值,MAX是一个保证MAX-DFB非负的足够大的整数,加上Dijkstra算法来求最短路径作为中心线。对于中心线抽取过程中始点和终点的确定,一般始点可由人工确定,也可由算法确定。本发明将位于图像左下角的极大中心体素作为始点。终点的确定比较容易,在完成Dijkstra算法之后,将距始点有最长的最短路径的点作为终点,然后从终点反退至始点,记录下沿途经过的所有体素,将这些体素(包括始点和终点)按序连接即求得中心线。
数据裁减制后,应用Dijkstra算法求可直接求取最短路径作为中心线,但如果不对边的权值作进一步处理的话,在肠道的拐弯处就会出现包络现象。究其原因是因为肠壁和肠道中心部分的边的权值相等时,包络肠道的中心线路径将最短,因此,要使得中心线远离肠壁,就必须区别肠壁与肠道中心部分的边的权值,使得靠近肠壁处边的权值较大,而靠近肠道中心处边的权值较小。Ming Wan以1/DFB作为路经上到达某体素边的权值,该方法简单可行,但由于最短路径长度是累加加性的,以1/DFB作为权值与路径的累加性不容。从另一个角度说,从肠壁到中心,1/DFB的值并非随着DFB的递增而相应递减的,它会在肠壁处递减较快,而越往中心递减越慢,这就会导致中心线在拐弯处仍存在一定的包络问题。在本发明中的方法保持了路径长度的累加性,更好的解决了包络问题。
本发明具有简单、快速、准确的特点,较好的解决了前面方法所存在的计算速度慢、精确度不够高,以及在特殊情况下适应性不够好的缺点,有广泛的适用范围。从总体上将路径生成算法的时间效率提高了3倍。
具体实施例方式
1.通过CT扫描人体获得并读入两组三维图像。数据一的解析度分别为512×512×549,像素间距为0.714844毫米,切片间距为1.0毫米;数据二的解析度为512×512×320,像素间距为0.80毫米,切片间距为1.5毫米;2.通过二值化和领域增长。将保留区域设定为结肠体素的密度范围,对腹部数据进行二值化计算。选取结肠外部任一密度为0的体素作为种子,将所有遍历到的体素密度置为0,其余体素置为1,选取结肠内部任一体素作为种子,将所有遍历到的体素密度设置为1,其它体素密度置为0。从而将结肠数据从其他数据中分离。
3.通过双向调整距离变换算法。采取10-14-17近似表示三种邻边的Euclidean距离,相对一般的近似表示更为准确,且未增加任何复杂度。算法时间复杂度为0(n),其中n为结肠体素的数量。首先,定义三维二值图像为一个三维点阵,通过对点进行正向和逆向调整,求得结肠内所有体素到边缘(结肠壁)的距离,成为提取中心线的依据;4.进行边缘数据裁减,对结肠数据进行预处理,以较小的时间代价裁减掉结肠的边缘体素,缩短Dijkstra最短路径计算步骤地时间。结肠体素的密度值表示了体素到结肠边缘的近似Euclidean距离。本发明定义密度不小于所有相邻体素密度的体素为极大中心体素。显然极大中心体素具有极好的中心性,但由于只能和相邻26个体素比较,导致极大中心体素有很强的局部性,如结肠弯道和皱褶会导致大量不在中心线上的极大中心体素,因此无法使用简单的插值方法计算中心线。同时极大中心体素是离散体素的集合,不具有连通性。本发明采取逐点扩张方法将所有离散极大中心体素连接起来形成一个连通集,裁减掉所有其它结肠体素,实验证明该方法是快速有效的,平均可以裁减掉原始结肠2/3的体素量。逐点扩张方法首先将所有极大中心体素看作互不相邻的分支,依次逐步扩展每个分支,直到所有分支连通为止;5.通过Dijkstra最短路径方法求取中心线。Dijkstra算法是典型最短路算法,用于计算始点到终点的最短路径。在本发明中,以MAX-DFB作为路经上到达某体素边的权值,MAX是一个保证MAX-DFB非负的足够大的整数。将位于图像左下角的极大中心体素作为始点。终点的确定比较容易,在完成Dijkstra算法之后,将距始点有最长的最短路径的点作为终点,然后从终点反退至始点,记录下沿途经过的所有体素,将这些体素(包括始点和终点)按序连接即求得中心线。
系统运行于PC平台之上,操作系统为windows XP,实验所使用的PC的主要配置为CPU主频2.66GHz,内存1.0G,显卡为GeForce4MX 440。试验结果如下

在PC平台上,对于常见的临床肠道CT数据,全自动中间线算法的运算时间平均为24.5秒。对于每个数据,中间线只需要求取一次后保存到磁盘文件中,便可重复使用,因此平均24.5秒的时耗是完全可以接受的。
权利要求
1.一种虚拟结肠镜中全自动快速中心线生成方法,其特征在于,首先通过数据分割及二值化将结肠组织体数据从整个腹部体数据中分割出来,再采用双向调整距离变换算法求取DBF,然后采用边缘数据裁减,对结肠数据进行预处理,以时间代价裁减掉结肠的边缘体素,缩短Dijkstra最短路径计算步骤的时间,最后采用Dijkstra算法生成中心线。
2.根据权利要求1所述的虚拟结肠镜中全自动快速中心线生成方法,其特征是,所述的数据分割及二值化方法是将保留区域设定为结肠体素的密度范围,对腹部数据进行二值化计算,然后进行领域增长。
3.根据权利要求2所述的虚拟结肠镜中全自动快速中心线生成方法,其特征是,所述的数据分割及二值化方法是选取结肠外部任一密度为0的体素作为种子,将所有遍历到的体素密度置为0,其余体素置为1,然后选取结肠内部任一体素作为种子,将所有遍历到的体素密度设置为1,其它体素密度置为0。
4.根据权利要求1所述的虚拟结肠镜中全自动快速中心线生成方法,其特征是,所述的双向调整距离变换算法是指(1)p,I(p)=+∞;(2)令i,j,k分别从0,0,0循环递增至N0,N1,N2,对p(i,j,k)作正向调整;(3)令i,j,k分别从N0,N1,N2循环递减至0,0,0,对p(i,j,k)作逆向调整,BDA调整之后的点阵函数I(p)即为DFB(p),即所得图像体素的密度等于该体素的DBF距离。
5.根据权利要求1所述的虚拟结肠镜中全自动快速中心线生成方法,其特征是,以MAX-DFB作为路经上到达某体素边的权值,MAX是一个保证MAX-DFB非负的足够大的整数,加上Dijkstra算法来求最短路径作为中心线。
全文摘要
一种虚拟结肠镜中全自动快速中心线生成的方法,属于医学图像处理及应用领域。本发明首先通过数据分割及二值化将结肠组织体数据从整个腹部体数据中分割出来,再采用双向调整距离变换算法求取DBF,然后采用边缘数据裁减,对结肠数据进行预处理,以时间代价裁减掉结肠的边缘体素,缩短Dijkstra最短路径计算步骤的时间,最后采用Dijkstra算法生成中心线。本发明以很小的代价裁减边缘数据,显著减少了Dijkstra最短路径算法所处理的数据量,从而大幅提高了中心线生成的速度。
文档编号G06T7/00GK1776741SQ20051011066
公开日2006年5月24日 申请日期2005年11月24日 优先权日2005年11月24日
发明者顾力栩 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1