プロジェクションデータと再構成フィルタの処理
いままでは再構成フィルタの概略を述べてきましたが、ここではこの再構成フィルタがプロジェクションデータをどのように代えるのかを調べてみます。
先にも述べましたように計算には1)空間周波数領域での計算、2)実空間での計算がおこなわれるのですが、簡単に再構成フィルタを理解するために、ここでは実空間で説明します。
私たちが逆投影でSPECT画像を作るには、得られた60枚のプロジェクションデータ(投影データ)から最初は横断像を作ります。このときの横断像の厚みは最小単位の1ピクセルの厚みとしてSPECT画像を作るのが一般的です。あまり詳細なものが必要でないときにはもっと厚いスライスを選択することはあるのですが、基本は1ピクセル厚でリコンストラクションします。
ここでもリコンストラクションする厚みは1ピクセルとして話を進めます。また、話を簡単にするためにプロジェクションデータは64画像とします。
1)はじめのプロジェクションデータ(64×64)が矩形波であるとします。
ここで、P(0)は1番目のピルセルを表しています。p(63)は64番目のピクセルということです。
2)次にRampフィルタを準備します。
このとき重要になることは、プロジェクションデータは64画素としましたので、Rampフィルタには倍の128画像が必要となります。
実空間でのRampフィルタは、前頁に記述したように
g(ka)=1/4a2 (k=0のとき)
=−1/(πka)2 (k:奇数のとき)
=0 (k:偶数のとき)
でしたので、K=0のときのg(ka)=g(0)=1/4、K=1のときg(1)=−1/(π)2、K=2のときg(2)=0、K=3のときg(3)=−1/(3π)2
・・・・・・g(63)=−1/(63π)2の64個の値を求めます。
同じようにK=−1のときのg(−1)=−1/(π)2、・・・・・・g(−63)=−1/(63π)2の値を求めます。
これらの結果から128画素のRampフィルタが求まります。
(下の図はRampフィルタなのですが63〜ー63ピクセル全部を記述していません・・)
3)プロジェクションデータとRampフィルタとのコンボルーション積分
(コンボルーションのやり方の詳細は14)前処理フィルタの計算で述べています。)
a) Rampフィルタを反転(右左反転)します。
b) プロジェクションデータとRampフィルタとのコンボルーション積分をします。
計算は、Rampフィルタの中央値 R(0) とプロジェクションデータの1番目の値 p(0)を同じ位置として、1ピクセルずつ→方向に移動して計算します。処理された画像の値をhとすると
1. h(0)・・・・・・1番目のピクセルの処理後の値
h(0)=p(0)R(0)+p(1)R(−1)+p(2)R(−2)+p(3)R(−3)+・・・・・・・+p(62)R(−62)+p(63)R(−63)
2. 1ピクセル左→に移動させて
h(1)=p(0)R(1)+p(1)R(0)+p(2)R(−1)+p(3)R(−2)+・・・・・・・+p(62)R(−61)+p(63)R(−62)
3. また左→に1ピクセル移動させて
h(2)=p(0)R(2)+p(1)R(1)+p(2)R(0)+p(3)R(−1)+・・・・・・・+p(62)R(−60)+p(63)R(−61)
4. また左→に1ピクセル移動させて
h(3)=p(0)R(3)+p(1)R(2)+p(2)R(1)+p(3)R(0)+・・・・・・・+p(62)R(−59)+p(63)R(−60)
・
・
・
・
・
・
・
5. h(60)=p(0)R(60)+p(1)R(59)+p(2)R(58)+p(3)R(57)+・・・・・・・+p(60)R(0)+p(61)R(−1)+・・・+p(63)R(−3)
6. h(61)=p(0)R(61)+p(1)R(60)+p(2)R(59)+p(3)R(58)+・・・・・・・+p(61)R(0)+p(61)R(−1)+p(63)R(−2)
7. h(62)=p(0)R(62)+p(1)R(61)+p(2)R(60)+p(3)R(59)+・・・・・・・+p(62)R(0)+p(63)R(−1)
8. h(63)=p(0)R(63)+p(1)R(60)+p(2)R(59)+p(3)R(58)+・・・・・・・+p(63)R(0)
c) 以上のh(0)〜h(63)までの値をプロットすると、これがプロジェクションデータに再構成フィルタが加わった結果(下図)となります。