天天看點

【圖像重建】基于matlab ASTRA算法圖像重建【含Matlab源碼 090期】

1 濾波反投影重建算法原理

濾波反投影重建算法常用在CT成像重建中,背後的數學原理是傅立葉變換:對投影的一維傅立葉變換等效于對原圖像進行二維的傅立葉變換。(傅立葉中心切片定理)

CT重建算法大緻分為解析重建算法和疊代重建算法,随着CT技術的發展,重建算法也變得多種多樣,各有各的有特點。本文使用目前應用最廣泛的重建算法——濾波反投影算法(FBP)作為模型的基礎算法。FBP算法是在傅立葉變換理論基礎之上的一種空域處理技術。它的特點是在反投影前将每一個采集投影角度下的投影進行卷積處理,進而改善點擴散函數引起的形狀僞影,重建的圖像品質較好。

【圖像重建】基于matlab ASTRA算法圖像重建【含Matlab源碼 090期】

上圖應可以清晰的描述傅立葉中心切片定理的過程:對投影的一維傅立葉變換等效于對原圖像進行二維的傅立葉變換

傅立葉切片定理的意義在于,通過投影上執行傅立葉變換,可以從每個投影中得到二維傅立葉變換。進而投影圖像重建的問題,可以按以下方法進行求解:采集不同時間下足夠多的投影(一般為180次采集),求解各個投影的一維傅立葉變換,将上述切片彙內建圖像的二維傅立葉變換,再利用傅立葉反變換求得重建圖像。

2 濾波反投影重建算法過程(以平行束為例)

投影重建的過程是,先把投影由線陣探測器上獲得的投影資料進行一次一維傅立葉變換,再與濾波器函數進行卷積運算,得到各個方向卷積濾波後的投影資料;然後把它們沿各個方向進行反投影,即按其原路徑平均配置設定到每一矩陣單元上,進行重疊後得到每一矩陣單元的CT值;再經過适當處理後得到被掃描物體的斷層圖像

算法步驟如下:

将原始投影進行一次一維傅立葉變換

設計合适的濾波器,在φ_i的角度下将得到原始投影p(x_r,φ_i)進行卷積濾波,得到濾波後的投影。

将濾波後的投影進行反投影,得到滿足x_r=r cos⁡((θ - φ_i))方向上的原圖像的密度。

将所有反投影進行疊加,得到重建後的投影。

3 濾波器(濾波函數)和内插函數的選取

由于直接使用反投影算法會存在兩個對實驗結果影響很不好的因素:

不準确的資料重建圖像就會産生各種僞影。投影的資料是天然離散的,處理不當的話會産生很大的誤差。常見的濾波器有R-S濾波函數和S-L濾波函數。R-L濾波函數濾波計算簡單,避免了大量的正弦、餘弦計算,得到的采樣序列分是分段現行的,并沒有明顯的降低圖像品質,是以重建圖像輪廓清楚,空間分辨率高。

常見的插值方法有最近鄰插值和雙線插值,最近鄰插值即将離散點中間的缺失值用離它最近的整數處的投影值來替代。

【圖像重建】基于matlab ASTRA算法圖像重建【含Matlab源碼 090期】

1 matlab版本

2014a

2 參考文獻

[1] 蔡利梅.MATLAB圖像處理——理論、算法與執行個體分析[M].清華大學出版社,2020.

[2]楊丹,趙海濱,龍哲.MATLAB圖像處理執行個體詳解[M].清華大學出版社,2013.

[3]周品.MATLAB圖像處理與圖形使用者界面設計[M].清華大學出版社,2013.

[4]劉成龍.精通MATLAB圖像處理[M].清華大學出版社,2015.

下一篇: Java入門2

繼續閱讀