0

私は、共役勾配法を使用して、MATLABを使用して画像のサイノグラムを指定してSPECT画像を再構成する必要があるプロジェクトに取り組んでいます。線形方程式Ax=bを解く必要があることに気付きました。ここで、bはベクトルにラップされた既知のサイノグラム値を含むN次元ベクトルであり、xは再構築される未知の画像を含むM次元ベクトルであり、Aシステムベクトルです。持っているサイノグラムでbを簡単に作成できますが、Aを取得する方法がわかりません。必要な画像は128X128で、サイノグラムは128X32(つまり、32の投影)です。

matlabs PCG関数を使用して画像を再構築する方法について誰かがアイデアを持っていますか?

4

1 に答える 1

0

射影行列 A の n_th 列は、n_th ピクセルのラドン変換です。つまり、その n_th 要素は 1 で、他のすべての要素は 0 です。これは matlab の radon 関数で実行できますが、A がスパースになるため非常に効率的であるとは思えず、ループにはかなりの時間がかかると思いますが、128x128x128x32 はまだ管理可能であり、(スパース) 行列は a にキャッシュできます。ジオメトリが変更されない限り、.mat ファイル。

http://www2.imm.dtu.dk/~pch/AIRtools/ を呼び出して A を取得するなど、他の matlab スクリプトを試すことができます。

N=128;               % 128x128 pixels
p=128;               % Number of rays per projection
alpha=(0:32)*180/32; % List of projection angles in degrees
A=paralleltomo(N, alpha, p);

それが役立つことを願っています。

于 2012-04-10T12:57:51.680 に答える