在路上●個人年青●悠忽兩年

在路上●個人年青●悠忽兩年算法

 

題記:悠忽兩年,今天又到了個人生日,離開校園幾近五年,大學畢業也快八年。偶然的機會幫着師弟分析一個問題,仔細整理後,發現用到的都是大學階段所學。驀然發覺,這些東西裝入大腦十年有餘,卻未曾倒出來過。特發此文,回憶那些再也回不去的時光,想念個人老師、同窗,緬懷青春!函數

 

 

 

MATLAB RADON及其相關函數分析spa

 

         摘要:MATLAB Phantom函數產生的Shepp-Logan模型,和人腦結構類似,是醫學影像學中用於CT圖像仿真重建領域的經典模型。本文首先詳細分析Shepp-Logan模型的結構,而後介紹對該模型數據求取Radon變換的兩種方法。Radon變換後的數據求取Iradon變換,須要對數據預處理,預處理中用到濾波和卷積函數,第二節對其詳述。模型數據的Fanbeam和IFanbeam變換,重要的是平行射線轉扇形射線、以及扇形射線轉平行射線的轉換,而轉換的過程就是插值,第三節詳述經常使用的分段三次立方插值和三次樣條插值方法。通篇都是分析,沒有創新,涉及到的M文件有phantom,radon,iradon,fft,ifft,conv,pchip,spline。其中快速傅里葉變換實現頻域濾波的物理意義,以及時域卷積的物理意義,並無解釋清楚,須要繼續探討。3d

    關鍵字:Phantom函數C實現;Iradon函數C實現;離散傅里葉變換;離散卷積;埃爾米特插值時一階導數求法;三次樣條插值時非扭結條件;三對角矩陣的追趕法blog

 

 

1 投影變換

1.1 Radon變換

      實際就是求取物體的截面(與接收器平行的那個截面),在平行射線穿透下的投影值。本節先分析圖像仿真重建用到的Shepp-Logan模型,而後介紹模型生成的數據,求取Randon變換的兩種方法。ip

1.1.1 MATLAB phantom 函數

   MATLAB phantom 函數用於產生頭骨幻影數據,該數據是一個N*N的矩陣,N默認是256,能夠用來驗證randon和irandon、以及其餘二維的圖像重建算法的數值準確度。phantom函數產生的Shepp-Logan模型,和人腦結構類似,是醫學影像學中最早用於CT圖像重建仿真領域的經典模型,實際處理中爲了視覺觀察上的方便,通常選取修正的Shepp-Logan模型。phantom產生的圖像,如圖1-1所示,其中(a)圖是模型,(b)圖是二維灰度圖像,(c)圖是模擬的人腦結構模型。方法

 

(a)im

 (b)d3

(c)數據

圖1-1 (a) 頭骨幻影模型;(b) 頭骨幻影灰度圖像; (c) Shepp-Logan模擬的人腦模型

      phantom函數產生的圖像,有10個橢圓組成(圓是橢圓的一種特殊狀況),如圖1-1(a)中的a,b,c,d … i,j,每一個橢圓有6個特徵數據,默認的數據如表1-1所示[1]。其中灰度值範圍是[0 1],圖像顯示時對應[0 255],表示橢圓內部都是這個值,重複的地方要疊加,密度值的疊加就是灰度值;x軸和y軸的座標範圍都是從[-1 1];旋轉角度是度數,不是弧度。另外要注意的是,圖1-1(a)傾斜的橢圓c和d,它們兩個是由中心在座標原點的橢圓,旋轉必定角度,而後再將旋轉後的橢圓,沿着x軸和y軸平移得來的,即先旋轉後平移。

  根據表1-1,結合圖1-1(a),則圖1-1(b)中的灰度圖像,灰度取值有6種狀況,分別是0, 0.1, 0.2, 0.3, 0.4, 1。橢圓a外面的、以及橢圓c和d內部的都是0,橢圓d與橢圓e相交的地方、橢圓d與橢圓f相交的地方都是0.1,橢圓b內部其它地方是0.2,橢圓e、f、g、h、i、j內部的都是0.3,橢圓e和f相交的地方是0.4,橢圓a和b相交的地方是1。

表1-1 修正的Shepp-Logan模型中橢圓特徵數據

 


 (a)

(b)

圖1-2 (a) 生成頭骨幻影模型的MATLAB代碼;(b) 生成頭骨幻影數據的C代碼

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章
相關標籤/搜索