union_straight_contours_xldunion_straight_contours_xldUnionStraightContoursXldUnionStraightContoursXld — Vereinigen von benachbarten geraden Konturen mit ähnlicher Richtung.
Mit union_straight_contours_xldunion_straight_contours_xldUnionStraightContoursXldUnionStraightContoursXldUnionStraightContoursXld werden die Konturen
ContoursContoursContoursContourscontours verglichen und unter gewissen Voraussetzungen
vereinigt. In einem Iterationsschritt werden maximal zwei Konturen,
die die entsprechenden Voraussetzungen erfüllen, vereinigt. Mit dem
Parameter IterationsIterationsIterationsIterationsiterations kann gesteuert werden, wie oft dieser
Vereinigungsschritt wiederholt wird.
Zwei Konturen werden vereinigt, wenn deren kürzester
Endpunktabstand (die Endpunkte sind die Fußpunkte der Lote von den
Konturendpunkten auf die optimale Regressionsgerade) kleiner als
MaxDistMaxDistMaxDistMaxDistmaxDist ist und wenn ihre Richtungsdifferenz (bzgl. der
zugehörigen optimalen Regressionsgeraden) kleiner als
MaxDiffMaxDiffMaxDiffMaxDiffmaxDiff (Bogenmaß) ist.
Wenn nur eine der beiden Bedingungen zutrifft, kann die Entscheidung
zugunsten einer Vereinigung durch die Gewichtung PercentPercentPercentPercentpercent
beeinflusst werden, indem die prozentuale Überschreitung des
angegebenen Grenzwertes gegen die prozentuale Unterschreitung des
anderen Grenzwertes angerechnet wird. Dabei wird der
Endpunktabstand mit PercentPercentPercentPercentpercent, die Richtungsdifferenz mit
100 - PercentPercentPercentPercentpercent bewertet.
Das bedeutet, dass zwei Konturen dann vereinigt werden, wenn sie
die folgende Bedingung erfüllen:
Wenn zwei Konturen beispielsweise einen minimalen Endpunktabstand von
5.0 und eine Richtungsdifferenz von 0.5 haben (bei Grenzwerten
MaxDistMaxDistMaxDistMaxDistmaxDist = 4.0 und MaxDiffMaxDiffMaxDiffMaxDiffmaxDiff = 0.625),
so weichen beide Werte von den Grenzwerten um 25% ab. Durch die
Wahl von PercentPercentPercentPercentpercent = 60% fällt nun der große
Endpunktabstand stärker ins Gewicht als die geringe
Richtungsdifferenz, weshalb die Konturen nicht
vereinigt werden. Wenn in diesem Fall PercentPercentPercentPercentpercent =
40% gewählt würde, würden die Konturen vereinigt werden.
Bei parallel verlaufenden Konturen besteht die Gefahr, dass
nebeneinander liegende Konturen vereinigt werden. Soll dieser
Effekt verhindert werden, so muss für ModeModeModeModemode 'noparallel',
ansonsten 'paralleltoo' angegeben werden. Für 'every' werden die
Konturen bedingungslos vereinigt. Alle anderen Parameter haben in
diesem Fall keinen Einfluss.
Für jede durch Vereinigung neu entstandene Kontur werden die
Regressionsgeradenparameter neu berechnet.