发明内容
本发明解决的问题是提供一种血管提取方法,用于解决大动脉肿瘤等病变血管的提取不足。为了解决上述问题,本发明提供了一种血管提取方法,包括:
包括读取血管造影图像的序列;设定血管的起始面,根据所述起始面进行血管传播,依次形成若干层的血管面,以从所述血管造影图像中提取血管;所述血管提取还包括获取所述血管面的灰度梯度值,并通过对所述灰度梯度值进行梯度判断,以提取出病变血管。
可选的,包括:通过将所述血管面的灰度值与所述起始面的灰度值或相邻的血管面的灰度值进行比较,获得所述血管面上像素点的灰度梯度值。
可选的,包括:所述梯度判断包括:提供梯度阈值及像素点占比;计算所述血管面上像素点的灰度梯度值,比较所述灰度梯度值与梯度阈值;若所述血管面中,所述灰度梯度值小于所述梯度阈值的像素点数的占比小于所述像素点占比,则所述血管面对应为病变血管,并将所述病变血管提取为血管。
可选的,若所述血管面中,所述灰度梯度值小于所述梯度阈值的像素点数的占比不小于所述像素点占比,则所述血管面对应为骨头结构。
可选的,通过快速行进算法向周围进行所述血管传播。
可选的,所述快速行进算法包括求解程函方程。
可选的,所述血管提取包括:所述血管传播形成血管面后,还包括对所述血管面进行半径判断和/或分叉判断,其中,所述半径判断用于判断所述血管面是否为有效血管面;所述分叉判断用于判断所述血管面是否为分叉血管面。
可选的,若血管提取形成有病变血管,则通过所述血管提取方法形成的血管包括起始面、有效血管面和病变血管;若血管提取未形成有病变血管,则通过所述血管提取方法形成的血管包括起始面和有效血管面。
可选的,所述半径判断包括:提供半径阈值,基于所述半径阈值对所述血管面进行判断,若所述血管面的血管半径小于所述半径阈值,则所述血管面为有效血管面;若所述待提取血管的半径不小于所述半径阈值,则继续对所述血管面进行所述梯度判断,以判断所述血管面是否为病变血管。
可选的,所述半径阈值的范围为所述起始面的半径的1.5~3倍。
可选的,所述半径阈值为所述起始面的半径的2倍。
可选的,对所述血管面进行所述半径判断后,若所述血管面为有效血管面,还包括进行分叉判断,包括:若所述血管面形成的区域为连通域,则所述血管面未存在分叉点;若所述血管面形成的区域为非连通域,则所述血管面存在分叉点,并基于所述分叉点将所述非连通域划分为若干数目的连通域,以形成若干的血管面,并对基于分叉点形成的若干血管面进行所述半径判断,以确定是否为有效血管面。
可选的,所述血管提取还包括:设定长度阈值;若根据所述血管传播长度超过所述长度阈值,则保存提取的血管面,并将结束的血管面作为结束面,所述结束面和起始面作为所述提取血管的两个端面。
可选的,以所述结束面为新的起始面,进行血管提取。
可选的,所述血管传播结束后,还包括在血管传播结束位置的邻域内进行血管查找,以提取细小血管分支。
可选的,所述血管查找包括:提供血管造影值的有效范围,并在所述血管传播结束位置的邻域内查找是否有属于所述血管造影值的有效范围的像素点,若有,则以所述像素点为起始点进行血管提取。
可选的,所述起始面为起始点的集合,通过手动或自动种子点算法获取所述起始点。
可选的,所述提供血管起始面前包括:读取血管造影图像;提供灰度阈值,并采用区域增长方法去除大于所述灰度阈值的图像,完成初步去骨。
可选的,所述病变血管包括血管瘤、钙化血管或硬化血管。
与现有技术相比,本发明具有以下优点:
因为病变血管的半径与骨头结构的半径近似,通过现有技术极易被误判为骨头结构,导致所述病变血管的提取不足,本发明通过对所述血管面的灰度值进行梯度判断,以提取病变血管,避免提取不足而丢失病变血管;
进一步地,利用血管的拓扑结构,并通过半径判断、分叉判断和梯度判断对所述血管造影图像进行血管提取,提高所述血管提取的有效性和精确度;
进一步地,在所述血管传播结束后,还包括在血管传播结束位置的邻域内进行血管查找,避免细小血管的丢失,进一步地提高血管提取的精确度。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,本发明利用示意图进行详细描述,在详述本发明实施例时,为便于说明,所述示意图只是实例,其在此不应限制本发明保护的范围。现有技术的血管提取方法如区域增长、动态轮廓等很容易将骨头等组织误当成血管提取,造成提取不足,或者将动脉肿瘤等当成非血管组织去除,造成提取不全。
为解决上述问题,本发明提供一种血管提取方法,包括读取血管造影图像的序列;设定血管的起始面,根据所述起始面进行血管传播,依次形成若干层的血管面,以从所述血管造影图像中提取血管;所述血管提取还包括获取所述血管面的灰度梯度值,并通过对所述灰度梯度值进行梯度判断,以提取出病变血管。
本发明通过对所述血管面的灰度值进行梯度判断,以提取病变血管,避免提取不足而丢失病变血管。具体地,通过将所述血管面的灰度值与所述起始面的灰度值进行比较,获得所述血管面上像素点的灰度梯度值。
获取所述灰度梯度值后,进行梯度判断,包括:提供梯度阈值及像素点占比;计算所述血管面上像素点的灰度梯度值,比较所述灰度梯度值与梯度阈值;若所述血管面中,所述灰度梯度值小于所述梯度阈值的像素点数的占比小于所述像素点占比,则所述血管面对应为病变血管,并将所述病变血管提取为血管。
反之,若所述血管面中,所述灰度梯度值小于所述梯度阈值的像素点数的占比不小于所述像素点占比,则所述血管面对应为骨头结构。
进一步地,所述血管提取包括:所述血管传播形成血管面后,还包括对所述血管面进行半径判断和/或分叉判断,其中,所述半径判断用于判断所述血管面是否为有效血管面;所述分叉判断用于判断所述血管面是否为分叉血管面。
若血管提取形成有病变血管,则通过所述血管提取方法形成的血管包括起始面、有效血管面和病变血管;若血管提取未形成有病变血管,则通过所述血管提取方法形成的血管包括起始面和有效血管面。
如图1所示为本发明一个实施例的血管提取方法的流程示意图,包括:
执行步骤S1,读取数据。所述数据为经造影扫描获得的血管造影图像,其中,所述血管造影图像中包含有血管和近似血管结构的骨头或其他结构。后续地,需要将血管从所述血管造影图像中提取出来。
进一步地,获取所述血管造影图像后,还包括提供灰度阈值,并采用区域增长方法去除大于所述灰度阈值的图像,完成初步去骨。通过上述初步去骨后,所述血管造影图像中的部分骨头结构被剔除,以进一步精确后续的血管提取工作。
继续参考图1,执行步骤S2,设定所述血管的起始面。具体地,包括,通过手动或自动选取种子点的方式,在所述血管造影图像中选取种子点,并通过获取种子点的集合对应获取起始面。后续的血管提取将沿所述起始面进行血管传播,以提取血管。
执行步骤S3,将所述起始面放入处理队列。血管提取中的血管传播是沿所述处理队列中的起始面开始,所述处理队列中有一个或一个以上的起始面,所述血管传播需要将所述处理队列中所有的起始面都完成血管传播为终止。
执行步骤S4,判断处理队列是否为空。若是,则血管提取结束。若否,则执行步骤S5,即从处理队列中取出起始面。
若执行步骤S6,向前进行血管传播。具体地,通过快速行进算法(Fast-Marching)向周围进行所述血管传播,并且通过求解程函(Eikonal)方程进行所述快速行进算法计算每个像素点的能谱U值,相同的能谱U值形成一个血管面。对应于不同的能谱U值,则对应构成若干层不同的血管面。具体地,首先初始化,对所述起始面中任一起始点开始,记所述起始点为Alive点,所述Alive点表示所以已到达的点,其对应的能谱U值保持不变,所述起始点的U值记为0。
从所述Alive点的邻域内的像素点开始计算,通过求解程函(Eikonal)方程,获得所述邻域内的像素点的U值。其中,所述当前待计算的像素点,即所述邻域内的点记为Trial点,其U值为1。除所述Alive点及Trial点外的点记为Far点,其U值=无穷大。
具体地,所述Trial点的U值通过求解下列公式中的u值获得:
(max{u-Ui-1,j,k,u-Ui+1,j,k,0})+
(max{u-Ui,j-1,k,u-Ui,j+1,k,0})+
(max{u-Ui,j,k-1,u-Ui,j,k+1,0})=1
下面将进行循环迭代,通过计算获得Alive点,所有的Alive点构成所述血管面。寻找所述Trial点集合中U值最小的点,将该点从Trial点集合中取出,设置为Alive点,其U值将被固定。查找所述Trial点集合中U值最小的点周围6邻域(或4邻域)的点,如果是Far点,则把它加入Trail点集合,并计算其U值,如果已经是Trail点,则更新其U值。
按照上述的循环迭代,当所有的Trail点都变为Alive点,即所有的U值都已经固定。
执行步骤S7,血管传播是否结束。即按照所述血管传播进行,并判断是否满足血管传播的结束条件,所述结束条件为是否所有Trail点都变为Alive点,若所述所有的Trail点都变为Alive点,对应于血管提取即血管自然结束,所有是血管的点都被提取出。
若所述血管传播结束,则执行步骤S8,邻域细小血管的查找确认。即包括在血管传播结束位置的邻域内进行血管查找,以提取细小血管分支。所述血管查找包括:提供血管造影值的有效范围,并在所述血管传播结束位置的邻域内查找是否有属于所述血管造影值的有效范围的像素点,若有,则以所述像素点为起始点进行血管提取。直至所有的细小血管提取完毕。则执行步骤S4,判断处理队列是否为空。并根据判断结果进行后续的处理。
若所述血管传播未结束,则执行后续的半径判断、梯度判断和分叉判断。具体地,执行步骤S9,判断当前血管面是否为有效血管面。具体地通过半径判断,包括:提供半径阈值,基于所述半径阈值对血管传播获得的血管面进行判断,若所述血管面的血管半径小于所述半径阈值,则所述血管面为有效血管面;若所述待提取血管的半径不小于所述半径阈值,则继续对所述血管面进行所述梯度判断,以判断所述血管面是否为病变血管。
其中,所述半径阈值的范围为所述起始面的半径的1.5~3倍。较佳地,所述半径阈值为所述起始面的半径的2倍。
所述半径判断的依据为骨头结构和血管的半径的差异,但是若所述血管发生病变,则可能造成病变血管和骨头结构的半径近似。所以,若所述半径判断为无效血管,则还需要对其进行梯度判断,以将病变血管提取出来。
若血管提取形成有病变血管,则通过所述血管提取方法形成的血管包括起始面、有效血管面和病变血管;若血管提取未形成有病变血管,则通过所述血管提取方法形成的血管包括起始面和有效血管面。
根据上述判断的判断结果进行后续处理,若所述半径判断后,所述血管面为有效血管面,则执行步骤S11,判断所述血管面是否为分叉血管面。若所述血管面不是有效血管面,则执行步骤S10,判断所述血管面是否为病变血管面。所述病变血管包括血管瘤、钙化血管或硬化血管。
若步骤S9的判断结果为无效血管面,执行步骤S10的梯度判断,即判断是否为病变血管。包括:首先通过将所述血管面的灰度值与所述起始面的灰度值或相邻的血管面的灰度值进行比较,获得所述血管面上像素点的灰度梯度值。
具体地,坐标点为i,j,k对应的灰度梯度值Gi,j,k的计算公式如下:
Gi,j,k=|Ii,j,k-Ii-1,j,k|+|Ii,j,k-Ii+1,j,k|+
|Ii,j,k-Ii,j-1,k|+|Ii,j,k-Ii,j+1,k|+
|Ii,j,k-Ii,j,k-1|+|Ii,j,k-Ii,j,k+1|
其中,I为对应像素点的灰度值。上述公式为通过将所述血管面的灰度值与相邻的血管面的灰度值进行比较,获得所述血管面上像素点的灰度梯度值。作为其他实施例,还可以通过将所述血管面的灰度值与所述起始面的灰度值进行比较,获得所述血管面上像素点的灰度梯度值。
通过上述计算后,获得对应的灰度梯度值。接着,提供梯度阈值及像素点占比;计算所述血管面上像素点的灰度梯度值,比较所述灰度梯度值与梯度阈值;若所述血管面中,所述灰度梯度值小于所述梯度阈值的像素点数的占比小于所述像素点占比,则所述血管面对应为病变血管,并将所述病变血管提取为血管,即执行步骤S16,接受当前血管面,提取为血管。后续地,所述血管会接受若干层的血管面和病变血管,直至形成完整的血管。
若所述血管面中,所述灰度梯度值小于所述梯度阈值的像素点数的占比不小于所述像素点占比,则所述血管面对应为骨头结构,则执行步骤S15,拒绝当前血管面,并保存当前提取的血管。保存血管后,循环执行至步骤S4继续判断处理队列是否为空。
所述像素点占比可以为80%~90%,较佳地,所述像素点占比为90%。
通过上述梯度判断后,将病变血管从所述无效血管中提取出来,提高血管提取的精确度。如图2所示为本发明一个实施例的通过梯度判断的血管提取图片。左图为无梯度判断的血管提取,右图为本发明经过梯度判断的血管提取效果图,两图相比较可见,左图为现有技术未采用梯度判断的效果图,现有方法丢失病变血管和细小血管,而经过本发明的梯度判断后,可以提取出病变血管及丢失的细小血管。
若步骤S9的判断结果为有效血管面,则执行步骤S11,判断所述血管面是否为分叉血管面。包括:若所述血管面形成的区域为连通域,则所述血管面未存在分叉点,则执行步骤S12,接受当前血管面,提取为血管。后续地,所述血管会接受若干层的血管面和病变血管,直至形成完整的血管。
若所述血管面形成的区域为非连通域,则所述血管面存在分叉点,则执行步骤S13根据分叉点形成多层血管面,基于所述分叉点将所述非连通域划分为若干数目的连通域,以形成若干的血管面,并执行步骤S14的分叉是否有效,对基于分叉点形成的若干血管面进行所述半径判断,以确定是否为有效血管面。
具体地,若存在分叉,则执行步骤S14,通过判断分叉后形成的若干层的血管面是否为有效血管面,以判断所述分叉是否有效,判断方法可以使用本发明中的半径判断,即提供半径阈值,基于所述半径阈值对血管传播获得的血管面进行判断,若所述血管面的血管半径小于所述半径阈值,则所述血管面为有效分叉,则执行步骤S16,接受当前血管面,提取为血管。后续地,所述血管会循环接受若干层的血管面和病变血管,直至形成完整的血管。
若所述待提取血管的半径不小于所述半径阈值,则为无效分叉,则执行步骤S15,拒绝当前血管面,并保存当前提取的血管。并在拒绝当前血管面后,循环执行至步骤S6继续向前进行血管传播。
作为其他实施例,还可以对所述无效分叉进行本发明中的梯度判断,在此不赘述。
上述执行步骤S12后,即接受非分叉的当前血管面,提取为血管后,执行步骤S17,血管传播长度是否到达长度阈值。包括:设定长度阈值;若血管传播长度超过所述长度阈值,则执行步骤S18,保存当前提取的血管,将当前血管面作为新的起始面。即结束当前血管提取,结束的血管面作为结束面,所述结束面和起始面作为所述提取血管的两个端面。若所述血管传播长度不大于所述长度阈值,则循环执行步骤S6,向前进行血管传播。
上述执行步骤S16后,即接受当前血管面,提取为血管后,则直接执行步骤S18,保存当前提取的血管,将当前血管面作为新的起始面。即结束当前血管提取,结束的血管面作为结束面,所述结束面和起始面作为所述提取血管的两个端面。
执行步骤S18后,则循环执行步骤S3,将所述起始面放入处理队列。并进行后续的处理。包括血管传播,及传播过程中的半径判断、梯度判断和半径判断。
通过上述步骤中的循环及判断,直至所述步骤S4的判断结果为是,结束整个的血管提取的循环流程。本发明适用于人体各部位的血管提取,包括头部、胸部、腹部、下肢等。如图3所示为本发明一个实施例的血管造影图像的血管提取的效果图。依次分别对应为胸腹部、胸部、腹部、下肢及胸部等部位血管提取图片,该系列效果显示本发明的方法对不同部位的血管提取均有效,均可以提取出病变血管和细小血管。
本发明适用于大动脉肿瘤血管等病变血管的提取且避免提取不足,同时适用于细小分支血管的提取且避免过提取。本发明虽然增加了梯度信息的校正,但仍能快速提取出血管造影图像中的血管,如下肢腹部血管提取约10s,头胸部约1分钟。相比之下,同样提取效果的现有技术,其下肢血管提取约5-10分钟,其他部位约3-5分钟。
与现有技术相比,本发明具有以下优点:因为病变血管的半径与骨头结构的半径近似,通过现有技术极易被误判为骨头结构,导致所述病变血管的提取不足,本发明通过对所述血管面的灰度值进行梯度判断,以提取病变血管,避免提取不足而丢失病变血管;
进一步地,利用血管的拓扑结构,并通过半径判断、分叉判断和梯度判断对所述血管造影图像进行血管提取,提高所述血管提取的有效性和精确度;
进一步地,在所述血管传播结束后,还包括在血管传播结束位置的邻域内进行血管查找,避免细小血管的丢失,进一步地提高血管提取的精确度。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。