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')

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')

入力引数

すべて折りたたむ

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

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

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

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

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

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

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

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

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

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

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

"replicate"

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

"symmetric"

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

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

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

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

データ型: char | string

出力引数

すべて折りたたむ

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

ヒント

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

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

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

拡張機能

バージョン履歴

R2015a で導入

すべて展開する