Fonctionnement de l’outil Filtre

Disponible avec une licence Spatial Analyst.

L’outil Filtre peut être utilisé soit pour éliminer des données fictives, soit pour améliorer des entités qui sans cela ne seraient pas visibles dans les données. Les filtres créent essentiellement des valeurs en sortie par une fenêtre de voisinage de cellule 3x3 superposée et se déplaçant qui effectue un balayage dans le raster en entrée. Lorsque le filtre passe sur chaque cellule en entrée, la valeur de cette cellule et ses 8 voisins immédiats sont utilisés pour calculer la valeur en sortie.

Deux types de filtre sont disponibles dans l’outil : passe-bas et passe-haut.

Type de filtre

Le type de filtre Low pass (Passe-bas) utilise un filtre passe-bas, ou moyen, sur le raster en entrée et lisse surtout les données. Le type de filtre High pass (Passe-haut) utilise un filtre passe-haut pour améliorer les contours et les limites entre les entités représentées dans le raster.

Filtre passe-bas

Un filtre passe-bas lisse les données en réduisant la variation locale et en éliminant le bruit. Il calcule la valeur moyenne pour chaque voisinage 3x3. Il équivaut surtout à l’outil Statistiques focales avec l’option de statistique Mean (Moyenne). Le résultat est que la moyenne des valeurs maximales et minimales de chaque voisinage est calculée, ce qui permet de réduire les valeurs extrêmes contenues dans les données.

Exemple 1

Voici un exemple des valeurs de voisinage en entrée pour une cellule de traitement, la cellule centrale ayant la valeur 8.

7 5 2 4 8 3 3 1 5

Le calcul de la cellule de traitement (la cellule centrale en entrée ayant la valeur 8) consiste à trouver la moyenne des cellules en entrée. Il s’agit de la somme de toutes les valeurs dans l’entrée contenue par le voisinage, divisée par le nombre de cellules du voisinage (3 x 3 = 9).

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

La valeur en sortie de l’emplacement de la cellule de traitement est 4,22.

Puisque la moyenne est calculée à partir de toutes les valeurs en entrée, la valeur la plus élevée dans la liste, qui est la valeur 8 de la cellule de traitement, voit sa moyenne calculée.

Exemple 2

Cet exemple présente le raster résultant généré par l’outil Filtre avec l’option Low pass (Passe-bas) sur un petit raster de cellules 5 x 5.

Pour illustrer comment les cellules NoData sont traitées, voici les valeurs en sortie pour lesquelles le paramètre Ignore NoData in calculations (Ignorer NoData dans les calculs) est coché (défini sur DATA dans Python) puis décoché (défini sur NODATA dans Python) :

  • Valeurs de cellule en entrée :
    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
  • Valeurs en sortie pour lesquelles le paramètre Ignore NoData in calculations (Ignorer NoData dans les calculs) est coché (les cellules NoData dans une fenêtre de filtre sont ignorées dans le calcul) :
    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
  • Valeurs en sortie pour lesquelles le paramètre Ignore NoData in calculations (Ignorer NoData dans les calculs) est décoché (la sortie est NoData si une cellule dans la fenêtre de filtre est 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

Exemple 3

Dans l’exemple suivant, le raster en entrée présente un point de données anormal causé par une erreur de collecte de données. Les caractéristiques moyennes de l’option Low pass (Passe-bas) ont lissé le point de données anormal.

Filtre avec option Passe-bas
Exemple de sortie de filtre avec option PASSE-BAS

Filtre passe-haut

Le filtre passe-haut accentue la différence comparative entre les valeurs d’une cellule et ses voisins. Il a pour effet de mettre en valeur les limites existant entre les entités (par exemple, l’endroit où une masse d’eau rencontre une forêt), améliorant ainsi la netteté des contours entre les objets. On l’appelle généralement « filtre d’optimisation des contours ».

Avec l’option High pass (Passe-haut), les neuf valeurs z en entrée sont pondérées de manière à supprimer les variations de basses fréquences et à mettre en avant la limite entre différentes régions.

Le filtre 3 x 3 de cette option est :

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

Notez que les valeurs dans le noyau se chiffrent à 0 car elles sont normalisées.

Le filtre passe-haut équivaut surtout à utiliser l’outil Statistiques focales avec l’option de statistique Sum (Somme) et un noyau pondéré spécifique.

Les valeurs z en sortie sont une indication de l’aspect lisse de la surface, mais elles n’ont aucun lien avec les valeurs z d’origine. Les valeurs z sont distribuées autour de zéro avec des valeurs positives dans la partie supérieure d’un contour et des valeurs négatives dans la partie inférieure. Les zones dans lesquelles les valeurs z sont proches de zéro sont des régions présentant presque une pente constante. Les zones comportant des valeurs proches de z-min et de z-max sont des régions où la pente change rapidement.

Exemple 1

Voici un exemple simple de calcul pour une cellule de traitement (la cellule centrale comportant la valeur 8) :

7 5 2 4 8 3 3 1 5

Le calcul de la cellule de traitement (la cellule centrale ayant la valeur 8) est le suivant :

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

La valeur en sortie de la cellule de traitement est 29,5.

En attribuant des pondérations négatives à ses voisins, le filtre accentue le détail local en extrayant les différences ou les limites entre les objets.

Exemple 2

Dans l’exemple ci-dessous, le raster en entrée présente un contour net le long de la région où les valeurs passent de 5,0 à 9,0. La caractéristique d’amélioration des contours de l’option High (Haut) a détecté le contour.

Filtre avec l’option High (Haut)

Traitement des cellules de valeur NoData

L’option Ignorer les valeurs NoData dans les calculs contrôle la façon dont les cellules NoData sont gérées dans la fenêtre de voisinage. Lorsque cette option est activée (option DATA dans Python), toutes les cellules du voisinage dont la valeur est NoData sont ignorées dans le calcul de la valeur de cellule en sortie. Lorsqu’elle est désactivée, (option NODATA), si des cellules du voisinage possèdent la valeur NoData, la cellule en sortie se verra attribuer la valeur NoData.

Si la cellule de traitement elle-même est de type NoData et que l’option Ignorer NoData dans les calculs est sélectionnée, la valeur en sortie de la cellule est calculée en fonction des autres cellules du voisinage présentant une valeur valide. Bien sûr, si toutes les cellules du voisinage sont de type NoData, la sortie est également de type NoData, quelle que soit la valeur de ce paramètre.

Bibliographie

Gonzalez, R. C., et 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.

Rubriques connexes