好んで入りたいとは思わないのです。しかし歳をとるとCT(Computed Tomography)の機械に入れられること時折。中は見えないですがドーナツの中で高速回転しとるよ感の音。そして自分の腹の断面図、それもスライス状に多数が提示されるのであります。このときラドン変換の計算(近似か?)がなされている?ホントか?
※「手習ひデジタル信号処理」投稿順 Indexはこちら
※Windows11上の Scilab2024.0.0およびScilab上のScilab IPCVツールボックスを使用させていただいております。
ラドン変換
トモグラフィ技術は、医療だけでなく、地球物理や土木工学など切らずに(掘らずに)中身を見たいときに多用されとる技術だと思います。数学者のラドン先生が定理を発見されたのね。ちなみに綴りはRadonっす。放射性物質のRadonと同じみたいだけれども「たまたま」?
さてこのラドン変換について、素人老人が語ってもせんないので、『武蔵野大学』様の以下のページへのリンクを貼り付けておきます。
数理工学センターコラム 「物を壊すことなく内部を「見る」には?」
今回手習ひしてみる関数は、画像(腹の中の様子?など)をラドン変換して、周囲を回転する線上に投影した様子を計算してくれるみたい。
計算例
例によってHelpファイルに掲載している例をちょいと手直しした例が以下に。
I = zeros(100,100); I(25:75, 25:75) = 1; [RT,xp] = imradon(I); scf(); subplot(141); title('Original'); imshow(I); subplot(142); title('Radon Transforms'); imshow(RT,hotcolormap(64)); subplot(143); title('0 Degrees'); plot(xp, RT(:,1)); subplot(144); title('45 Degrees'); plot(xp, RT(:,46));
ラドン変換の関数 imradon()は第2引数として角度(ベクトル)をとるのですが、何も書かないと0:179(0度から179度)を想定して1度キザミで計算してくれるみたいです。ここではデフォのまま。
左端が元画像です。そしてラドン変換後の行列が左から2つめに。そして、0度のときの投影データ波形と、45度のときの投影データ波形がそれにつづいております。
逆変換が簡単にできると良かったのだが。