Lissage de tronçons de zone avec nettoyage de limites et filtre majoritaire

Les outils Nettoyage de limites et Filtre majoritaire permettent de généraliser les tronçons de zones dans un raster. Les tronçons sont lissés dans différentes proportions, soit en étirant et en contractant les limites soit en augmentant ou en contractant les zones en fonction des valeurs du voisinage de chaque emplacement.

Nettoyage de limites

La fonction Nettoyage de limites permet principalement de nettoyer les bords irréguliers qui séparent les zones. Elle fait appel à la méthode d'expansion et de contraction, laquelle permet de nettoyer les limites à une échelle relativement grande. Au départ, les zones ayant une priorité plus élevée occupent les zones voisines dont la priorité est plus basse d'une cellule dans les huit directions. Ensuite, elles se contractent sur les cellules qui ne sont que partiellement entourées par des cellules ayant la même valeur. Toute cellule qui n'est pas interne (c'est-à-dire, qui ne peut pas être interprétée comme étant le centre des huit voisins les plus proches de même valeur) peut être remplacée. Pour la méthode par défaut où il n'y a aucun triage par taille (NO_SORT), les plus grandes valeurs ont une plus haute priorité.

Les îles fines présentes à l'intérieur d'une zone susceptibles d'être interprétées comme partageant des limites avec la zone, peuvent également être remplacées. La plus petite région qui peut être conservée est un bloc de 3 x 3 cellules. Par conséquent, les régions fines peuvent être remplacées. Par exemple, une région de 2 cellules de large et 10 cellules de long sera supprimée, étant donné qu'elle ne peut pas être récupérée après contraction.

Dans l'image ci-dessous, la fonction Nettoyage de limites a été appliquée au raster en entrée, sans trier les zones. Les zones dotées de valeurs plus importantes sont prioritaires pour s'étendre dans des zones à valeurs moindres. Remarquez que les cellules ayant la valeur 7 s'étendent jusqu'aux cellules dont les valeurs sont plus petites.

Illustration d’un nettoyage 1
OutRas = BoundaryClean(InRas1)

Dans l'image ci-dessous, la fonction Nettoyage de limites a été appliquée au raster en entrée, et les zones ont été triées par ordre de taille croissant. Les zones dotées de surfaces totales plus réduites sont prioritaires pour s'étendre dans des zones à surfaces totales plus importantes. Vous pouvez constater que les zones dont la surface est plus petite s'étendent jusqu'aux zones de plus grande surface.

Illustration d’un nettoyage 2
OutRas = BoundaryClean (InRas1, croissant)

Filtre majoritaire

L’outil Filtre majoritaire remplace des cellules en fonction de la valeur de majorité dans leurs voisinages contigus. L’outil Filtre majoritaire impose deux critères à satisfaire avant d'appliquer un remplacement. D'abord, le nombre de cellules voisines ayant la même valeur doit être assez grand pour représenter la valeur de majorité, ou au moins la moitié des cellules doivent avoir la même valeur (en fonction du paramètre défini). En l’occurrence, trois des quatre ou cinq des huit cellules connectées doivent avoir la même valeur pour le paramètre de majorité et deux des quatre ou quatre des huit cellules doivent avoir la même valeur pour le paramètre de moitié. Par ailleurs, ces cellules doivent être contiguës au centre du filtre défini (par exemple, trois des quatre cellules doivent être les mêmes). Le deuxième critère lié à la connectivité spatiale des cellules permet de minimiser l'endommagement des structures spatiales cellulaires. Si ces critères ne sont pas remplis, aucun remplacement n'est appliqué, et la cellule conserve sa valeur.

Dans l'image ci-dessous, la fonction Filtre majoritaire est appliquée au raster en entrée avec le filtre des quatre cellules les plus proches, qui sont les quatre cellules voisines orthogonales, et requiert que la valeur de majorité (trois des quatre cellules) soit la même avant que la valeur d'une cellule ne puisse être remplacée. Seules les cellules entourées de trois cellules (orthogonales) ou plus ayant la même valeur sont remplacées.

Illustration d’un filtre majoritaire 1
OutRas = MajorityFilter (InRas1)

Dans l'image ci-dessous, la fonction Filtre majoritaire est appliquée en utilisant les huit cellules les plus proches comme filtre et requiert qu'au moins la moitié des valeurs (quatre des huit cellules) soient identiques avant de remplacer la valeur de la cellule. Vous constaterez que l'effet de lissage est plus accentué.

Illustration d’un filtre majoritaire 2
OutRas = MajorityFilter(InRas1, huit, demi)

Rubriques connexes


7/10/2012