• 沒有找到結果。

研究內容與分析方法

在文檔中 中 華 大 學 (頁 33-70)

3-1 前言

本章主要是介紹使用 ANSYS®軟體重建完整股骨及無骨柄人工 關節之有限元素模型和網格化的方法,以及無骨柄人工關節有限元素 模型的移植步驟及流程。本研究是利用 ANSYS®強大的運算能力及資 料庫處理功能,將點、線、面、體積依序建立、選取、物件屬性的輸 出儲存、輸入、物件布林運算,完成實體模型的建立,再將其自動網 格化以產生節點及元素。換句話說,從截面幾何外型的建立到有限元 素模型的網格化,完全都利用 ANSYS®軟體完成。

內容主要分成四個部分,第一部分是探討 CT 影像之邊緣偵測的 原理及自行所撰寫的邊緣偵測程式之使用;第二部分說明完整股骨的 有限元素雛模型之重建;第三部分探討完整股骨的有限元素模型之建 立;第四部分說明無骨柄人工髖關節有限元素模型的重建過程。

3-2 研究流程

本章主要是探討完整股骨及植入無骨柄人工髖關節股骨之三維 自動網格化的模型建立。股骨之有限元素模型的重建過程,共可分成 四個步驟來說明,如圖 3-1 所示。吾人將每一個步驟,分節討論並說 明。

第一步驟 CT 影像之邊緣偵側

撰寫一個程式用以獲取每一層 CT 圖邊緣座標。

第二步驟

邊緣座標檔案之轉換

撰寫一個介面程式,將每一層 CT 圖邊緣座標資料,轉成 建立各層外形之 ANSYS®資料檔。

第三步驟

建立有限元素雛模型

撰寫一個介面程式,利用 ANSYS®資料庫建立完整股骨 雛模型。

第四步驟

將有限元素模型賦予材料特性 對應 CT 圖上之亮點來決定各元素的材料性質。

圖 3-1 股骨重建之流程

3-3 CT 影像的邊緣偵測原理及應用

為了要獲取 CT 圖上股骨截面圖形之輪廓,吾人使用了 C 語言平 台之 BORLAND® C++ BUILDER 軟體及 MATROX 公司所發展之 MIL 影像處理函數庫,來撰寫能夠截取 CT 圖上邊界座標的程式。本程式 是依據 CT 圖影像之像素(Pixel)來決定座標,利用二值化及八鄰近 的觀念來撰寫程式。使用二值化的目的,是要將灰階格式之 CT 圖檔 轉換成黑白格式,以便於截取股骨外形的邊界座標,並且分別存檔。

程式撰寫原理如下:

一、 二值化

二值化的目的就是尋找一個最佳的門檻值或稱為閥值,用來區分 影像的灰階值,灰階值大於門檻值的所有像素都設為 255(白),而 灰階值小於門檻值的所有像素則設為 0(黑),所得到的影像就稱為 二值化影像。二值化的目的是可以將 CT 圖改為黑白分明的圖形以利 外形的擷取,如圖 3-2 所示。圖 3-3 及圖 3-4 為股骨頸部原圖及經過 二值化處理後的示意圖,圖 3-5 及圖 3-6 是骨幹部分的 CT 原圖及二 值化過後的示意圖。由於股骨頸部主要由海棉骨構成,故二值化後為 一完整斷面之外形,至於骨幹部分由緻密骨與骨髓構成,故二值化後 可分出股骨外部形狀及內部形狀。

二、 八鄰近尋邊觀念

當影像中的一點座標設為(i, j)時,則稱上下左右四點為四鄰點,

而加上二對角線上的四個端點,則稱為八鄰點,如圖 3-7 為鄰點示意 圖。以鄰點為基礎,就可以推廣出八鄰近及四鄰近的觀念。

利用八鄰近的概念,先給定系統一起始點,並偵測起始點座標所 在之像素灰階值,若灰階值為 0(黑色)則不予記錄,繼續偵測下一 點;若該點灰階值為 255(白色),則表示該點為經過二值化後之 CT 圖的邊緣外型,且將其點座標擷取下來,並記錄為第一點,之後再以 該點為中心點座標,繼續搜尋並將其它邊緣座標點記錄下來。搜尋的 方式及順序則是在程式裡設定以八鄰近的方式做判別,其判別順序會 依右、右上、上、左上、左、左下、下、右下的逆時針方向來判別下 一點的座標是否為黑或白,若為黑色則其點座標是設定不存取,並且 繼續搜尋,若為白色則將座標位置紀錄下來並設定該點為中心點座 標,繼續依照逆時針的方向來搜尋其它的點座標。當在記錄座標動作 的同時,吾人亦使用 MIL 所提供的功能將所擷取的輪廓以清楚的顏 色標示,所以在擷取座標時,顏色標示就會沿著白邊的路徑描繪出 來。圖 3-8 為尋邊過程之示意圖。

當每一層圖檔在進行邊緣偵測時,首先在視窗中選取一個起始 點,如圖 3-9,該起始點的位置在每張 CT 圖股骨外形的中間下緣,

當起始點以垂直方向往上偵測,接觸到經過二值化的封閉圖形時,就 會將第一個座標擷取下來,接著再依逆時針方向將其他外形座標也擷 取下來。呈現紅色就表示邊緣座標已擷取到,再把擷取到的座標分層 存成檔名為 contourXX.dat 之資料檔,其中 XX 表示該層編號。每層 第一個座標點即為建立外形線段的開始,故進行邊緣偵測時,要特別 注意其所選的起始點,要在骨形的下方,才不會造成實體模型建立的 困難度。

