靳瀛,王敬前*
(1.陜西服裝工程學(xué)院經(jīng)濟(jì)管理學(xué)院,陜西西安,712046;2.陜西服裝工程學(xué)院基礎(chǔ)部,陜西西安,712046)
三維重建是指用切片機(jī)連續(xù)不斷地將樣本切成數(shù)十、數(shù)百的平行切片,依次逐片觀察后,根據(jù)拍照并采樣得到的平行切片數(shù)字圖像,運用計算機(jī)來重建組織、器官等準(zhǔn)確的三維形態(tài)。本文是基于切片二維圖像的血管三維重建研究,主要目的是為了得出三維圖像?,F(xiàn)著重解決以下問題:
問題1,研究如何求出血管半徑的方法,并求出血管管道半徑。
問題2,根據(jù)問題1研究求管道的中軸線的計算方法,并求出管道中軸線的數(shù)學(xué)模型函數(shù)關(guān)系式。
問題3,根據(jù)問題1、問題2研究如何繪制管道的中軸線分別在XY,YZ,ZX平面的投影圖,再根據(jù)這些平面投影圖研究如何繪出制血管管道的三維立體圖像。
根據(jù)題中所給的圖片立體想象出血管的應(yīng)動情況,本文的難點是由于血管不是類似于圓柱體的有規(guī)則圖形,而是一個無規(guī)則圖形,為了計算更精準(zhǔn),在計算血管半徑時利用每一張切片的內(nèi)切圓求平均值。
首先,根據(jù)題中給出的信息,將第一張切片導(dǎo)入MATLAB軟件,利用矩陣的形式表達(dá)出第一張切片骨架和輪廓;接著,利用MATLAB軟件編程求出第一張切片骨架中到輪廓上所有點之間的最短距離,在這些最短距離中取最大距離為即為第一張切片的半徑;最后,按照求第一張切片的半徑的方法,分別求出 100張切片的半徑,利用平均值公式求得這100個切片半徑的平均值,這個平均值就是血管管道的半徑大小
首先,通過問題1模型的建立和求解,得出100張切片內(nèi)切圓的圓心坐標(biāo),將這些坐標(biāo)導(dǎo)入Excel表格中,通過MATLAB軟件對坐標(biāo)進(jìn)行處理得出一個散點圖;然后,根據(jù)這個散點圖擬合出多個函數(shù)圖象,將這些函數(shù)圖像做比較從中挑出最優(yōu)函數(shù),挑出的最優(yōu)函數(shù)為三角函數(shù);最后,得出管道中軸線的數(shù)學(xué)模型函數(shù)關(guān)系式為:
首先,通過問題1模型的建立和求解,得出100張切片內(nèi)切圓的圓心坐標(biāo),將這些坐標(biāo)導(dǎo)入Excel表格中,利用MATLAB軟件繪制管道的中軸線分別在XY,YZ,ZX平面的擬合函數(shù)圖形;然后,通過MATLAB軟件編程得到管道的中軸線分別在XY,YZ,ZX平面的投影圖;最后,繪制出血管管道三維重建的三維立體圖像。
首先,將圖中所給的第一張切片導(dǎo)入MATLAB軟件中;然后,利用MATLAB軟件編程求出第一張切片的半徑;接著,按照求第一張切片方法接的剩余99張切片半徑;最后,求出100張切片半徑的平均值,這個平均值即為血管管道半徑。
2.1.1 問題1模型的建立
對題中所給信息進(jìn)行分析,由于題中所給的信息有有,為了使所求半徑更接近實際值,可根據(jù)每一個切片半徑來求血管管道的半徑。故本文將100個切片分開處理。
圖6 轉(zhuǎn)至前第一張切片的0-1矩陣局部圖
圖2 轉(zhuǎn)至后第一張切片的0-1矩陣局部圖
圖3 第一張切片骨架的0-1矩陣局部圖
圖4 第一張切片輪廓的0-1矩陣局部圖
圖3,圖4是分別從第一張切片的骨架和輪廓矩陣中提取第226至292列與第67至124行的數(shù)據(jù)。
兩點之間距離公式為:
表1 第一張切片骨架中所有點到輪廓上所有點的距離排序
表2 第一張切片骨架任一點到輪廓所有點最短距離
根據(jù)表2,選出最短距離中的最大距離,作為第一張切片的半徑大小
接著,按照上述方法分別求出剩余的99張切片的半徑,在解得切片半徑的同時可以利用MATLAB軟件得出切片內(nèi)切圓的圓心坐標(biāo)。
表3 100張切片半徑及最大內(nèi)切圓圓心坐標(biāo)
36 30.672 -152 55 35 37 30.169 -152 58 36 38 30.372 -152 58 37 39 29.884 -152 58 38 40 31.067 -148 58 39 41 30.000 -149 68 40 42 30.537 -140 66 41 43 29.378 -140 84 42 44 29.811 -135 84 43 45 30.666 -135 92 44 46 29.431 -135 92 45 47 29.87 -115 92 46 48 30.625 -113 116 47 49 30.987 -112 118 48 50 30.654 -111 119 49 51 30.481 -111 120 50 52 29.004 -111 120 51 53 29.545 -111 120 52 54 29.389 -111 120 53 55 30.267 -66 120 54 56 30.555 -59 150 55 57 30.192 -70 153 56 58 30.437 -70 148 57 59 30.271 -54 148 58 60 30.482 -54 155 59 61 30.194 -31 155 60 62 29.529 -31 162 61 63 29.651 -6 162 62 64 29.097 -6 166 63 65 30.037 8 166 64 66 30.109 10 167 65 67 29.207 11 167 66 68 29.803 12 167 67 69 29.176 12 167 68 70 30.290 12 167 69 71 30.145 26 167 70 72 29.086 26 166 71 73 30.047 46 166 72 74 29.167 65 163 73 75 29.012 65 158 74 76 29.034 71 158 75 77 29.006 96 156 76 78 30.291 96 145 77 79 30.249 127 145 78 80 29.001 127 124 79 81 30.111 122 124 80
82 29.121 122 128 81 83 30.114 122 128 82 84 30.207 127 124 83 85 29.934 150 124 84 86 29.071 150 101 85 87 29.034 154 101 86 88 30.118 137 96 87 89 30.271 139 115 88 90 30.964 160 113 89 91 29.095 162 88 90 92 29.703 176 85 91 93 29.875 183 59 92 94 30.000 180 40 93 95 29.631 183 49 94 96 29.963 183 40 95 97 30.097 185 40 96 98 29.801 185 33 97 99 30.776 190 0 98 100 30.065 190 1 99
最后,為了使得血管管道半徑更加精確,應(yīng)求出這100個半徑的平均值。平均值計算公式如下:
將100 張切片的半徑代入公式2中,求出100個半徑的平均值大小
2.1.2 問題1模型建立的步驟
綜上所述,問題一的具體實現(xiàn)步驟可以總有如下:
輸入:相繼100張平行切片圖像輸出:最大內(nèi)切圓半徑步驟:(1)導(dǎo)入管道的相繼100張平行切片圖像,獲取圖像的像素矩陣;(2)對圖像的像素矩陣進(jìn)行0-1轉(zhuǎn)換;(3)獲取轉(zhuǎn)化后圖像的像素矩陣的輪廓和骨架,并返回輪廓和骨架坐標(biāo);(4)求得出切片骨架中一點 512 Xi 到輪廓上所有點 512 i 1…Yj 之間的最小距離;(5)求所有最小距離中的最大值;(6)返回最大值。j 1…
首先,在問題1模型的建立和求解的同時得出100張切片內(nèi)切圓的圓心坐標(biāo);然后,將這些坐標(biāo)導(dǎo)入Excel中,通過MATLAB軟件擬合出曲線圖;最后,得到管道中軸線的數(shù)學(xué)模型函數(shù)關(guān)系式。
2.2.1 問題2模型的建立
首先,對表3進(jìn)行觀察發(fā)現(xiàn),在問題一模型的建立與求解中已經(jīng)得出100張切片內(nèi)切圓圓心坐標(biāo)。
其次,將這些坐標(biāo)導(dǎo)入Excel表格中,通過MATLAB軟件對坐標(biāo)進(jìn)行處理得出一個散點圖,并根據(jù)這個散點圖擬合出多個函數(shù)圖象。圖5、圖6、圖7是擬合得出最接近散點圖的指數(shù)函數(shù)和三角函數(shù)圖像。經(jīng)過對上圖的觀察,圖7最接近散點圖,所以我們選取三角函數(shù)為最優(yōu)函數(shù)。
圖5 指數(shù)函數(shù)圖像
圖6 指數(shù)函數(shù)圖像
圖7 三角函數(shù)圖像
最后,根據(jù)散點圖擬合得到的三角函數(shù)數(shù)學(xué)模型中的三角函數(shù)關(guān)系式
要求繪制管道的中軸線分別在XY,YZ,ZX平面的投影圖。首先,在問題1模型的建立和求解的同時得出100張切片內(nèi)切圓的圓心坐標(biāo),將這些坐標(biāo)導(dǎo)入Excel中,繪制管道的中軸線分別在XY,YZ,ZX平面的擬合函數(shù)圖形;然后,再通過編程得到分別在XY,YZ,ZX平面投影圖;最后,繪制血管管道的三維立體圖像。
2.3.1 問題3模型的建立
首先,將表3中 100張切片的內(nèi)切圓圓心坐標(biāo)導(dǎo)入Excel表格中,利用 MATLAB軟件繪制管道的中軸線分別在XY、YZ、ZX平面的擬合函數(shù)圖形,再通過MATLAB軟件編程得到分別在XY、YZ、ZX平面投影圖。圖8至圖13分別為XY、YZ、XZ的平面的散點圖和擬合函數(shù)圖以及中軸線在XY、YZ、XZ平面的投影圖,再根據(jù)這些圖得到三維立體圖像。
圖8 XY平面的散點圖及擬合函數(shù)圖
圖9 中軸線在XY平面的投影圖
圖10 YZ平面的散點圖及擬合函數(shù)圖
圖11 中軸線在YZ平面的投影圖
圖12 XZ平面的散點圖及擬合函數(shù)圖
圖13 中軸線在XZ平面的投影圖
圖14即為本文所求的血管三維重建的三維立體圖形
圖14 血管管道的三維立體實體
圖15 血管管道的三維立體散點
(1)本文使用MATLAB軟件編程建立模型,利用了平均值求解,平均值的計算能直觀的反映數(shù)據(jù)的基本特征,使得到的有有精確度更高。
(2)在求管道中軸線的函數(shù)表達(dá)式時,利用多個擬合函數(shù)進(jìn)行對比,最后選取最優(yōu)函數(shù),使得所得有有更加精準(zhǔn)。
(3)模型可操作性強(qiáng),適用范圍廣泛,不僅可以運用在血管三維重建中,還可以運用在科技[3],醫(yī)學(xué),生物體的三維重建研究中。