拉東變換全解: CT和爛蘋果 [2]

在開始講拉東逆變換之前. 先來說說比較實際的快速拉東算法
上一期忘記說了= =,? 拉東變換的取值范圍


快速拉東變換? ----? 投影
在上一篇中說到拉東變換其實和CT的一樣的, 也是一個屏幕在繞著一個物體旋轉, 然后得到? θ∈[0,?π)? 的正弦圖
但是仔細想一下, 在θ相同的時候, 只要 r 取值不同就可以得到正弦圖的 "一條" 了啊, 為什么要那么麻煩每次都計算一次無聊到死的積分
于是, 為了偷懶, 人們就開始不旋轉屏幕, 而開始旋轉ρ函數(shù)? (腦補一下病人綁在病床上, 每秒鐘自轉200圈的感覺)

大概思路有:? ?1.?確保需要投影的點都在旋轉范圍內(藍色的圓)? [這就是為什么圖片需要padding的原因了]? ? ?2.?把整個在圓內的點旋轉θ? ? 3.?把整個范圍進行x軸積分? ? ? 4. 然后就得到了 θ 為一個值時,? r 為任意值的拉東變換了,? ?用公式表示成下面 (不標準寫法)


這個就是拉東變換的快速算法了, 然后就說說非常正規(guī)的拉東逆變換

非常正規(guī)的拉東逆變換
在講逆變換之前先來說說正規(guī)的"變換"的寫法, 不然符號非常非常容易混亂
對 f(t) 進行傅里葉變換可以寫成:? F[f(t)](ω)? ? ?而傅里葉逆變換可以寫成:? ?F^-1 [F(f)] (t)
所以拉東變換可以寫成以下的形式

拉東逆變換正式開始

在Rρ(r, θ)這個結果中, 固定住角度θ, 并且對 r 進行傅里葉變換

在經過繁瑣的化簡任務后得到:??(見最下方的化簡過程)

然后就會很神奇地發(fā)現(xiàn)這是一個原ρ密度函數(shù)的二維傅里葉變換, 即

那么做傅里葉逆變換就得到了原函數(shù)了

起碼我沒見過有人用這個方法= =, 所以就有了一下各種快速算法

快速的拉東逆變換(不精準) -- 逆投影
參照快速拉東變換的做法,? 逆變換的思路就是:? ?既然我們不知道內部的情況, 只知道投影之后的影子R(θ).? ? ???那么針對一個特定的角度θ,? 我們有投影結果R, 那么我們假設內部的分別為線狀, 恰好能生成這樣的影子

這個就叫做逆投影了, 那么對每個角度θ都進行逆投影然后疊加在一起, 那么就可以得到內部圖像的影像了, 用公式表示大概就是下面的東西 (亂湊的):


我們這里用一個實驗品做做測試 :



我們可以看到已經和原圖像差不多一模一樣了, 但是同時也可以看到有一片白色的光暈
這也說明如果把Rρ直接扔進逆投影變換出來的結果并不理想
這時候我們就需要把Rρ進行預處理,? 我所知道的預處理有兩種 (實際上肯定不止的)

第一種是把值比較高的地方, 左右壓下去? ?(這就意味著是比較亮的邊緣是比較暗的)

(沒有實例, 但是我已經知道結果了)
這樣變換出來之后白色方塊周圍確實已經變暗了很多, 所以這種方法是可行的
但是這個方法也有一個問題, 就是如果目標圖像非常精細, 而你的信號分辨率又不夠好, 這種方法反而會讓圖像變得更糟, 這時候就需要另一個方法了

第二種方法就是把信號的低頻分量過濾掉, 保留下大部分的高頻分量
操作:? 把信號作傅里葉變換, 然后把頻率為0的分量乘以0,? 高一點的乘以一個比0大一點點的數(shù)字, 再高頻率的乘以一個再大一點點的數(shù)字,? 直到最高頻率的乘以1或者2,? 然后把乘好的這堆頻率分量進行傅里葉逆變換得到信號,? 然后再把信號扔進逆投影


可以看到方塊的棱角清晰了很多,? 而且光暈也減輕了很多,? 但同時方塊的亮度也被減少了

其實第二種方法就是我自己使用的方法了, 在實際操作中也得到了非常好的結果, 再宣傳一下自己= =

拉東變換也到此結束啦
下面是逆變換的推導過程
