• 沒有找到結果。

擷取冠狀動脈樹狀結構

第二章 文獻縱覽

3.6 擷取冠狀動脈樹狀結構

在上一節中,我們得到了一個冠狀動脈的連結圖,圖 3-13 中可以看到有許多的雜 訊干擾、迴圈(Loop)等等,在此我們希望藉由找到正確的冠狀動脈起點,由這些連結 中找出正確的樹狀結構。

而我們要如何找冠狀動脈起點呢?我們可以知道冠狀動脈都是從主動脈分支出來 的血管,所以我們從主動脈下手來找出正確的動脈起點。主動脈是人體中一大血管,它 發自左心室,直徑有 2.5~3.5 公分,從縱軸切面的電腦斷層掃描中,可以很清楚地發現 它呈現圓形的結構。根據這個特性,我們使用一系列不同直徑的圓形濾波器來偵測這個 圓形結構的中心。圖 3-14(a)是此濾波器的示意圖,中間為正值,黑色的圈為負值,其餘 為零,且整個濾波器的和為零。使用的直徑為 3.54、3.41、3.26、3.12、2.97、2.83、2.68、

2.54 公分。藉由在影像上移動這八個濾波器來計算每一個位置對應的八個值,再從這八 組影像的值中找出最大的,而其所對應的位置就是我們要的圓心,也就是主動脈中心(見 圖 3-14(b)中的紅點)。接著取出紅點的灰階值假設為 X,我們留下灰階值在 X-120 到 X+120 間的像素,再以此紅點當作種子點做區域成長演算法,來找出整個主動脈。

(a) (b)

圖 3-14:偵測冠狀動脈起點過程。(a)圓形濾波器。(b)偵測出來的主動脈中心(圖中的紅點)。

找出該影像中的主動脈後,我們接下來就是要判斷,我們先前找出來的代表點有沒 有出現在主動脈上面,參考圖 3-15,其中(a)(b)為不同層的影像,(b)中可以看出來主動

脈有包含到一個代表點(圖中綠色圈內的紅點),因此這個點就是我們要找的動脈起點。

此時我們為了確保起點的正確性,限制找到的代表點必須在主動脈分支的地方。我們不 直接使用原始的主動脈來找起點,我們以一個直徑 7mm 的圓當作結構元素,對主動脈

(也就是圖 3-15 中的(a)(b))作頂-帽轉換,得到圖 3-15(c)(d)的結果,然後再找是否有 代表點存在。若找不到則計算主動脈的重心,當作下一層影像的種子點再重複上述的步 驟,並且利用代表點的位置與主動脈中心做比較,來判斷找出來的起點是出現在右邊還 是左邊,藉此來找出左右冠狀動脈起點。其中頂-帽轉換在這裡的用意是,確保找出來 的代表點一定會出現在主動脈分支出來的地方,觀察圖 3-15(b)(d),就可以發現頂-帽轉 換後,剩下來的部分就是主動脈分支出來的地方,也就是冠狀動脈的起點。

(a) (b)

(c) (d)

圖 3-15:偵測動脈起點。(a)區域成長找到主動脈。(b) 區域成長找到主動脈。(c) (a)作頂-冒轉換 後的結果。(d)(b) 作頂-冒轉換後的結果,並且找到起點。紅點為我們的代表點。

經過上述步驟,我們可以找到大略的冠狀動脈起點(圖 3-16),雖然還不是非常的 正確,但我們不急著調整,而是希望使用這個起點來找出正確的血管結構,因為在圖 3-13

中我們可以發現,有許多不相干的連線、雜訊,甚至血管上也會有很多無意義的迴圈。

為了可以避免掉血管以外的組織,我們由左右動脈起點來找出連通的代表點,將沒有與 起點相連通的代表點通通捨棄,來找出左右動脈的樹狀結構。為了要去掉血管上無意義 的迴圈,我們使用最小生成樹(minimum spanning tree)來達到這個目的。我們採用普 林演算法(Prim’s algorithm)來實作,可以得到圖 3-17 的結果。與圖 3-13 相比,已經 將一些不是血管的部分給去掉了,且血管上也沒有多餘的迴圈。

圖 3-16:冠狀動脈起點(箭頭處)。其中紅色細線為標準答案。

圖 3-17:冠狀動脈樹狀結構。藍色的線段為我們找到的冠狀動脈;紅色的線段為標準答案。

