1

MATLAB を使用して、CT (コンピューター断層撮影) 投影演算子 A を実装しようとしています。これは、「システム マトリックス」とも呼ばれることが多いと思います。

基本的に、N x N 画像 M の場合、投影データ P は、投影演算子を画像に乗算することによって取得できます。

午前=午前

逆投影手順は、投影演算子の (共役) 転置を投影データに乗算することによって実行できます。

M = A'P

行列 A (例: ラドン変換) を実装する方法に関するアイデア/例/サンプル コードはありますか? 可能であれば、8 x 8 または 16 x 16 などの小さなサイズのマトリックスから始めたいと思っています。

私の質問は本当に: 投影演算子を実装する方法です。演算子に画像を掛けることで投影を取得でき、演算子の (共役) 転置と投影を乗算することで、元の画像を取得できます。 .

編集:

特に、距離駆動のプロジェクターを実装したいと考えています。その場合、ビームの軌道 (平行、ファンなど) は問題になりません。非常に単純な例 (MATLAB を推奨) から始めるのが最適です。

4

4 に答える 4

5

私の知る限り、距離駆動型プロジェクター/バックプロジェクター (特許取得済み) の自由に利用できる実装はありません。ただし、それほど難しくなく自分でコーディングすることはできます。

論文を読み、プロジェクターが何をしているかを理解することから始めます。必要な主要パーツはわずかです。

  • ピクセル境界を軸に投影します。
  • 検出器の境界を軸に投影します。
  • オーバーラップ カーネル。

最初の 2 つは単純なジオメトリです。オーバーラップ カーネルについては、論文で詳細に (そしてほとんどが使用可能な疑似コードで) 説明されています。

射影を行う実際の行列にはならないことに注意してください。最も小さな例を除いて、システムは大きすぎます。代わりに、距離駆動型射影に対応する線形演算子を実装する関数を作成する必要があります。

于 2014-01-18T02:16:04.910 に答える