【转】由投影重建图像:滤波反投影、FDK、TFDK三维重建算法理论基础
轉自:由投影重建圖像:濾波反投影、FDK、TFDK三維重建算法理論基礎_m0_37357063的博客-CSDN博客_fdk算法
1. 基礎理論從:
[1] RafaelC.Gonzalez, RichardE.Woods, Gonzalez,等. 阮秋琦等譯.數字圖像處理(第三版)[M]. 電子工業出版社, 2011.P232
[2] RafaelC.Gonzalez, RichardE.Woods, StevenL.Eddins. 阮秋琦譯.數字圖像處理:MATLAB版:本科教學版[M]. 電子工業出版社, 2014. (第二版)P102
參考文獻[1]從P228-P245
了解:
1.??? 由投影重建圖像
1.?????計算機斷層(CT)的原理
2.?????投影和Radon(雷登)變換(radontransform)
3.?????正弦圖(sinogram)和Shepp-Logan幻影
4.?????傅里葉切片定理
5.?????使用平行射線束濾波反投影的重建
6.?????Ram-Lak濾波器與Hamming、Hann等窗函數
7.?????使用扇形射線束濾波反投影的重建
1. 由投影重建圖像
利用Matlab來復現參考文獻[1]中的處理流程:
首先生成一幅原始圖像:
%代碼如下: I=zeros(512,512); for i=1:512for j=1:512if ((i-256)*(i-256)+(j-256)*(j-256))<1024I(i,j)=1;endend end imshow(I,[]);得到1°和90°兩個方向上的投影(一維),并回抹得到反投影圖像(二維)
?????????
這兩個方向的反投影相疊加:
%代碼如下:(這里參考了MATLAB自帶的函數說明輸入:doc iradon打開該參考說明) %就是怎么得到特定角度下的一個投影,并形成反投影圖像: R=radon(I,0:179); r1=R(:,2); II1=iradon([r1 r1],[1 1])/2; %得到1°角度下的投影圖像 imshow(II1);r90=R(:,91); II90=iradon([r90 r90],[90 90])/2; %得到90°角度下的投影圖像 imshow(II90);II1_90=II1+II90;%二者疊加 imshow(II1_90);同理,得到45°和135°方向的反投影圖像,并將這四幅反投影圖像相疊加:
%代碼如下: r45=R(:,46); II45=iradon([r45 r45],[45 45])/2; imshow(II45);r135=R(:,136); II135=iradon([r135 r135],[135 135])/2; imshow(II135);II_1_90_45_135=II1+II45+II90+II135;%四個反投影圖像相疊加! imshow(II_1_90_45_135);當反投影的角度采樣增多時,這里從0°到179°每隔1°共采180個反投影,相疊加后形成反投影圖像:(不使用濾波器時的反投影重建圖像如下:)
%這里用了iradon函數,線性插值,不使用濾波器。 ii2=iradon(R,0:179,'linear','none'); imshow(ii1,[]); ii1=iradon(R,0:179,'linear','Ram-Lak');%默認使用線性插值,Ram-Lak濾波器!該結果如下:
將重建后的圖像與原圖像進行對比:(左邊是原圖、右邊是重建得到的圖像,注意模糊與振鈴現象)
??
我們再使用MATLAB自帶的一頭部幻影圖像Shepp-Logan:
原圖:
未使用濾波器的重建圖像:
使用Ram-Lak濾波器? :
使用Shepp-Logan濾波器:
%生成以上圖像的代碼如下: P=phantom(512); theta=0:179; [R,xp]=radon(P,theta); I1P=iradon(R,0:179,'linear','none'); I2P=iradon(R,0:179,'linear','Ram-Lak'); I3P=iradon(R,0:179,'linear','Hamming');以下內容參考文獻[1]將濾波反投影的基礎知識過一遍:
笛卡爾坐標系的一條直線由它的斜截式描述:?;或由其法線方程來描述:
平行射線束的投影可以由一組這樣的直線建模。如圖5.37所示,投影信號中的任意一點由沿著直線?的射線和給出。連續變量的情況下,線求個變為線積分,由下式給出:
該式是沿xy平面內任意一條直線的f(x,y)的投影(線積分)的公式,就是雷登(Radon)變換。
符號R{f(x,y)}或R{f}有時用于代替(3)式中的 來表示f的雷登變換。雷登變換是由投影重建圖像的基石,計算機斷層(CT)是其在圖像處理領域的主要應用。在離散情況下,(3)式變為
正弦圖與雷登變換:
????
正弦圖包含了重建圖像f(x,y)所需的信息。
正弦圖的視覺分析僅限于實際應用、但有時對于算法開發是有幫助的。
CT的關鍵目的是從投影得到物體的三維表示。其方法是反投影每一個投影,然后對反投影求和以產生一幅圖像(切片),再堆積所有的結果以產生三維物體的再現。(這里是指用二維切片堆積成三維體,與FDK/TFDK直接就是三維重建是不同的!)
5.11.4傅里葉切片定理
傅里葉切片定理即投影的一維傅里葉變換和被投影區域圖像的二維傅里葉變換間的關系。
投影?的一維傅里葉變換為:
式(11)就是著名的傅里葉切片定理(或投影切片定理)。它說明了一個投影(一維)的傅里葉是得到這個投影的二維區域f(x,y)的二維傅里葉變換對應角度下的一個切片。正如圖5.41所示,任意一個投影的一維傅里葉變換可以沿著一個角度提取一條直線的F(u,v)的值來得到,而該角度就是投影時所用的角度。
下面推導濾波反投影公式,將用到傅里葉切片定理。
F(u,v)的反傅里葉變換為:
當c=0.54時,該函數稱為漢明窗(RichardHamming);
當c=0.5時,稱為韓窗(Juliusvon Hann)
加了窗函數的濾波器在空域的振鈴現象減弱。
我們可以預期,由于使用漢明窗的反投影有較小的振鈴,但稍微模糊一點。見下圖:
原圖? ;使用Ram-Lak濾波器? ;? 使用Hamming窗加窗后的濾波器
????????
在CT的多數應用中(特別是醫學上),像振鈴這樣的人為缺陷有嚴重的厲害關系,使其最小化是有意義的工作。調整濾波算法(可以做文章的地方,一些碩士論文就這樣自創新的濾波器,發現效果有所改進,好,成文!比如文獻
[1] 張鑾. 基于平板探測器的錐束CT重建技術研究[D]. 中北大學, 2010.)、和硬件制造方面的改進(如,提供探測器的檢測細膩度,即采樣粒度)
因為斜坡濾波器(甚至在被加窗時)在頻率域的直流項為零,故每一幅反投影圖像的均值將為零。這將意味著,每一幅反投影圖像都將有正像素和負像素值,當所有的反投影圖像相加形成最終的重建圖像時,一些負像素值位置可能變成正像素,而平均值可能不為零,但是,典型地,最終的圖像將還是有負像素值。
當有關平均值的知識未知時,就使用標定的方法將圖像的像素值都歸一化到一個區間[0,255]。當典型的平均值的知識是可用的時候,可將該值加到頻率域的濾波器上,從而抵消斜波并防止直流項為零。當在空域中使用卷積時,截斷空間濾波器的長度(斜坡的反傅里葉變換)的真正效果都將防止其有零均值,這樣就完全避免的迫零問題。
濾波反投影算法:
1.?????計算每一個投影的一維傅里葉變換;
2.?????用濾波函數 乘以每一個傅里葉變換;
3.?????得到每一個濾波后的變換的一維反傅里葉變換;
4.?????對步驟3得到的所以一維反變換積分(求和)
總結
以上是生活随笔為你收集整理的【转】由投影重建图像:滤波反投影、FDK、TFDK三维重建算法理论基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2019年四大银行定期利率是多少?含大额
- 下一篇: 华泰紫金1号7月期是什么?从风险和收益来