フィルター (Filter) の仕組み

Spatial Analyst のライセンスで利用可能。

[フィルター (Filter)] ツールを使用して、エラー データを除去したり、データで不鮮明になっているフィーチャを強調したりすることができます。 フィルターは基本的に、入力ラスターをスキャンする 3 x 3 セルの近傍ウィンドウを移動することで出力値を作成します フィルターが各入力セルを通過するときに、そのセルの値、およびそのセルの周囲にある 8 つの近傍を使用して出力値を計算します。

このツールには、ロウ パスとハイ パスの 2 種類のフィルターがあります。

フィルターのタイプ

[ロウ パス] タイプのフィルターは、入力ラスターに対してロウ パス (平均) フィルターを適用して、基本的にデータをスムーズにします。 [ハイ パス] タイプのフィルターは、ハイ パス フィルターを使用して、ラスターで表されているフィーチャ間のエッジと境界を強調します。

ロウ パス フィルター

ロウ パス フィルターは、ローカルの変動を減少してノイズを除去することにより、データをスムーズにします。 3 x 3 の各近傍について、平均値を計算します。 このフィルターは、基本的に、[平均値] 統計オプションを使用した [フォーカル統計 (Focal Statistics)] ツールと同じです。 この効果は、各近傍の大きい値と小さい値が平均化され、データ内の極端な値が減少します。

例 1

1 つの処理セル (値 8 を持つ中央のセル) の入力近傍値の例を次に示します。

7 5 2 4 8 3 3 1 5

処理セル (値 8 を持つ中央の入力セル) の計算は、入力セルの平均を求めることです。 これは、近傍の入力値すべての合計を、近傍のセル数 (3 x 3 = 9) で除算して得られます。

値 = ((7 + 5 + 2) + (4 + 8 + 3) + (3 + 1 + 5)) / 9 = 38 / 9 = 4.222

処理するセル位置の出力値は 4.22 です。

すべての入力値の平均値が計算されるので、リストの最大値、つまり処理セルの値 8 が平均化されます。

例 2

この例は、[ロウ パス] オプションを使用した [フィルター (Filter)] ツールを小さい 5 x 5 セル ラスターに適用することによって生成されるラスターを示しています。

NoData セルの処理方法を示すため、[計算時に NoData を除外] パラメーターをオンに (Python では DATA に設定) した場合の出力値とオフに (Python では NODATA に設定) した場合の出力値を示しています。

  • 入力セル値:
    2.000 3.000 4.000 5.000 6.000 2.000 3.000 4.000 NoData 6.000 2.000 3.000 4.000 5.000 6.000 2.000 30.000 4.000 5.000 NoData 1.000 2.000 2.000 3.000 NoData
  • [計算時に NoData を除外] パラメーターをオンにした場合の出力セル値 (フィルター ウィンドウ内の NoData セルは計算時に除外されます):
    2.500 3.000 3.800 5.000 5.667 2.500 3.000 3.875 5.000 5.600 7.000 6.000 7.250 4.857 5.500 6.667 5.556 6.444 4.143 4.750 8.750 6.833 7.667 3.500 4.000
  • [計算時に NoData を除外] パラメーターをオフにした場合の出力セル値 (フィルター ウィンドウ内のいずれかのセルが NoData の場合には出力が NoData になります):
    NoData NoData NoData NoData NoData NoData 3.000 NoData NoData NoData NoData 6.000 NoData NoData NoData NoData 5.556 6.444 NoData NoData NoData NoData NoData NoData NoData

例 3

次の例では、入力ラスターに、データ収集エラーによって生じた異常なデータ ポイントが含まれています。 [ロウ パス] オプションの特性として平均化されることによって、異常なデータ ポイントがスムーズになっています。

ロウ オプションを使用したフィルター
LOW オプションを使用したフィルター出力の例

ハイ パス フィルター

ハイ パス フィルターは、セルの値とその近傍の値の比較差を強調します。 複数のフィーチャの境界 (水域と森林との間など) を明確にし、オブジェクト間のエッジをシャープにする効果があります。 これは一般に、エッジ強調フィルターと呼ばれます。

[ハイ パス] オプションでは、9 つの入力 Z 値が、低周波の変動を除去し、異なる領域間の境界を強調するように重み付けされます。

このオプションでの 3 x 3 フィルター:

-0.7 -1.0 -0.7 -1.0 6.8 -1.0 -0.7 -1.0 -0.7

カーネル合計の値は正規化されるため、0 になります。

ハイ パス フィルターは、基本的に、[合計値] 統計オプションを使用し、加重カーネルを指定した、[フォーカル統計 (Focal Statistics)] ツールと同じです。

出力の Z 値は、サーフェスのスムーズさを示していますが、元の Z 値とは無関係です。 Z 値はゼロの周りに分散しており、正の値はエッジの上側、負の値はエッジの下側になります。 Z 値がゼロに近いエリアは、傾斜がほぼ一定の領域です。 Z 値の最大値と最小値に近い値を持つエリアは、傾斜が急速に変化している領域です。

例 1

1 つの処理セル (値 8 を持つ中央のセル) の計算の簡単な例を次に示します。

7 5 2 4 8 3 3 1 5

以下に、処理セル (値 8 を持つ中央のセル) の計算例を示します。

値 = ((7*-0.7) + (5*-1.0) + (2*-0.7) + (4*-1.0) + (8*6.8) + (3*-1.0) + (3*-0.7) + (1*-1.0) + (5*-0.7)) = ((-4.9 + -5.0 + -1.4) + (-4.0 + 54.4 + -3.0) + (-2.1 + -1.0 + -3.5) = -11.3 + 47.4 + -6.6 = 29.5

処理セルの出力値は 29.5 です。

このフィルターは、近傍に負の加重を指定することにより、オブジェクト間の差または境界を引き出して、ローカルの詳細を強調します。

例 2

次の例では、入力ラスターが、値が 5.0 ~ 9.0 の範囲で変わる領域に沿って鋭いエッジを持っています。 [ハイ] オプションのエッジ強調特性により、エッジが検出されています。

ハイ オプションを使用したフィルター

NoData のセルの処理

[計算時に NoData を除外] オプションは、近傍ウィンドウ内の NoData セルの処理方法を制御します。 このオプションをオンにすると (Python では DATA オプション)、NoData である近傍内のセルは、出力セル値の計算時に除外されます。 オフにすると (NODATA オプション)、NoData である近傍内のセルは、出力が NoData になります。

処理の対象となっているセル自体が NoData で、[計算時に NoData を除外] オプションが選択されている場合、そのセルの出力値は、有効な値を持つ近傍内の他のセルに基づいて計算されます。 もちろん、近傍内のセルがすべて NoData の場合、出力は、このパラメーターの設定に関係なく NoData になります。

参考文献

Gonzalez, R. C., and P. Wintz. 1977. Digital Image Processing. Massachusetts: Addison–Wesley.

Hord, R. M. 1982. Digital Image Processing of Remotely Sensed Data. New York: Academic.

Moik, J. G. 1980. Digital Processing of Remotely Sensed Images. New York: Academic.

Richards, J. A. 1986. Remote Sensing Digital Image Analysis: An Introduction. Berlin: Springer-Verlag.

Rosenfeld, A. 1978. Image Processing and Recognition, Technical Report 664. University of Maryland Computer Vision Laboratory.

関連トピック