Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

imgaussfilt3

3 次元イメージの 3 次元ガウス フィルター処理

説明

B = imgaussfilt3(A) は、標準偏差 0.5 の 3 次元ガウス平滑化カーネルで 3 次元イメージ A をフィルター処理し、フィルター処理されたイメージを B に返します。

B = imgaussfilt3(A,sigma) は、sigma で指定された標準偏差の 3 次元ガウス平滑化カーネルで 3 次元イメージ A をフィルター処理します。

B = imgaussfilt3(___,Name,Value) は、フィルター処理の特性を制御する名前と値のペアの引数を使用します。

すべて折りたたむ

MRI データを読み込んで表示します。

vol = load('mri');
figure
montage(vol.D)
title('Original image volume')

Figure contains an axes object. The axes object with title Original image volume contains an object of type image.

3 次元ガウス フィルターを使用してイメージを平滑化します。

siz = vol.siz;
vol = squeeze(vol.D);   
sigma = 2;
 
volSmooth = imgaussfilt3(vol, sigma);
  
figure
montage(reshape(volSmooth,siz(1),siz(2),1,siz(3)))
title('Gaussian filtered image volume')

Figure contains an axes object. The axes object with title Gaussian filtered image volume contains an object of type image.

入力引数

すべて折りたたむ

フィルター処理するイメージ。3 次元数値配列として指定します。

データ型: single | double | int8 | uint8 | int16 | uint16 | int32 | uint32

ガウス分布の標準偏差。正の数値または正の数値の 3 要素ベクトルとして指定します。sigma がスカラーの場合、imgaussfilt3 は 3 次ガウス カーネルを使用します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

名前と値の引数

例: volSmooth = imgaussfilt3(vol,sigma,'padding','circular');

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

ガウス フィルターのサイズ。正の奇数のスカラーまたは 3 要素ベクトルとして指定します。スカラーを指定した場合、imgaussfilt3 は 3 次フィルターを使用します。既定のフィルター サイズは 2*ceil(2*sigma)+1 です。

例: volSmooth = imgaussfilt3(vol,sigma,'FilterSize',5);

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

イメージ パディング。次のいずれかに指定します。

説明
数値スカラー定数値の要素によってイメージをパディングします。
'circular'

次元内で巡回的に要素を繰り返しパディングします。

'replicate'

配列の境界の要素を繰り返すことによってパディングします。

'symmetric'

イメージをそれ自体の鏡像でパディングします。

例: volSmooth = imgaussfilt3(vol,sigma,'padding','circular');

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

フィルター処理を実行する領域。以下のいずれかの値に指定します。

フィルター領域 説明
'auto'内部の経験則に基づいて空間領域または周波数領域で畳み込みを実行します。
'frequency'周波数領域で畳み込みを実行します。
'spatial'空間領域で畳み込みを実行します。

例: volSmooth = imgaussfilt3(vol,sigma,'FilterDomain','frequency');

データ型: char | string

出力引数

すべて折りたたむ

フィルター処理されたイメージ。クラスとサイズが入力イメージと同じ数値配列として返されます。

ヒント

  • イメージ AInf または NaN が含まれている場合、imgaussfilt3 の周波数領域でのフィルター処理は定義されません。これは、'FilterDomain' パラメーターに 'frequency' を設定するか、'auto' を設定し、なおかつ imgaussfilt3 で周波数領域のフィルター処理を使用した場合に発生します。imfilter と同様の方法で出力での InfNaN の伝播を制限するために、'FilterDomain' パラメーターに 'spatial' を設定することを検討してください。

  • 'FilterDomain' パラメーターに 'auto' を設定すると、imgaussfilt3 は内部の経験則を使用して、空間領域と周波数領域のいずれのフィルター処理が高速かを判定します。この経験則はマシンに依存し、各種構成によって異なる場合があります。最適なパフォーマンスを得られるように、'spatial''frequency' の両方のオプションを試し、使用するイメージとカーネル サイズに最適なフィルター処理領域を決定します。

  • 'Padding' パラメーターを指定しない場合、imgaussfilt3 は既定の設定で 'replicate' パディングを使用します。これは imfilter で使用される既定の設定とは異なります。

拡張機能

バージョン履歴

R2015a で導入