ドキュメンテーション

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

構文

R = radon(I, theta)
[R,xp] = radon(...)
[___]= radon(gpuarrayI,theta)

説明

R = radon(I, theta) は、角度 theta 度に対する強度イメージ I のラドン変換 R を返します。

ラドン変換は、指定した角度の方向へ放射状に伸びた線に沿ってイメージ強度の投影を行うものです。theta がスカラーの場合、Rtheta 度に対するラドン変換を含んでいる列ベクトルになります。theta がベクトルの場合、R は各列が theta の 1 つの角度に対してラドン変換された行列となります。theta を指定しない場合、既定の設定は 0:179 になります。

[R,xp] = radon(...) は、R の各行に対応する動径座標を含んでいるベクトル xp を返します。

xp に返される動径座標は、x' 軸に沿った値で、x 軸から反時計回りに theta 度の方向になります。両軸の原点はイメージの中心ピクセルで、次のように定義されます。

floor((size(I)+1)/2)

たとえば、20 × 30 のイメージでは、中心ピクセルは (10, 15) になります。

[___]= radon(gpuarrayI,theta) は GPU でラドン変換を実行します。入力イメージと戻り値は 2 次元の gpuArray です。theta は、double または基になるクラスが double である gpuArray です。この構文では Parallel Computing Toolbox™ が必要です。

クラス サポート

I は、doublelogical または任意の整数クラスになります。その他すべての入力と出力のクラスは double です。どちらの入力にもスパースは指定できません。

gpuarrayI は、基になるクラスが uint8uint16uint32int8int16int32logicalsingle または double である gpuArray で、2 次元でなければなりません。theta は、double ベクトルまたは基になるクラスが double である gpuArray ベクトルです。

すべて折りたたむ

以下のイメージについて座標軸のスケールを表示します。

iptsetpref('ImshowAxesVisible','on')

サンプル イメージを作成します。

I = zeros(100,100);
I(25:75, 25:75) = 1;

ラドン変換を計算します。

theta = 0:180;
[R,xp] = radon(I,theta);

変換を表示します。

imshow(R,[],'Xdata',theta,'Ydata',xp,'InitialMagnification','fit')
xlabel('\theta (degrees)')
ylabel('x''')
colormap(gca,hot), colorbar

座標軸のスケールを非表示にします。

iptsetpref('ImshowAxesVisible','off')

GPU でラドン変換を計算して可視化します。

iptsetpref('ImshowAxesVisible','on')
I = zeros(100,100);
I(25:75, 25:75) = 1;
theta = 0:180;
[R,xp] = radon(gpuArray(I),theta);
imshow(R,[],'Xdata',theta,'Ydata',xp,...
            'InitialMagnification','fit')
xlabel('\theta (degrees)')
ylabel('x''')
colormap(gca,hot), colorbar
iptsetpref('ImshowAxesVisible','off')

アルゴリズム

ラドン変換したイメージは、個々のピクセルをそれぞれラドン変換したものの和です。

アルゴリズムは、まずイメージ内のピクセルを 4 つのサブピクセルに分割し、次の図のように各サブピクセルを別々に投影します。

投影位置からビン中心までの距離に応じて、各サブピクセルは 2 つの最も近いビンに均等に分割されます。サブピクセルがビンの中心点に投影されると、座標軸上のビンはサブピクセルの絶対値またはピクセルの 4 分の 1 の値を取得します。サブピクセルが 2 つのビンの境界に投影されると、サブピクセルの値はビンに均等に分割されます。

参考文献

Bracewell, Ronald N., "Two-Dimensional Imaging", Englewood Cliffs, NJ, Prentice Hall, 1995, pp. 505-537.

Lim, Jae S., "Two-Dimensional Signal and Image Processing", Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 42-45.

R2006a より前に導入

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