ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ifanbeam

逆ファンビーム変換

構文

I = ifanbeam(F,D)
I = ifanbeam(...,param1,val1,param2,val2,...)
[I,H] = ifanbeam(...)

説明

I = ifanbeam(F,D) は、2 次元配列の投影データ F からイメージ I を復元します。F の各列には、ある回転角でのファンビーム投影データが含まれています。ifanbeam は、回転の中心は投影の中心点であると仮定し、ceil(size(F,1)/2) として定義します。

ファンビームの広がり角は、0 から入力の回転角と同じ目盛りで均等に増えると想定されています。入力回転角は [0:359] 度の範囲で均等に順次増加します。

D はファンビーム頂点から回転中心までの距離です。

I = ifanbeam(...,param1,val1,param2,val2,...) は、次の表に示すように、ifanbeam 復元のさまざまな特性を制御するパラメーターを指定します。パラメーター名は省略形でも構いません。大文字と小文字は区別されません。既定値は中かっこ ({}) で示されます。

パラメーター

説明

'FanCoverage'

ビームが回転する範囲を指定する文字列。

{'cycle'} - 全範囲 [0,360) にわたり回転します。

'minimal' — オブジェクトを示すために必要な最小範囲を回転します。

'FanRotationIncrement'

ファンビーム投影の回転角の増分を指定する正の実数スカラー (単位は角度)。詳細は、fanbeam を参照してください。

'FanSensorGeometry'

センサーの配置位置を指定する文字列。

'arc' — センサーは、回転中心から D の距離で円弧状に等間隔で配置されます。既定値は 'arc' です。

'line' — センサーはライン上に等間隔で配置され、最接近点は回転中心から D の距離です。

詳細は、fanbeam を参照してください。

'FanSensorSpacing'

ファンビーム センサーの配置間隔を指定する正の実数スカラー。値の解釈は 'FanSensorGeometry' の設定に応じて異なります。'FanSensorGeometry''arc' (既定の設定) に設定した場合、この値が角度間隔を定義します (度単位)。デフォルト値は 1 です。'FanSensorGeometry''line' の場合は、値は線形の間隔を指定します。既定値は 1 です。詳細は、fanbeamを参照してください。

'Filter'

フィルター名を指定する文字列。詳細は、iradon を参照してください。

'FrequencyScaling'

周波数軸を再スケーリングしてフィルターを変更する範囲 (0,1] のスカラー。詳細は、iradon を参照してください。

'Interpolation'

パラレルビーム データとファンビーム データの間で使用される内挿のタイプを指定するテキスト文字列。

'nearest' - 最近傍点

{'linear'} - 線形

'spline' — 区分的 3 次スプライン

'pchip' —- 区分的 3 次エルミート (PCHIP)

'v5cubic' — MATLAB® 5 の 3 次内挿法

'OutputSize'

復元イメージの行数と列数を指定する正のスカラー。

'OutputSize' が指定されていない場合、ifanbeam は自動的にサイズを決めます。

'OutputSize' が指定された場合、ifanbeam はイメージの一部または大部分を復元しますが、データのスケーリングは変更しません。

    メモ:   関数 fanbeam を使用して投影を計算した場合、復元イメージのサイズは元のイメージと異なる場合があります。

[I,H] = ifanbeam(...) は、フィルターの周波数応答をベクトル H で返します。

メモ:

ifanbeam はファンビーム データをパラレル ビーム投影に変換し、フィルター逆投影アルゴリズムを使用して逆ラドン変換を行います。フィルターは周波数領域で直接設計され、投影の FFT が乗算されます。投影は、空間領域でのエイリアシングを避けて FFT の速度を上げるために、フィルター処理を行う前に 2 のべき乗になるようにゼロ パディングされます。

クラス サポート

入力引数 F および Ddouble または single に指定できます。他のすべての入力引数は、double でなければなりません。出力引数は double です。

例 1

この例では、頭部イメージのファンビーム変換を作成し、関数 ifanbeam を呼び出してファンビーム変換から頭部イメージを再作成します。

ph = phantom(128);
d = 100;
F = fanbeam(ph,d);
I = ifanbeam(F,d);
imshow(ph), figure, imshow(I);

例 2

この例では、'fancoverage' オプションを 'minimal' に設定して関数 ifanbeam を使用する方法を示します。

ph = phantom(128); 
P = radon(ph); 
[F,obeta,otheta] = para2fan(P,100,... 
                            'FanSensorSpacing',0.5,...
                            'FanCoverage','minimal',...
                            'FanRotationIncrement',1);
phReconstructed = ifanbeam(F,100,... 
                           'FanSensorSpacing',0.5,...
                           'Filter','Shepp-Logan',...
                           'OutputSize',128,... 
                           'FanCoverage','minimal',...
                           'FanRotationIncrement',1);
imshow(ph), figure, imshow(phReconstructed)

参考文献

[1] Kak, A. C., and M. Slaney, Principles of Computerized Tomographic Imaging, New York, NY, IEEE Press, 1988.

R2006a より前に導入

この情報は役に立ちましたか?