此時我們已經有了一個暫時的冠狀動脈樹狀結構,接下來我們要做的是找出正確的 動脈起點。先前我們使用一系列圓形濾波器找到了不同影像中的主動脈中心,現在就要 使用這些主動脈中心來找出正確的動脈起點。首先找出大略起點(圖 3-16 箭頭處)周 圍 2 公分(大約三倍的血管直徑,沒有必要計算離大略起點太遠的節點)距離內的節點,

然後去計算該節點到同一張影像的主動脈中心的距離,若該影像上沒有主動脈中心,則 計算該節點到最下層的主動脈中心的距離,接著再找出距離最小的節點當作新的起點。

可以參考圖 3-18,紅色的點為樹狀結構上的節點,藍色的點為一系列的主動脈中心,箭 頭處是我們找到的新起點,比圖 3-16 的起點還來的正確。

圖 3-18:主動脈中心(藍)與代表點(紅),箭頭處為新起點。紅線為標準答案。

接著我們使用廣度優先演算法(breadth-first search)由起點開始執行,來找出兩條 最長路徑(圖 3-19(a))。有了最長路徑,我們就可以找出樹狀結構上的每個端點到最長 路徑的連線數,再將連線數小於 3 的分支給捨棄掉。這樣做的目的是為了刪除一些假分 支,最後得到的結果就是我們要的冠狀動脈樹狀結構(圖 3-19(b))。

(a) (b)

圖 3-19:冠狀動脈樹狀結構(a)找出最長路徑(綠色),紅色的圈為假分支。(b)將假分支捨棄後的 結果。紅色細線為標準答案。

此時,我們已經將主要的冠狀動脈給找出來了,但我們觀察圖 3-19 可以發現有些 分支的末端並沒有找出來,因此我們現在所要做的事就是設法找出這些遺失的分支。此 時,先回顧一下本論文 3.4 節,我們在取代表點的時候,為了降低雜訊將一些面積較小 的冠狀動脈候選點找出來的代表點捨棄,現在我們要將這些捨去的代表點給加回來。這 裡讀者或許會懷疑,為何我們一開始要捨棄這些代表點。原因是那時候我們除了候選點,

其他什麼資訊都沒有,若使用全部的代表點,很容易被一些不是血管的雜訊給干擾,所 以我們一開始的策略就是先找出最有可能是血管的代表點,來找出冠狀動脈樹狀結構。

找到樹狀結構後,再將這些捨棄的代表點加回來,然後根據存在的樹狀結構來做連結的 動作,換句話說,就是從現有的樹狀結構繼續往下長出新的分支,而往下長的條件如同 先前我們在連結代表點的規則一樣,仍是根據候選點的方向性與密度。而整個實作流程 如下:

經過上述流程,我們可以得到新的冠狀動脈樹狀結構,如圖 3-20(b)。和圖 3-20(a) 比較,我們可以發現有些分支可以朝末端再延伸一些,但有些則不行。可能是因為冠狀 動脈的末端過於細小,所以我們在找冠狀動脈候選點的時候就沒有找到,才會導致現在 找不到分支。此外,由於已經出現了不正確的分支(參考圖 3-20(b)的紅色圈圈),此時 若再將低候選點臨界值也不見得能夠將樹狀結構往下延伸,反而會出現更多的錯誤分支。

我們在 3.3 節中使用的臨界值為 200,若再降低到 150 則很多不是血管的組織、雜訊就 會非常的多,與正確血管完全不成比例,反而不利於我們找正確的樹狀結構,因此我們 選擇不再降低臨界值。

將捨棄掉的代表點,當作新增的點。

For all 冠狀動脈樹狀結構上的節點 1.將節點當作起點

2.尋找最近的新增點,並計算與起點的距離 3.若距離大於兩倍血管直徑(1.5 公分)則 GOTO 6 4.判斷方向與密度是否符合我們先前提到的條件

(夾角小於 30 度與密度大於該區域體積四分之一) 5.條件符合:記錄此點,並將此點當作起點 GOTO 1.

6.若記錄的點大於三個,才正式的將這些連線加入樹狀結構 反之捨棄這些點

End for

(a)

(b)

圖 3-20:冠狀動脈樹狀結構。(a)未增加代表點前的樹。(b)新增代表點後的結果(綠色部分),紅 色圈圈中已經出現了錯誤的分支。紅色細線為標準答案

相關文件