當股骨經過了股骨頸部之後,股骨部分就會分成左圈及右圈兩個 部分(股骨頭及大轉子部分),因此就要分左右兩圈來擷取座標。分 別在左右兩圈之中心下緣定義起始點,如圖 3-10,再重覆上述之擷取 座標動作,將左圈及右圈之座標資料分別存成名為 contourXXlt.dat

(左側)及 contourXXrt.dat(右側)之資料檔。

所輸出之資料檔案,其格式為 ASCII 格式,一方面方便檢視其內 容,另一方面在後續的處理也比較不會有讀取上的麻煩。在檔案內容 之首行,吾人令程式寫入了該層之總點數、高度值及外形線段數目,

以供下一步驟使用。高度值部分可由 CT 圖中得知,而外形線段數目 則採用預估的方式,吾人預定採用 15 個像素點做一條線。以圖 3-3 為例,擷取過後的輪廓資料,總點數為 563 個,高度值為 181 mm,

線段數目則為 38。以圖 3-5 為例,擷取過後的座標總點數為 290 個,

高度值為 115 mm,線段數為 19。

(a)二值化之前

(b)二值化之後

圖 3-3 股骨頸部 CT 原圖

圖 3-4 股骨頸部二值化示意圖

圖 3-5 骨幹 CT 原圖

圖 3-6 骨幹二值化示意圖

四鄰點 八鄰點 圖 3-7 (i, j)鄰點示意圖

(a)記錄右上方點 (b)記錄上方點

(c)記錄右上方點 (d)記錄右方點

:白點像素 :黑點像素 :記錄之邊緣點 :記錄

:不記錄

(e)所獲取之邊緣

圖 3-9 擷取邊界的過程 起始點

左圈起始點 右圈起始點

3-4 邊緣座標檔案之轉換

由於每一層檔案裡面所擷取的座標數目繁多且緊密,在 ANSYS® 中如全部使用,則會造成模型建立及網格化的困難。因此必須將先前 所擷取到的 CT 圖座標檔案以適當的方式減少點的數量,並利用 spline 線段建立其外形,圖 3-11 為邊緣座標轉換流程圖。

由流程圖 3-11 可知,邊緣座標轉換的過程中有兩個重要的關鍵 步驟,其一為確定選擇所要的點,其二為 spline 曲線外型的建立。在 前一步驟中,由 15 個像素左右來確定線段的數目,因此要將總點數 除以線段數目,以確定每條線段所要包含的點數,但在相除的時候必 定有餘數的產生,故必須將餘數再分配到各線段的點數中。也就是線 段的數目,由總點數除以 15 並經判斷的步驟確定後,線段數目不做 任何的更動,只是調整多少點去作一段線段。例如圖 3-3 之 CT 圖所 擷取下來的原始點數為 563 個,線段數指標為 38,所以必需將 563 點平均分配到 38 條線段中。

至於如何將點數做一平均之分配,吾人利用總點數除以線段數目 所得商數及餘數的關係做一指標來分配這些多餘點數,圖 3-12 為點 數分配判別圖。

z 餘數大於商數

若餘數大於商數,則商數值必須加 1,就代表每一條線段需要增 加一個像素點。因此在點數分配部分可以分成為兩個部分,分別稱為 足夠點數指標及不足夠點數指標。足夠點數指標表示有完整點數(本 例為 15 個點)之線段數目,而不足夠點數指標則為總線段數扣除足 夠點數指標後之值,也就是不足 15 個像素點的線段數目。利用下列 式子計算:

不足點數指標 = (商數 + 1) × 線段數指標 – 總點數 足夠點數指標 = 線段數指標 – 不足點數指標

以圖 3-3 為例,寫出算式:

不足點數指標 = 15 38 × − 563 = 7 足夠點數指標 = 38 − 7 = 31

將這兩種結果在程式上分別設立足夠點數指標及不足點數指標 的兩個迴圈,以便將 CT 圖上所擷取到的座標分別的存入這兩個迴圈 的指標中。以足夠點數指標的迴圈而言,是以每 15 個像素點存成一 個指標,共有 31 個指標;不足點數指標則以 14 個像素點存成一個指 標,共有 7 個指標。如此就可以將該層座標點數平均的分配到該層的 線段數目中,最後可以發現當足夠點數指標加上不足夠點數指標之和 就會等於先前所預估的線段數目。要注意的是每一層的最後一個點要

回到出發點,否則點數將會無止境的增加。

z 餘數小於商數

若餘數小於商數,在點數分配部分亦分為足夠點數指標及不足點 數指標兩個部分。分配方式如下:

不足點數指標 = 餘數

足夠點數指標 = 線段數指標 − 不足點數指標 以圖 3-5 為例,計算如下:

290 ÷ 19 = 15L L L 5 不足點數指標 = 5

足夠點數指標 = 19 − 5 = 14

將這兩種結果在程式上分別設立足夠點數指標及不足點數指標 的兩個迴圈,如此可將 CT 圖上的座標平均分配到這兩個指標中。以 足夠點數指標而言,以每 15 個像素存成一個指標,共有 14 個指標;

不足點數指標則以 16 個像素存成一個指標,共有 5 個指標。

而在給定足夠點數指標及不足夠點數指標的同時,吾人亦同時對 點數做一壓縮的動作,壓縮的動作就是先前所提到的必須將所擷取到 的 CT 圖座標檔案以適當的方式減少點的數量。雖然在給定指標的過 程中已經達到了減少點數的目的,但此時點的編號是雜亂而不連續 的,必須將所選出來的點重新編號一次,不但必須每一層中點的編號

在文檔中 中 華 大 學 (頁 33-70)

相關文件