Cómo funciona Filtro

La herramienta Filtro puede utilizarse para eliminar datos irrelevantes o para realzar entidades que de otro modo no serían visibles en los datos. Básicamente, los filtros crean valores de salida mediante una ventana de vecindad de 3×3 celdas superpuestas en movimiento que recorre el ráster de entrada. A medida que el filtro pasa por cada celda de entrada, el valor de esa celda y sus 8 vecinas inmediatas se utilizan para calcular el valor de salida.

La herramienta dispone de dos tipos de filtros: de paso bajo y de paso alto.

Tipos de filtro

El filtro de tipo Paso bajo emplea un filtro de paso bajo, o promediado, sobre el ráster de entrada y esencialmente suaviza los datos. El filtro de tipo Paso alto utiliza un filtro de paso alto para realzar los bordes y los límites entre las entidades representadas en el ráster.

Filtro de paso bajo

Un filtro de paso bajo suaviza los datos al reducir la variación local y quitar el ruido. Calcula la media (valor medio) de cada vecindad de 3×3. En esencia, equivale a la herramienta Estadísticas focales con la opción de estadística Valor medio. El efecto es que los valores altos y bajos se promediarán en cada vecindad, reduciendo los valores extremos en los datos.

Ejemplo 1

A continuación se muestra un ejemplo de los valores de vecindad de entrada para una celda de procesamiento, la celda central con el valor 8.

7 5 2 4 8 3 3 1 5

El cálculo para la celda de procesamiento (la celda de entrada central con el valor 8) consiste en hallar la media de las celdas de entrada. Es la suma de todos los valores de la entrada contenidos por la vecindad, dividida por el número de celdas de la vecindad (3 × 3 = 9).

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

El valor de salida para la ubicación de la celda de procesamiento será 4.22.

Dado que el valor medio se calcula a partir de todos los valores de entrada, se calcula el valor medio del valor más alto de la lista, que es el valor 8 de la celda de procesamiento.

Ejemplo 2

Este ejemplo muestra el ráster resultante generado por Filtro con la opción Paso bajo en un ráster de celdas de 5 × 5 pequeño.

Para ilustrar cómo se gestionan las celdas NoData, a continuación se muestran los valores de salida con el parámetro Ignorar los NoData en cálculos activado (establecido en DATA en Python) y luego desactivado (establecido en NODATA en Python):

  • Valores de celda de entrada:
    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
  • Valores de celdas de salida con el parámetro Ignorar los NoData en cálculos activado (las celdas NoData en una ventana de filtro se ignorarán en el cálculo):
    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
  • Valores de celdas de salida con la opción Ignorar los NoData en cálculos desactivada (la salida será NoData si alguna de las celdas de la ventana de filtro es 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

Ejemplo 3

En el siguiente ejemplo, el ráster de entrada tiene un punto de datos anómalo causado por un error en la recogida de datos. Las características de promediado de la opción Paso bajo han suavizado el punto de datos anómalo.

Filtrar con la opción Bajo
Ejemplo de salida de Filtro con la opción Bajo

Filtro de paso alto

El filtro de paso alto acentúa la diferencia comparativa entre los valores de una celda y las celdas vecinas. Tiene el efecto de resaltar los límites entre entidades (por ejemplo, donde una masa de agua se une al bosque), aumentando así la nitidez de los bordes entre objetos. Se suele denominar filtro de realce de bordes.

Con la opción Paso alto, los nueve valores z de entrada se ponderan de tal forma que se eliminan las variaciones de baja frecuencia y se resalta el límite entre las distintas regiones.

El filtro 3 × 3 para esta opción es:

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

Tenga en cuenta que los valores del núcleo suman 0, ya que están normalizados.

En esencia, el filtro de paso alto equivale al uso de la herramienta Estadísticas focales con la opción de estadística Suma y un kernel ponderado específico.

Los valores z de salida son una indicación de la suavidad de la superficie, pero no tienen relación con los valores z originales. Los valores Z se distribuyen alrededor de cero con valores positivos en la parte superior de un borde y valores negativos en la parte inferior. Las zonas en las que los valores z se aproximan a cero son regiones con una pendiente casi constante. Las zonas con valores cercanos a z mínimo y z máximo son regiones en las que la pendiente cambia rápidamente.

Ejemplo 1

A continuación se muestra un ejemplo sencillo de los cálculos para una celda de procesamiento (la celda central con el valor 8):

7 5 2 4 8 3 3 1 5

El cálculo para la celda de procesamiento (la celda central con el valor 8) es el siguiente:

Valor = ((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

El valor de salida para la celda de procesamiento será 29.5.

Mediante la asignación de ponderaciones negativas a las celdas vecinas, el filtro acentúa el detalle local al resaltar las diferencias o los límites entre los objetos.

Ejemplo 2

En el ejemplo siguiente, el ráster de entrada tiene un borde afilado a lo largo de la región donde los valores cambian de 5.0 a 9.0. La característica de realce de bordes de la opción Alto ha detectado el borde.

Filtro con la opción Alto

Celdas de procesamiento de NoData

La opción Ignorar los NoData en cálculos controla cómo se manejan las celdas NoData dentro de la ventana de vecindad. Cuando esta opción está activada (opción DATA en Python), cualquier celda de la vecindad que sea NoData se ignora en el cálculo del valor de la celda de salida. Al desactivarla (opción NODATA), si cualquier celda de la vecindad es NoData, la celda de salida será NoData.

Si la celda de procesamiento en sí es NoData, con la opción Ignorar NoData en cálculos seleccionada, el valor de salida para la celda se calcula en función de las otras celdas en la vecindad que tengan un valor válido. Por supuesto, si todas las celdas en la vecindad son NoData, la salida será NoData, sin importar la configuración de este parámetro.

Referencias

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.

New York: Academic. 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.