劉振宇 白 冰 胡深明 單晶心
基于廣度優(yōu)先搜索算法計(jì)算視網(wǎng)膜血管彎曲度和長(zhǎng)度
劉振宇 白 冰 胡深明 單晶心
目的 通過(guò)多年臨床經(jīng)驗(yàn)可知,眼底血管是人體唯一可以通過(guò)非創(chuàng)傷性直接觀察的較深層的微血管,通過(guò)這些微血管的彎曲度和長(zhǎng)度可以表征視網(wǎng)膜狀態(tài),進(jìn)一步診斷疾病。方法 本文介紹一種基于廣度優(yōu)先搜索算法,將視網(wǎng)膜血管分布看成血管樹,利用遍歷法計(jì)算視網(wǎng)膜中血管長(zhǎng)度(即每個(gè)節(jié)點(diǎn)間的距離)及彎曲度。結(jié)果 通過(guò)imagej軟件利用此方法測(cè)量十五種不同形態(tài)位置的血管段長(zhǎng)度和彎曲度,并與人工測(cè)量的血管數(shù)據(jù)進(jìn)行對(duì)比,對(duì)比所得數(shù)據(jù),驗(yàn)證此計(jì)算方法是否能準(zhǔn)確有效的表征血管長(zhǎng)度及彎曲度,將其作為診斷疾病的有力依據(jù)。結(jié)論 通過(guò)對(duì)比2組數(shù)據(jù),此方法能快速準(zhǔn)確的計(jì)算出血管長(zhǎng)度,減少人為測(cè)量的誤差。
段長(zhǎng)度;彎曲度;微血管;遍歷
隨著社會(huì)的發(fā)展、人口的老齡化以及人們工作方式生活習(xí)慣的改變,Ⅱ型糖尿病已經(jīng)成為人類健康面臨的“重大殺手”。目前,我國(guó)糖尿病死亡率在不斷上升,糖尿病在臨床醫(yī)學(xué)上的表現(xiàn)主要是從人體內(nèi)的微循環(huán)和微血管的變化開(kāi)始的,人體唯一可以直接觀察到的比較深層的微血管便是眼底的眼底血管。許多疾病的發(fā)生常會(huì)在眼底反映出來(lái)。眼底血管是循環(huán)系統(tǒng)的末端部分,利用對(duì)眼底血管所攜帶的豐富信息,進(jìn)行人體組織與器官的無(wú)損傷的功能評(píng)價(jià)的技術(shù)方法是目前臨床醫(yī)學(xué)的研究方向,這種技術(shù)方法不僅可以檢測(cè)到早期糖尿病,還可以觀察糖尿病從早期變化到末期的過(guò)程,詳細(xì)的描述了整個(gè)病發(fā)狀態(tài)。醫(yī)師通過(guò)眼底病變程度和病發(fā)狀態(tài)制定有效的治療方案。本文中通過(guò)對(duì)采集到的眼底醫(yī)學(xué)圖像進(jìn)行圖像處理,為醫(yī)師提供診斷依據(jù)。通過(guò)醫(yī)學(xué)鑒別和分析之后,采取更加有針對(duì)性的治療方案。通過(guò)結(jié)合臨床經(jīng)驗(yàn)和圖像處理方法,研發(fā)眼底血管病變分割處理方法,此系統(tǒng)對(duì)糖尿病的篩查、預(yù)防和早期治療,具有十分重要的現(xiàn)實(shí)意義。
1.1 一般資料 通過(guò)多年臨床經(jīng)驗(yàn)可知,眼底血管是人體唯一可以通過(guò)非創(chuàng)傷性直接觀察的較深層的微血管[1],越來(lái)越多的臨床醫(yī)生希望找到微血管的變化與疾病之間的關(guān)系。視網(wǎng)膜是一個(gè)分層組織,負(fù)責(zé)神經(jīng)信號(hào)光的轉(zhuǎn)換,被認(rèn)為是大腦的一部分。眼底圖像由血管樹和視盤組成,其中血管樹可以表現(xiàn)出血管的各類特征信息(見(jiàn)圖1),分叉角(θi),血管段長(zhǎng)度(Xi),曲率(κi)和血管半徑(Yi)。在三維空間中兩個(gè)分叉點(diǎn)之間的真實(shí)距離即歐幾里得距離[2]σi,這些數(shù)據(jù)的變化都會(huì)反映某種疾病的早期特征,如糖尿病早期會(huì)造成動(dòng)脈血管半徑變小,靜脈血管半徑變大等[3]。
圖1 血管特征信息
目前研究發(fā)現(xiàn),某些疾病會(huì)導(dǎo)致視網(wǎng)膜血管的角度或各個(gè)分支之間距離發(fā)生變化,即可通過(guò)血管彎曲度(κi)檢測(cè)疾病的嚴(yán)重程度。血管彎曲度(κi)(公式1)
本研究的目的是開(kāi)發(fā)一個(gè)算法,計(jì)算兩個(gè)分叉點(diǎn)之間的路徑的長(zhǎng)度,并確定血管的彎曲度。利用廣度優(yōu)先搜索方法找到完整的血管樹結(jié)構(gòu)的分支。計(jì)算兩個(gè)分叉點(diǎn)之間的長(zhǎng)度Xi,以及之間的距離分叉點(diǎn)σi。
1.2 方法
1.2.1 廣度優(yōu)先搜索算法 廣度優(yōu)先算法(breadthfirst-search),又稱作寬度優(yōu)先搜索,或橫向優(yōu)先搜索,簡(jiǎn)稱BFS,是一種圖形搜索演算法[4]。簡(jiǎn)單的說(shuō),BFS是從根節(jié)點(diǎn)開(kāi)始,沿著樹的寬度遍歷樹的節(jié)點(diǎn),如果發(fā)現(xiàn)目標(biāo),則演算終止。使用這種方法能清晰標(biāo)度出圖像中分叉點(diǎn)的位置,只有在獲得視神經(jīng)盤和分叉點(diǎn)的位置的基礎(chǔ)上,才能進(jìn)一步確定分叉點(diǎn)之間的距離和血管長(zhǎng)度。
將分割好的眼底血管圖像的像素視為圖:像素(圖節(jié)點(diǎn))連接相鄰的像素(或邊緣)。廣度優(yōu)先搜索算法搜索目標(biāo)的圖通過(guò)檢查每個(gè)節(jié)點(diǎn)的相鄰節(jié)點(diǎn)。對(duì)于每個(gè)這些相鄰節(jié)點(diǎn),算法評(píng)估未經(jīng)檢驗(yàn)的節(jié)點(diǎn),直到所有的像素都評(píng)估。在這項(xiàng)研究中,該算法使用廣度優(yōu)先搜索找到端點(diǎn)和分叉點(diǎn)的血管分支。要做到這一點(diǎn),進(jìn)行以下步驟:
(1)圖像像素都存儲(chǔ)在一個(gè)數(shù)組中,用白色標(biāo)記出(見(jiàn)圖2a)。
從一個(gè)任意的起點(diǎn),第一個(gè)像素是“黑”的標(biāo)簽。“白色”所有的鄰居像素的標(biāo)記“灰色”(見(jiàn)圖2b)。
(2)只要有“灰色”像素,隨機(jī)選擇其中一個(gè)標(biāo)記為黑色。所有的白色鄰國(guó)標(biāo)記灰色(見(jiàn)圖2c)。有兩個(gè)白色的鄰居,如果當(dāng)前像素標(biāo)記為一個(gè)分支點(diǎn)(見(jiàn)圖2d)。如果當(dāng)前像素沒(méi)有白色的鄰居,像素標(biāo)記為一個(gè)端點(diǎn)。像素標(biāo)記為黑色和鄰國(guó)標(biāo)記為灰色
(3)重復(fù)步驟2,直到?jīng)]有更多的灰色像素。在這種情況下,研究了一個(gè)組件的所有像素(見(jiàn)圖2e)。
(4)如果有白色像素的圖像,這一過(guò)程重復(fù)從新的起點(diǎn)(隨機(jī)選擇白色像素),直到所有的像素都評(píng)估。
圖2
該算法的步驟:(A)所有骨架像素標(biāo)記為白色。(B)第一個(gè)像素標(biāo)記灰色發(fā)現(xiàn)的算法。(C)灰色像素顏色的黑色和鄰國(guó)的灰色。這是對(duì)每個(gè)像素重復(fù)。(D)該算法找到一個(gè)分歧點(diǎn)當(dāng)兩個(gè)白色鄰居發(fā)現(xiàn)和顏色的灰色。(E)最終的結(jié)果,所有像素標(biāo)記為黑色。
1.2.2 計(jì)算的血管段長(zhǎng)度 在鄰近的像素中,計(jì)算當(dāng)前像素與其鄰近節(jié)點(diǎn)之間的距離。通過(guò)總結(jié)這些兩個(gè)分叉點(diǎn)之間的距離,兩個(gè)分支之間的血管的長(zhǎng)度就可以計(jì)算。這個(gè)長(zhǎng)度計(jì)算方法也表現(xiàn)在搜索算法。即每個(gè)像素的長(zhǎng)度I,第一個(gè)像素到遇到分叉點(diǎn)的時(shí)候所經(jīng)過(guò)像素的個(gè)數(shù)X,即像血管段長(zhǎng)度L(公式2)。
1.2.3 計(jì)算血管彎曲度 確定血管段的彎曲度,需要計(jì)算血管段的長(zhǎng)度和其端點(diǎn)之間的歐幾里得距離。對(duì)于每個(gè)分叉和每個(gè)端點(diǎn)計(jì)算這個(gè)歐幾里得距離是必要的。曲線的彎曲度可以估計(jì)作為一個(gè)弧-弦比:長(zhǎng)度L和兩點(diǎn)間直線距離C之比(公式3)。
在血管圖像中選取以下幾種血管形態(tài)結(jié)構(gòu)作為算法測(cè)試圖像(見(jiàn)圖3):
(1)直線型:三個(gè)類似的測(cè)量長(zhǎng)度從一個(gè)起點(diǎn)到一個(gè)端點(diǎn)。
(2)十字型:十字路口交叉點(diǎn)的線。
(3)s型:長(zhǎng)度和兩個(gè)半圓的弧長(zhǎng)形成一個(gè)s形。
圖3
節(jié)點(diǎn)之間的直線距離如圖4的算法進(jìn)行計(jì)算。每個(gè)標(biāo)簽包含最后一次分叉的距離或距離最后的起點(diǎn)。
圖4
選取十五處不同形態(tài)位置的血管,利用imagej[5]計(jì)算處血管段長(zhǎng)度和彎曲度,并與人工測(cè)量數(shù)據(jù)進(jìn)行對(duì)比。
Imagej能打開(kāi)任意多的圖像進(jìn)行處理。除了基本的圖像操作[6],比如縮放,旋轉(zhuǎn),扭曲,平滑處理外,Imagej還能進(jìn)行圖片的區(qū)域和像素統(tǒng)計(jì),間距,角度計(jì)算,能創(chuàng)建柱狀圖和剖面圖,進(jìn)行傅里葉變換[7]。
血管置形狀 段長(zhǎng)度(px) 彎曲度(px) 準(zhǔn)確度(px)s型 452 1.81 0.679 s型 332 1.32 0.865 s型 375 1.75 0.723 s型 698 1.45 0.712 s型 523 1.23 0.69 s型 546 1.69 0.732 s型 512 1.7 0.801直線型 213 1.02 0.92直線型 146 1.2 0.93直線型 235 0.68 0.89直線型 302 1.54 0.78十字型 256 0.96 0.83十字型 237 1.33 0.92十字型 103 1.1 0.88
如圖5,在標(biāo)記為黑色圓形處選取十五處形態(tài)位置各不相同的血管進(jìn)行測(cè)量。
圖5
通過(guò)上述表格可以看出,本文所用算法能快速的對(duì)段長(zhǎng)度和彎曲度進(jìn)行測(cè)量,且準(zhǔn)確率很高,同時(shí)也發(fā)現(xiàn)s型測(cè)量的兩組數(shù)據(jù)差距較大,有兩個(gè)因素造成這種結(jié)果產(chǎn)生:
(1)軟件對(duì)s型不規(guī)則,所測(cè)量?jī)芍c(diǎn)的直線距離存在誤差;
(2)人工測(cè)量方法也同樣存在誤差。
[1] 朱宏擎.基于灰度-梯度共生矩陣的視網(wǎng)膜血管分割方法[J].上海交通大學(xué)學(xué)報(bào),2004,38(9):1485-1488.
[2] 陳漢軍,楊雪.歐幾里德距離的幾種定義與應(yīng)用[J].天津輕工業(yè)學(xué)院學(xué)報(bào),2003,23(2):65-66.
[3] 劉亞麗,尹翠梅.糖尿病血管病變研究進(jìn)展[J].中西醫(yī)結(jié)合心腦血管病雜志,2005,31(12):432-434.
[4] 陳偉,付宇潔,秦科.基于二叉樹的加密算法[J].實(shí)驗(yàn)科學(xué)與技術(shù),2006,29(12):81-83.
[5] 徐桓,段新安.ImageJ軟件在大型醫(yī)療設(shè)備質(zhì)量檢測(cè)中的應(yīng)用[J].中國(guó)醫(yī)學(xué)裝備,2011,6(11):20-22.
[6] 王智文.幾種邊緣檢測(cè)算子的性能比較研究[J].制造業(yè)自動(dòng)化,2012,5(11):14-16.
[7] 陳文靜,蘇顯渝,曹益平,等.傅里葉變換輪廓術(shù)中抑制零頻的新方法[J].中國(guó)激光,2004,26(6):740-744.
Objective Through many years clinical experience, the retinal blood vessels is the body only can be observed directly by non traumatic deep capillaries, curvature and the length can be characterized by these capillaries retinal status, further diagnosis. Methods This paper introduces a based on the breadth-first search algorithm, the distribution of retinal blood vessels as a vascular tree, through the calendar is used to calculate the length of the blood vessels in the retina (i.e., the distance between each node) and bending. Results By imagej software use this way to measure the 35 different forms of bending and vessel length, and comparison with data of artificial measurement of blood vessels, comparing the data obtained, to validate the calculation method can accurately effective characterization of blood vessels and bending length, make it as a powerful reason to diagnose diseases. Conclusion By comparing the two groups of data, this method can fast calculate the length of blood vessels, reduce man-made error of the measurement.
Segment length; Bending; Capillaries; Traverse
10.3969/j.issn.1009-4393.2015.1.001
遼寧 110034 沈陽(yáng)工業(yè)大學(xué) (劉振宇 白冰) 遼寧何氏醫(yī)學(xué)院(胡深明 單晶心)