Glätten von Zonenkanten mit Boundary Clean und Majority Filter

Die Werkzeuge Boundary Clean und Majority Filter werden verwendet, um die Kanten der Zonen in einem Raster zu generalisieren. Die Kanten werden unterschiedlich stark geglättet, indem auf Grundlage der Werte innerhalb der Nachbarschaft einzelner Positionen entweder die Grenzen erweitert und verkleinert werden oder indem Zonen vergrößert oder verkleinert werden.

Boundary Clean

Das Werkzeug Boundary Clean wird hauptsächlich zum Bereinigen von unregelmäßigen Kanten zwischen Zonen verwendet. Es verwendet ein Erweitern-und-Verkleinern-Verfahren, das die Grenzen in einem relativ großen Maßstab bereinigt. Am Anfang dringen Zonen mit höherer Priorität um eine Zelle in alle acht Richtungen in ihre benachbarten Zonen mit niedrigerer Priorität ein. Dann weichen sie in jene Zellen zurück, die nicht völlig von den Zellen des gleichen Wertes umgeben sind. Alle Zellen, die keine internen Zellen sind (das heißt, sie können nicht als Mittelpunkt für die acht unmittelbaren Nachbarn des gleichen Wertes angesehen werden), werden möglicherweise ersetzt. Bei der Standardmethode, bei der es keine Sortierung nach Größe (NO_SORT) gibt, verfügen größere Werte über eine höhere Priorität.

Dünne Inseln in einer Zone, deren Grenzen als gemeinsame Grenzen mit der Zone angesehen werden können, werden möglicherweise ebenfalls ersetzt. Die kleinste Größe eines Bereichs, der beibehalten werden kann, ist ein Block mit 3 mal 3 Zellen. Daher werden dünne Bereiche möglicherweise ersetzt. Zum Beispiel wird ein Bereich, der zwei Zellen breit und zehn Zellen lang ist, entfernt, da er nach dem Verkleinern nicht wiederhergestellt werden kann.

In der folgenden Darstellung wurde Boundary Clean ohne Sortierung der Zonen auf das Eingabe-Raster angewendet. Zonen mit größeren Werten haben für die Ausdehnung in Zonen mit kleineren Werten eine höhere Priorität. Beachten Sie, dass Zellen mit dem Wert 7 sich in Zellen mit niedrigeren Werten ausdehnen.

Darstellung Boundary Clean 1
OutRas = BoundaryClean(InRas1)

In der folgenden Darstellung wurde Boundary Clean auf das Eingabe-Raster angewendet und die Zonen wurden in aufsteigender Reihenfolge nach der Größe sortiert. Zonen mit kleineren Gesamtflächen haben für die Ausdehnung in Zonen mit größeren Gesamtflächen eine höhere Priorität. Beachten Sie, dass die Zonen mit kleineren Flächen sich in die größeren Flächenzonen ausdehnen.

Darstellung Boundary Clean 2
OutRas = BoundaryClean(InRas1, ascend)

Majority Filter

Das Werkzeug Majority Filter ersetzt Zellen auf Grundlage des Mehrheitswertes der zusammenhängenden Nachbarschaft. Majority Filter hat zwei Kriterien, die erfüllt sein müssen, bevor eine Ersetzung auftreten kann. Erstens muss die Anzahl der benachbarten Zellen mit dem gleichen Wert groß genug sein, um der Mehrheitswert zu sein, oder es muss mindestens die Hälfte der Zellen über den gleichen Wert verfügen (abhängig vom angegebenen Parameter). Das heißt, dass drei von vier oder fünf von acht verbundenen Zellen den gleichen Wert wie der Mehrheitsparameter haben müssen und zwei von vier oder vier von acht für den halben Parameter benötigt werden. Zweitens müssen jene Zellen mit dem Mittelpunkt des angegebenen Filters zusammenhängen (z. B. müssen drei von vier Zellen gleich sein). Das zweite Kriterium in Bezug auf die räumliche Konnektivität der Zellen minimiert die Beschädigung von zellularen räumlichen Mustern. Wenn diese Kriterien nicht erfüllt werden, tritt keine Ersetzung auf, und die Zelle behält ihren Wert bei.

In der folgenden Darstellung wurde Majority Filter mit einem Filter der nächstgelegenen vier Zellen auf das Eingabe-Raster angewendet, bei denen es sich um die vier orthogonal benachbarten Zellen handelt. Die Mehrheit (drei von vier Zellen) muss gleich sein, damit eine Zelle ihren Wert ändert. Nur jene Zellen, die von drei oder mehr (orthogonalen) Zellen mit dem gleichen Wert umgebenen sind, werden geändert.

Majority Filter Abbildung 1
OutRas = MajorityFilter(InRas1)

In der folgenden Darstellung wurde Majority Filter mit einem Filter der nächstgelegenen acht Zellen angewendet, bei denen mindestens die Hälfte der Werte (vier von acht Zellen) den gleichen Wert haben muss, damit eine Zelle ihren Wert ändert. Beachten Sie, dass es einen stärkeren Glättungseffekt gibt.

Majority Filter Abbildung 2
OutRas = MajorityFilter(InRas1, eight, half)

Verwandte Themen


7/10/2012