CT Lab

第4章 フィルタ補正逆投影(FBP / CBP)

中心断面定理からランプフィルタを導き、標準手法 FBP に到達する。

前章の宿題は「逆投影の前に、投影へどんな補正を掛けるべきか」でした。鍵になるのが中心断面定理(Fourier slice theorem)です。角度 θ\theta の投影プロファイル p(θ,)p(\theta,\cdot) を 1 次元フーリエ変換した P(θ,ω)P(\theta,\omega) は、物体 f(x,y)f(x,y) の 2 次元フーリエ変換 FF を、原点を通る角度 θ\theta の直線に沿って切り出したものに一致します。1 方向の投影を測ることは、2 次元周波数空間を 1 本の線として測ることだったわけです。

P(θ,ω)  =  F(ωcosθ,  ωsinθ)P(\theta, \omega) \;=\; F(\omega\cos\theta,\; \omega\sin\theta)
空間領域p(θ,s)θ1 次元フーリエ変換(s → ω)周波数領域ωxωyP(θ,ω)θ原点を通る直線で切った断面

中心断面定理。投影の 1 次元スペクトルは、物体の 2 次元スペクトルを原点を通る直線で切った断面に等しい。

全角度の投影を集めると、FF は極座標格子(原点を通る放射状の線束)の上でサンプルされたことになります。この格子は原点付近ほど密で、高周波ほど疎です。2 次元逆フーリエ変換を極座標で書き直すと、面積要素 dωxdωy=ωdωdθd\omega_x\, d\omega_y = |\omega|\, d\omega\, d\theta からヤコビアン ω|\omega| が現れます。これがランプフィルタの正体です。SBP が低周波を過大評価してボケるのは、この密度補正 ω|\omega| を掛け忘れているからでした。

f(x,y)=0π ⁣ ⁣P(θ,ω)ωe2πiω(xcosθ+ysinθ)dωdθf(x,y) = \int_0^{\pi}\!\!\int_{-\infty}^{\infty} P(\theta,\omega)\, |\omega|\, e^{\,2\pi i \omega (x\cos\theta + y\sin\theta)}\, d\omega\, d\theta
低周波:密高周波:疎ωH(ω)H(ω) = |ω|面積要素から |ω| が現れる|ω| を掛けて補正

逆フーリエ変換の極座標表示。ヤコビアン |ω| が投影ごとの密度補正として掛かる。

ω\omega の積分を先に実行すると、実装しやすい形になります。各角度の投影 p(θ,)p(\theta,\cdot) にフィルタ hh を畳み込んで補正済み投影 q(θ,)q(\theta,\cdot) を作り、あとは前章の SBP とまったく同じ手順で逆投影するだけです。これがフィルタ補正逆投影(filtered backprojection, FBP)です。フィルタの周波数応答は、ランプ ω|\omega| に窓関数 W(ω)W(\omega) を掛けた H(ω)=ωW(ω)H(\omega) = |\omega|\cdot W(\omega) と書けます。

f(x,y)=0πq(θ,  xcosθ+ysinθ)dθ,q(θ,)=p(θ,)hf(x,y) = \int_0^{\pi} q\bigl(\theta,\; x\cos\theta + y\sin\theta\bigr)\, d\theta, \qquad q(\theta,\cdot) = p(\theta,\cdot) * h H(ω)=ωW(ω)H(\omega) = |\omega| \cdot W(\omega)

窓関数の選択=解像度とノイズのトレードオフ

理想のランプ ω|\omega| は周波数に比例して高域を増幅し続けるため、測定ノイズも同じだけ増幅します。そこで高域を抑える窓関数 W(ω)W(\omega) を掛けて帯域を制限します。Ram-Lak(矩形窓のみのランプ)は最もシャープな像を与える一方で、ノイズに敏感です。Shepp-Logan(sinc 窓)は高域を穏やかに抑えます。Hann 窓はさらに強く抑え、ノイズ耐性と引き換えに解像度を犠牲にします。窓の選択とは、解像度とノイズのトレードオフの選択にほかなりません。

