Für das Wachstum müssen Startpunkte gesetzt werden. Diese werden
auch als ,,Saatpunkte`` si oder
,,Keimpunkte`` bezeichnet. Von diesen Saatpunkten aus
wächst das Gebiet in alle Raumrichtungen bzgl. der 6'er Nachbarschaft
weiter. Dafür wird ein Grauwertintervall
t=[t1,t2] vorgegeben.
Das Bereichswachstum setzt sich dann nur in Gebieten fort, deren
Grauwerte g im Intervall t liegen. Eine Vorstellung davon sollen
die Skizzen in Abbildung
und Abbildung
auf
Seite
geben. Dabei ist s der Saatpunkt und n die
Anzahl der Ebenen des
3D-Rechners.
In Abbildung
wird gezeigt, wie das Wachstum
fortschreitet, wenn ,,Trennwände'' eine geradlinige Ausbreitung
verhindern. Trennwände sind Bereiche, deren Grauwerte nicht im
Grauwertintervall t liegen. An solchen Trennwänden stopt das
Bereichswachstum. Das geflutete Gebiet schlängelt sich dann um die
Trennwände herum.
Als Bedingung für das Wachstum wird das Segmentationskriterium
eingeführt. Im folgenden wird nun eine
iterative Formel entwickelt, mit der für jeden Smart-Pixel dessen
Zugehörigkeit zum segmentierten Gebiet in einer Variablen
(steht für [S]ignum) festgehalten werden kann.
Mit dem Segmentationskriterium wird festgelegt, wann ein SPPE
in das wachsende Gebiet
(S steht für [S]egment) aufgenommen wird. Das ist dann
der Fall, wenn einer seiner Nachbarn
aus der 6'er
Nachbarschaft schon in S aufgenommen wurde, und der
Grauwert
im Schwellwertintervall liegt, also
| (3.1) |
Saatpunkte, die in einer ,,Trennwand`` plaziert wurden,
müssen noch aussortiert werden. Dafür wird
erweitert zu
,
so
daß schließlich gilt:
Im Abschnitt zur Schwellwertbildung wurde die Binarisierung
eingeführt, mit der hier
geprüft wird. Statt nun jedes
Element der Menge Si explizit zu bestimmen, definiert man
für das SPPE
eine Funktion
(
steht
für [S]ignum). Mit
wird die Zugehörigkeit von
zum Gebiet Si im Schritt i iterativ feststellt:
Unter Verwendung von
und
kann man
Si+1 umformulieren als:
Die Anfangsbedingung für
wird von S0 aus
(
) abgeleitet. Es gilt
Mit S0 wurde die Menge aller Saatpunkte bezeichnet.
Das Setzen der Saatpunkte kann über den Vergleich jedes SPPE mit den
Saatpunkten durchgeführt werden. Dafür sind in jedem SPPE die
Saatpunkte bereitzustellen. Um festzustellen, ob
gilt,
werden die Koordinatenwerte von
mit denen von si verglichen.
Bei Übereinstimmung setzt man
.
Für die Vergleiche
der Koordinatenwerte braucht man den Befehl EQ mit
![]() |
(3.8) |
Bei mehreren Saatpunkten liegen die Koordinatenwerte als Array vor.
Der Einfachheit halber wird nur 1 Saatpunkt betrachtet. Das
kommt auch der Vorstellung entgegen, daß in einer späteren
Realisierung von einem Benutzer die Saatpunkte interaktiv durch
,,Anklicken'' gesetzt werden. Unmittelbar nach dem Setzen des neuen
Saatpunktes soll das dadurch geflutete Gebiet sichtbar sein. Das
entspricht dem Fluten mit jeweils nur 1 Saatpunkt.
Die Koordinatenwerte des Saatpunktes werden jedem SPPE in den
Registern SX, SY und SZ bereitgestellt. In X,Y und Z stehen die
SPPE-Koordinaten. Für
und
wird das
Register SI verwendet. Als Hilfsregister dient H. Alle Register
enthalten ausschließlich Integer-Werte. Die Anfangsbedingung wird
dann hergestellt durch
Als Kommunikationsbefehl wurde im Abschnitt
der SEND-Befehl
vorgestellt. Die Beschaffung der Nachbarwerte
in
(
) erfolgt deshalb durch Zusenden. Das Register
SI wurde für
verwendet. Für die Variable
wird noch das Register SI1 eingeführt. Das
Programm zur Iterationsgleichung (
) ist in
(
) zu sehen.
In Zeile (1) wird das Empfangsregister initialisiert. Das ist einmal
zu Beginn der Iteration notwendig, weil wegen der Randbedingung aus
Abschnitt
einige der SPPE keine Werte in diesem
Register empfangen, und sonst undefinierte Werte enthalten können.
Mit (5),(7),(9),(11),(13) und (15) werden die Nachbarwerte
im Register IN angefordert. Durch die
OR-Verknüpfungen der Werte in (6),(8),(10),(12),(14) und (16) wird
das SPPE
nur dann ins Gebiet Si aufgenommen, falls einer
seiner Nachbarn oder
selbst schon dazugehört. In (2)-(4) wird
der Test
mit der Binarisierung
von
(
) durchgeführt. Die Zeile stammen von
(
). Das Ergebnis steht im Register B und zeigt
an, ob das SPPE
in einer Trennwand liegt oder nicht. Mit der
UND-Verknüpfung in (17) wird das Wachstum an Trennwänden
aufgehalten.
Durch das Bereichswachstum werden zusammenhängende Gebiete, d.h. Segmente, gebildet. Im folgenden wird eine Zustandsbeschreibung sowohl des noch wachsenden Gebietes als auch des segmentierten Gebietes gegeben. Dazu werden folgende Definitionen eingeführt.
| (3.11) |
Für ein segmentiertes bzw. geflutetes Gebiet S gilt dann, daß
alle SPPE
einen Grauwert
haben, der innerhalb des
Intervalls
t=[t1,t2] liegt, d.h.
.