2012-04-03 13 views
0

私は、共役勾配法を使用して、MATLABの助けを借りて画像のサイノグラムを与えたSPECT画像を再構成するプロジェクトに取り組んでいます。私は線形方程式Ax = bを解く必要があることを認識しました。ここで、bは既知サイノグラム値をベクトルに包んだN次元ベクトルであり、xは再構成されるべき未知の画像を含むM次元ベクトルであり、システムベクトルです。私はサイノグラムを使って簡単にbを作ることができますが、私はどのようにしてAを得るべきか分かりません。 私が欲しい画像は128X128、サイノグラムは128X32(つまり32個の投影)です。共役勾配2D画像再構成Matlab

誰も私の画像を再構築するmatlabs PCG関数の助けをどのように使用することができますの任意のアイデアを持っていますか?

答えて

0

投影行列Aのn番目の列は、n番目のピクセルのラドン変換です。つまり、そのn番目の要素は1で、他の要素はすべてゼロです。これはmatlabラドン関数で実行可能ですが、Aが疎であり、ループがかなり時間を要するため、非常に効率的であるとは思えませんが、128x128x128x32はまだ扱いやすく、(疎な)行列はあなたのジオメトリが変更されない限り、.matファイル。

あなたは

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); 

を呼び出すことでAを取得する場所私はそれが役に立てば幸い例http://www2.imm.dtu.dk/~pch/AIRtools/ のために、他のMATLABスクリプトを試すことができます。