畳み込み定理により、周波数領域で H(ω)H(\omega) を乗じる操作と、実空間でカーネル h(s)h(s) を畳み込む操作は完全に等価です。実空間の畳み込みとして実装したものは畳み込み逆投影(convolution backprojection, CBP)と呼ばれます。FFT で行う FBP と、Ram-Lak や Shepp-Logan の閉形式カーネルを直接畳み込む CBP は、同じ数学の 2 通りの実装です。

q(θ,s)=ωW(ω)P(θ,ω)e2πiωsdω  =  (hp)(θ,s)q(\theta, s) = \int_{-\infty}^{\infty} |\omega|\, W(\omega)\, P(\theta,\omega)\, e^{\,2\pi i \omega s}\, d\omega \;=\; (h * p)(\theta, s)

シミュレーション:フィルタの形

フィルタを切り替えて、周波数応答 H(ω)=ωW(ω)H(\omega) = |\omega|\cdot W(\omega) と実空間カーネル h[n]h[n] の形を見比べます。Ram-Lak はナイキスト周波数までまっすぐ伸びるランプで、Shepp-Logan と Hann は窓によって高域が抑えられています。実空間カーネルは中心が正、両脇が負。この負のローブが、逆投影の 1/r1/r ボケをちょうど打ち消します。

周波数応答 H(ω)

0510152025303540455001000150020002500300035004000周波数 ω(1/長さ)H(ω)

実空間カーネル h[n]

-15-10-5051015-5000500100015002000検出器サンプル nh[n]

再構成フィルタの周波数応答 H(ω) = |ω|·W(ω) と実空間カーネル h[n]。

シミュレーション:フィルタ前後の投影プロファイル

選んだファントムの 1 角度分の投影 p(θ,)p(\theta,\cdot) と、フィルタ適用後の q(θ,)q(\theta,\cdot) を重ねて表示します。フィルタ後の変化は 3 つあります。物体の縁が強調されること、平坦な内部では値が下がること、そして物体のすぐ外側で負の値になることです。この負の部分が、逆投影のときに隣のレイが塗り足すボケを打ち消す役割を担います。

ファントム

WL 0.500 / WW 1.00右ドラッグ / Shift+ドラッグ:WL/WW調整

p(θ,·) と q(θ,·)

計算中…

1 角度分の投影プロファイル p(θ,·) とフィルタ適用後の q(θ,·) の重ね描き。

シミュレーション:FBP 再構成

同じ投影データから SBP(左)と FBP(右)を再構成して比べます。フィルタ「なし」が SBP 相当です。投影数を減らすと、FBP でもストリークが現れます。ノイズを加える(I0I_0 を小さくする)と Ram-Lak はノイズを強く増幅し、Shepp-Logan や Hann では滑らかに収まります。RMSE は FOV 中心 90% の円内で真のファントムと比較した値です。

ファントム

WL 0.500 / WW 1.00右ドラッグ / Shift+ドラッグ:WL/WW調整

再構成フィルタ

SBP(フィルタなし)

計算中…
RMSE(対 真値)

FBP

計算中…
RMSE(対 真値)

同一の投影データによる SBP(左)と FBP(右)の再構成像。

FBP の要点

中心断面定理により、投影の 1 次元スペクトルは物体の 2 次元スペクトルの放射状断面であることが分かりました。極座標サンプリングの密度補正 ω|\omega| を投影に掛けてから逆投影するのが FBP です。実空間の畳み込みで書けば CBP になり、両者は等価です。窓関数 W(ω)W(\omega) が解像度とノイズのトレードオフを決めます。ここまでは平行ビームの話でした。次章では、実際の CT 装置が使うファンビームの幾何学と、その再構成を扱います。

なお、この中心断面定理は CT だけのものではありません。MRI 編(第16章)では、勾配磁場を使って物体の 2 次元スペクトルそのものを直接測ります。CT が投影を通じて間接的に触れていたフーリエ空間を、MRI は正面から走査するのです。

参考文献

このページの内容