劉振宇 白 冰 胡深明 單晶心
基于廣度優(yōu)先搜索算法計算視網(wǎng)膜血管彎曲度和長度
劉振宇 白 冰 胡深明 單晶心
目的 通過多年臨床經(jīng)驗可知,眼底血管是人體唯一可以通過非創(chuàng)傷性直接觀察的較深層的微血管,通過這些微血管的彎曲度和長度可以表征視網(wǎng)膜狀態(tài),進一步診斷疾病。方法 本文介紹一種基于廣度優(yōu)先搜索算法,將視網(wǎng)膜血管分布看成血管樹,利用遍歷法計算視網(wǎng)膜中血管長度(即每個節(jié)點間的距離)及彎曲度。結(jié)果 通過imagej軟件利用此方法測量十五種不同形態(tài)位置的血管段長度和彎曲度,并與人工測量的血管數(shù)據(jù)進行對比,對比所得數(shù)據(jù),驗證此計算方法是否能準確有效的表征血管長度及彎曲度,將其作為診斷疾病的有力依據(jù)。結(jié)論 通過對比2組數(shù)據(jù),此方法能快速準確的計算出血管長度,減少人為測量的誤差。
段長度;彎曲度;微血管;遍歷
隨著社會的發(fā)展、人口的老齡化以及人們工作方式生活習(xí)慣的改變,Ⅱ型糖尿病已經(jīng)成為人類健康面臨的“重大殺手”。目前,我國糖尿病死亡率在不斷上升,糖尿病在臨床醫(yī)學(xué)上的表現(xiàn)主要是從人體內(nèi)的微循環(huán)和微血管的變化開始的,人體唯一可以直接觀察到的比較深層的微血管便是眼底的眼底血管。許多疾病的發(fā)生常會在眼底反映出來。眼底血管是循環(huán)系統(tǒng)的末端部分,利用對眼底血管所攜帶的豐富信息,進行人體組織與器官的無損傷的功能評價的技術(shù)方法是目前臨床醫(yī)學(xué)的研究方向,這種技術(shù)方法不僅可以檢測到早期糖尿病,還可以觀察糖尿病從早期變化到末期的過程,詳細的描述了整個病發(fā)狀態(tài)。醫(yī)師通過眼底病變程度和病發(fā)狀態(tài)制定有效的治療方案。本文中通過對采集到的眼底醫(yī)學(xué)圖像進行圖像處理,為醫(yī)師提供診斷依據(jù)。通過醫(yī)學(xué)鑒別和分析之后,采取更加有針對性的治療方案。通過結(jié)合臨床經(jīng)驗和圖像處理方法,研發(fā)眼底血管病變分割處理方法,此系統(tǒng)對糖尿病的篩查、預(yù)防和早期治療,具有十分重要的現(xiàn)實意義。
1.1 一般資料 通過多年臨床經(jīng)驗可知,眼底血管是人體唯一可以通過非創(chuàng)傷性直接觀察的較深層的微血管[1],越來越多的臨床醫(yī)生希望找到微血管的變化與疾病之間的關(guān)系。視網(wǎng)膜是一個分層組織,負責(zé)神經(jīng)信號光的轉(zhuǎn)換,被認為是大腦的一部分。眼底圖像由血管樹和視盤組成,其中血管樹可以表現(xiàn)出血管的各類特征信息(見圖1),分叉角(θi),血管段長度(Xi),曲率(κi)和血管半徑(Yi)。在三維空間中兩個分叉點之間的真實距離即歐幾里得距離[2]σi,這些數(shù)據(jù)的變化都會反映某種疾病的早期特征,如糖尿病早期會造成動脈血管半徑變小,靜脈血管半徑變大等[3]。
圖1 血管特征信息
目前研究發(fā)現(xiàn),某些疾病會導(dǎo)致視網(wǎng)膜血管的角度或各個分支之間距離發(fā)生變化,即可通過血管彎曲度(κi)檢測疾病的嚴重程度。血管彎曲度(κi)(公式1)
本研究的目的是開發(fā)一個算法,計算兩個分叉點之間的路徑的長度,并確定血管的彎曲度。利用廣度優(yōu)先搜索方法找到完整的血管樹結(jié)構(gòu)的分支。計算兩個分叉點之間的長度Xi,以及之間的距離分叉點σi。
1.2 方法
1.2.1 廣度優(yōu)先搜索算法 廣度優(yōu)先算法(breadthfirst-search),又稱作寬度優(yōu)先搜索,或橫向優(yōu)先搜索,簡稱BFS,是一種圖形搜索演算法[4]。簡單的說,BFS是從根節(jié)點開始,沿著樹的寬度遍歷樹的節(jié)點,如果發(fā)現(xiàn)目標,則演算終止。使用這種方法能清晰標度出圖像中分叉點的位置,只有在獲得視神經(jīng)盤和分叉點的位置的基礎(chǔ)上,才能進一步確定分叉點之間的距離和血管長度。
將分割好的眼底血管圖像的像素視為圖:像素(圖節(jié)點)連接相鄰的像素(或邊緣)。廣度優(yōu)先搜索算法搜索目標的圖通過檢查每個節(jié)點的相鄰節(jié)點。對于每個這些相鄰節(jié)點,算法評估未經(jīng)檢驗的節(jié)點,直到所有的像素都評估。在這項研究中,該算法使用廣度優(yōu)先搜索找到端點和分叉點的血管分支。要做到這一點,進行以下步驟:
(1)圖像像素都存儲在一個數(shù)組中,用白色標記出(見圖2a)。
從一個任意的起點,第一個像素是“黑”的標簽?!鞍咨彼械泥従酉袼氐臉擞洝盎疑?見圖2b)。
(2)只要有“灰色”像素,隨機選擇其中一個標記為黑色。所有的白色鄰國標記灰色(見圖2c)。有兩個白色的鄰居,如果當前像素標記為一個分支點(見圖2d)。如果當前像素沒有白色的鄰居,像素標記為一個端點。像素標記為黑色和鄰國標記為灰色
(3)重復(fù)步驟2,直到?jīng)]有更多的灰色像素。在這種情況下,研究了一個組件的所有像素(見圖2e)。
(4)如果有白色像素的圖像,這一過程重復(fù)從新的起點(隨機選擇白色像素),直到所有的像素都評估。
圖2
該算法的步驟:(A)所有骨架像素標記為白色。(B)第一個像素標記灰色發(fā)現(xiàn)的算法。(C)灰色像素顏色的黑色和鄰國的灰色。這是對每個像素重復(fù)。(D)該算法找到一個分歧點當兩個白色鄰居發(fā)現(xiàn)和顏色的灰色。(E)最終的結(jié)果,所有像素標記為黑色。
1.2.2 計算的血管段長度 在鄰近的像素中,計算當前像素與其鄰近節(jié)點之間的距離。通過總結(jié)這些兩個分叉點之間的距離,兩個分支之間的血管的長度就可以計算。這個長度計算方法也表現(xiàn)在搜索算法。即每個像素的長度I,第一個像素到遇到分叉點的時候所經(jīng)過像素的個數(shù)X,即像血管段長度L(公式2)。
1.2.3 計算血管彎曲度 確定血管段的彎曲度,需要計算血管段的長度和其端點之間的歐幾里得距離。對于每個分叉和每個端點計算這個歐幾里得距離是必要的。曲線的彎曲度可以估計作為一個弧-弦比:長度L和兩點間直線距離C之比(公式3)。
在血管圖像中選取以下幾種血管形態(tài)結(jié)構(gòu)作為算法測試圖像(見圖3):
(1)直線型:三個類似的測量長度從一個起點到一個端點。
(2)十字型:十字路口交叉點的線。
(3)s型:長度和兩個半圓的弧長形成一個s形。
圖3
節(jié)點之間的直線距離如圖4的算法進行計算。每個標簽包含最后一次分叉的距離或距離最后的起點。
圖4
選取十五處不同形態(tài)位置的血管,利用imagej[5]計算處血管段長度和彎曲度,并與人工測量數(shù)據(jù)進行對比。
Imagej能打開任意多的圖像進行處理。除了基本的圖像操作[6],比如縮放,旋轉(zhuǎn),扭曲,平滑處理外,Imagej還能進行圖片的區(qū)域和像素統(tǒng)計,間距,角度計算,能創(chuàng)建柱狀圖和剖面圖,進行傅里葉變換[7]。
血管置形狀 段長度(px) 彎曲度(px) 準確度(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,在標記為黑色圓形處選取十五處形態(tài)位置各不相同的血管進行測量。
圖5
通過上述表格可以看出,本文所用算法能快速的對段長度和彎曲度進行測量,且準確率很高,同時也發(fā)現(xiàn)s型測量的兩組數(shù)據(jù)差距較大,有兩個因素造成這種結(jié)果產(chǎn)生:
(1)軟件對s型不規(guī)則,所測量兩支點的直線距離存在誤差;
(2)人工測量方法也同樣存在誤差。
[1] 朱宏擎.基于灰度-梯度共生矩陣的視網(wǎng)膜血管分割方法[J].上海交通大學(xué)學(xué)報,2004,38(9):1485-1488.
[2] 陳漢軍,楊雪.歐幾里德距離的幾種定義與應(yīng)用[J].天津輕工業(yè)學(xué)院學(xué)報,2003,23(2):65-66.
[3] 劉亞麗,尹翠梅.糖尿病血管病變研究進展[J].中西醫(yī)結(jié)合心腦血管病雜志,2005,31(12):432-434.
[4] 陳偉,付宇潔,秦科.基于二叉樹的加密算法[J].實驗科學(xué)與技術(shù),2006,29(12):81-83.
[5] 徐桓,段新安.ImageJ軟件在大型醫(yī)療設(shè)備質(zhì)量檢測中的應(yīng)用[J].中國醫(yī)學(xué)裝備,2011,6(11):20-22.
[6] 王智文.幾種邊緣檢測算子的性能比較研究[J].制造業(yè)自動化,2012,5(11):14-16.
[7] 陳文靜,蘇顯渝,曹益平,等.傅里葉變換輪廓術(shù)中抑制零頻的新方法[J].中國激光,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è)大學(xué) (劉振宇 白冰) 遼寧何氏醫(yī)學(xué)院(胡深明 單晶心)