Main Content

fspecial3

事前定義型の 3 次元フィルターの作成

説明

h = fspecial3(type) は、指定した type の 3 次元フィルター h を作成します。一部のフィルター タイプには、以下の構文で示すような追加パラメーターがオプションで存在します。fspecial3 は、h を相関カーネルとして返します。これは、imfilter で使用するのに適した形式です。

h = fspecial3('average',hsize) はサイズ hsize の平均化フィルター h を返します。これは推奨されません。代わりに imboxfilt3 を使用してください。

h = fspecial3('ellipsoid',semiaxes) は、semiaxes で指定される長さの主半軸を持つ楕円体平均化フィルターを返します。フィルター h は、サイズが 2*ceil(semiaxes)+1 の配列に返されます。

h = fspecial3('gaussian',hsize,sigma) はガウス ローパス フィルターを返します。サイズは hsize、標準偏差は sigma です。これは推奨されません。代わりに imgaussfilt3 を使用してください。

h = fspecial3('laplacian',gamma1,gamma2) は 3 次元ラプラス演算子の形状を近似する 3 x 3 x 3 のフィルターを返します。gamma1gamma2 はラプラス演算子の形状を制御します [1][2]

h = fspecial3('log',hsize,sigma) はガウスのラプラシアン フィルターを返します。サイズは hsize、標準偏差は sigma です。

h = fspecial3('prewitt',direction) は 3 x 3 x 3 のフィルターを返します。これは指定された方向の勾配を強調します。

h = fspecial3('sobel',direction) は 3 x 3 x 3 のフィルターを返します。これは指定された方向の勾配を強調し、他の方向を平滑化します [3]

すべて折りたたむ

3 次元グレースケール MRI ボリュームを読み込みます。ボリュームの平面を表示します。

load mristack;
montage(mristack,'BackgroundColor','w')

3 次元楕円体フィルターを作成します。y (行) と x (列) 方向の半軸の長さを 7 ピクセルに、z (面) 方向の半軸の長さを 3 ピクセルに指定します。

H = fspecial3('ellipsoid',[7 7 3]);

フィルターによりボリュームを平滑化します。

volSmooth = imfilter(mristack,H,'replicate');

平滑化したボリュームの平面を表示します。

montage(volSmooth,'BackgroundColor','w')

MRI ボリュームを読み込みます。このボリュームは、大きさが 1 の次元を持つ 4 次元配列として格納されます。関数 squeeze を使用して大きさが 1 の次元を削除することにより、3 次元グレースケール ボリュームを作成します。

load mri;
V = squeeze(D);

ボリュームの平面を表示します。

montage(D,'BackgroundColor','w')

ボリューム内の水平エッジを検出する 3 次元ソーベル フィルターを作成します。水平エッジは y 方向に大きな勾配がある場所に現れるので、ソーベル フィルターの方向を 'Y' として指定します。ソーベル フィルターは x 方向と z 方向の勾配を平滑化します。

H = fspecial3('sobel','Y');

3 次元ソーベル フィルターを使用してボリュームをフィルター処理します。

edgesHor = imfilter(V,H,'replicate');

フィルター済みボリュームの平面を表示します。

montage(edgesHor)

入力引数

すべて折りたたむ

フィルターのタイプ。次のいずれかの値に指定します。

説明

'average'

平均化フィルター。これは推奨されません。代わりに imboxfilt3 を使用してください。

'ellipsoid'

楕円体平均化フィルター

'gaussian'

ガウス ローパス フィルター。これは推奨されません。代わりに imgaussfilt3 を使用してください。

'laplacian'

3 次元ラプラス演算子を近似する

'log'

ガウスのラプラシアン フィルター

'prewitt'

プレウィット エッジ強調フィルター

'sobel'

ソーベル エッジ強調フィルター

データ型: char | string

フィルターのサイズ。正の整数または正の整数の 3 要素ベクトルとして指定します。h の行、列、面の数を指定するにはベクトルを使用します。立方体の辺の長さを指定するにはスカラーを使用します。

'gaussian' および 'log' フィルター タイプの場合、hsize[] として指定すると、fspecial3 は既定のサイズ 2*ceil(2*sigma)+1 のフィルターを作成します。

データ型: double

楕円体フィルターの半軸の長さ。正の数値または正の数値の 3 要素ベクトルとして指定します。行、列、平面の 3 つの主半軸の長さを指定するにはベクトルを使用します。これらの値はそれぞれ、直交座標の y、x および z 方向の長さに対応します。球の半径を指定するにはスカラーを使用します。

データ型: double

ガウス フィルターの標準偏差。正の数値または正の数値の 3 要素ベクトルとして指定します。スカラーを指定した場合、fspecial3 は 3 次ガウス カーネルを作成します。

データ型: double

ラプラス演算子の形状。範囲が [0 1] のスカラーとして指定します。gamma1gamma2 の和は 1 を超えてはなりません。

データ型: double

プレウィットおよびソーベル フィルター処理の勾配の方向。'X''Y' または 'Z' として指定します。

データ型: char | string

出力引数

すべて折りたたむ

相関カーネル。数値配列として返されます。

データ型: double

参照

[1] Lindeberg, T., Scale-Space Theory in Computer Vision. Boston, MA: Kluwer Academic Publishers, 1994.

[2] Geometry-Driven Diffusion in Computer Vision. Edited by B. M. ter Haar Romeny. Boston, MA: Kluwer Academic Publishers, 1994.

[3] Engel, K., M. Hadwiger, J. M. Kniss, C. Rezk-Salama, and D. Weiskopf. Real-Time Volume Graphics. Wellesley, MA: A K Peters, Ltd., 2006, pp. 112–114.

拡張機能

バージョン履歴

R2018b で導入