(JavaScript版はこちら)フーリエ変換は、複雑な関数を周波数成分に分解してより簡単に記述することができるため、音や光、振動、コンピュータグラフィックス、医療など幅広い分野で用いられています。ここでは医療分野への応用の1例として、CTスキャンの原理についておおまかに説明し、それに基づいて作成したプログラム(アプレット)を通してCTスキャンによる断面画像再構成を体験してみましょう。Tomography:コンピュータ断層撮影)は、X線などの放射線を用いた測定とコンピュータ処理により、物体の内部画像(断面図)を再構成する技術です。最近の画像処理技術の向上により、単に「断面」に限定して用いる検査方法ではなく、3次元グラフィックスとして表示されることも多くなってきています。CTにより人体内部の断面図を得るCTスキャンは、短時間でほとんど苦痛なく検査ができ、しかも多くの情報を得ることができることから、超音波検査と並び最もよく用いられる画像検査法のひとつです。下図の「元画像」の欄の人体を模した円形(と内部)の上下に、X線源と検出器があります。CTスキャンではX線源から人体に向けて照射されたX線は人体内部を通過し、一部吸収されて減衰した後、反対側の検出器で受けます。人体内部の各位置でのX線吸収率の違いにより、検出値の分布(下図中央の図)が変化します。X線源と検出器の組を少しずつ回転させて撮影を繰り返します(下図左側の図中でマウスホイールを回転させると、X線源と検出器の組が回転し、それに応じて中央の分布図も変化します)。このようにして得られた情報をコンピュータ処理することによって、対象物中のそれぞれの位置でのX線の吸収量を、黒から白に至る輝度(明るさ)として表示したものがCT画像です。CT画像では、骨の部分などはX線の吸収が大きいので白く見え、空気など吸収が少ない部分は黒く見えます。これらの中間の吸収を示す部分(水や筋肉など)は灰色に見えます。-----------------------------------------CTスキャンの数学的な原理は以下のとおりです。xy座標系をθだけ回転させた座標系です。ラドン(Radon)変換と呼びます。y)を求めることができれば、人体の画像(断層写真)が得られることになります。このために、以下のようにフーリエ変換を利用します。v)の値に等しくなることがわかります。求められることになります。得られることを示しています。●CTスキャンを体験しよう上のアプレットを使って、CTスキャンの処理の様子を体験してみましょう。指定すると、様々な円や長方形が合わせてK個表示されます。実際には内部の様子はこの段階では不明です。これをCTで検出(再構成)する訳です。・「計算開始」を押すと、各回転角度でのスキャニング(データのX軸への投影)が行われます。・「分割数:N」は画像の解像度を指定します。・「データセット」は形状の数:Kを変化させずに、大きさ・位置を変えます。・「CT連続スキャン」はX線源と検出器の組を連続的に回転させて、投影データの変化を表示します。左側の図中でマウスホイールを回転させても、X線源と検出器の組が回転します。・「計算/スキャン中止」で、計算あるいは連続スキャンを中止します。・再構成画面上にマウスがあると、その点での元画像(f0)/再構成画像(f1)の画素値を表示します。●アプレットの処理手順このアプレットの処理手順は概略次のとおりです。対して、乱数を利用して位置・大きさの異なる円/長方形を配置します。X)を作成し、表示します(ラドン変換、画面中央)。掛けたものをフーリエ逆変換(IFFT)します。(3)(2−3)の結果を積算し、正規化します。(4)これを画像(再構成画像)として表示します(画面右側)。再構成画像があまりクリアでないのは、解像度およびプログラムの問題(?)です。2次元フーリエ変換ホーム。