set_metrology_object_param
— Setzen von Parametern für die Metrology-Messobjekte eines Messmodells.
set_metrology_object_param( : : MetrologyHandle, Index, GenParamName, GenParamValue : )
set_metrology_object_param
erlaubt es, zahlreiche Parameter
der Metrology-Messobjekte zu verändern.
Das Konzept der 2D-Messtechnik ist bei der Einleitung zu Kapitel 2D-Messtechnik beschrieben.
Das Messmodell ist durch das Handle MetrologyHandle
definiert.
Der Parameter Index
legt die Metrology-Messobjekte fest, für
die die Parameter gesetzt werden sollen. Die Parameter aller
Metrology-Messobjekte werden gesetzt, wenn für den Parameter
Index
'all' übergeben wird. Alle Parameter können
auch direkt beim Anlegen des Metrology-Messobjekts mit
add_metrology_object_generic
,
add_metrology_object_circle_measure
,
add_metrology_object_ellipse_measure
,
add_metrology_object_line_measure
oder
add_metrology_object_rectangle2_measure
übergeben werden. Die
aktuelle Konfiguration kann mit Hilfe von
get_metrology_object_param
ausgelesen werden. Alle Parameter,
die mit dem Operator set_metrology_object_param
gesetzt
werden können, können mit dem Operator
reset_metrology_object_param
zurückgesetzt werden.
Im Folgenden werden alle generischen Parameter mit den Defaultwerten
aufgelistet. In den meisten Fällen reichen die Standardwerte aus,
so dass keine Anpassung nötig ist. Die folgenden generischen
Parameter GenParamName
und die dazugehörigen Werte
GenParamValue
sind verfügbar - sortiert nach verschiedenen
Kategorien:
Erstellen der Messregionen:
Der Wert des Parameters legt die halbe Kantentenlänge der Messregionen senkrecht zum Objektrand fest. Der Wert entspricht der Messtoleranz. Die Einheit des Wertes ist Pixel.
Wertevorschläge: 10.0, 20.0, 30.0
Defaultwert: 20.0
Restriktion: 'measure_length1' >= 1.0
Der Wert des Parameters legt die halbe Kantentenlänge der Messregionen tangential zum Objektrand fest. Die Einheit des Wertes ist Pixel.
Wertevorschläge: 3.0, 5.0, 10.0
Defaultwert: 5.0
Restriktion: 'measure_length2' >= 0.0
Der Wert des Parameters legt den gewünschten Abstand zwischen den Mittelpunkten zweier Messregionen fest. Führt der Abstand zu zu wenig Messregionen, hat dieser Parameter keinen Einfluss auf die Anzahl an Messregionen und wird auf die benötigte Mindestanzahl an Messregionen erhöht. Für ein Metrology-Messobjekt vom Typ Kreis ist diese Anzahl 3. Für ein Metrology-Messobjekt vom Typ Ellipse ist diese Anzahl 5. Für ein Metrology-Messobjekt vom Typ Linie ist diese Anzahl 2. Für ein Metrology-Messobjekt vom Typ Rechteck ist diese Anzahl pro Seite 2, d.h. insgesamt 8. Wird dieser Wert gesetzt, hat der Wert des Parameters 'num_measures' keinen Einfluss. Die Einheit des Wertes ist Pixel.
Wertevorschläge: 5.0, 15.0, 20.0, 30.0
Defaultwert: 10.0
Der Wert des Parameters legt die gewünschte Anzahl der Messregionen fest. Wird der Wert zu klein gewählt, hat dieser Parameter keinen Einfluss auf die Anzahl an Messregionen und wird auf die benötigte Mindestanzahl an Messregionen erhöht. Für ein Metrology-Messobjekt vom Typ Kreis ist diese Anzahl 3. Für ein Metrology-Messobjekt vom Typ Ellipse ist diese Anzahl 5. Für ein Metrology-Messobjekt vom Typ Linie ist diese Anzahl 2. Für ein Metrology-Messobjekt vom Typ Rechteck ist diese Anzahl pro Seite 2, d.h. insgesamt 8. Wird dieser Wert gesetzt, hat der Wert des Parameters 'measure_distance' keinen Einfluss.
Wertevorschläge: 8, 10, 16, 20, 30, 50, 100
Kantendetektion:
Der Wert des Parameters legt das Sigma für die Gaußglättung fest.
Die Bedeutung, die Verwendung und der Defaultwert des Parameters ist
für den Operator measure_pos
mit den Parametern Sigma
,
Threshold
und Select
beschrieben.
Der Wert des Parameters legt die minimale Amplitude einer Kante fest.
Die Bedeutung, die Verwendung und der Defaultwert des Parameters ist
für den Operator measure_pos
mit dem Parameter
Threshold
beschrieben.
Der Wert des Parameters legt die Auswahl der Endpunkte der Kanten fest.
Die Bedeutung, die Verwendung und der Defaultwert des Parameters ist
für den Operator measure_pos
mit dem Parameter
Select
beschrieben.
Der Wert des Parameters legt fest, ob die Hell-Dunkel- oder
Dunkel-Hell-Übergänge für die Kanten genutzt werden. Die Bedeutung
und die Verwendung der Werte 'all' , 'positive'
und 'negative' , die für den Parameter
'measure_transition' gesetzt werden können, ist für den
Operator measure_pos
mit dem Parameter Transition
beschrieben. Zusätzlich kann 'measure_transition' auf
den Wert 'uniform' gesetzt werden. Dann werden alle
positiven Kanten (Hell-Dunkel-Übergänge) und alle negativen Kanten
(Dunkel-Hell-Übergänge) bei der Kantendetektion detektiert, aber
beim Anpassen der geometrischen Formen werden die Kanten
unterschiedlicher Typen getrennt behandelt, d.h. für jede Instanz
einer geometrischen Form werden entweder nur die positiven Kanten
oder nur die negativen Kanten verwendet.
Die Messrichtung innerhalb der Messregion verläuft von innen nach
außen für ein Metrology-Messobjekt vom Typ Kreis, Ellipse und
Rechteck. Für ein Metrology-Messobjekt vom Typ Linie verläuft die
Messrichtung innerhalb der Messregion von links nach rechts, gesehen
vom ersten Punkt der Linie (siehe RowBegin
und
ColumnBegin
des Operators
add_metrology_object_line_measure
).
Wertevorschläge: 'all' , 'negative' , 'positive' , 'uniform'
Defaultwert: 'all'
Der Wert des Parameters legt die Art der zu verwendenden
Interpolation fest. Die Bedeutung, die Verwendung und der
Defaultwert des Parameters ist für den Operator
gen_measure_rectangle2
mit dem Parameter
Interpolation
beschrieben.
Anpassen der geometrischen Formen:
Der Parameter legt fest, welche
Bewertung eine potentielle Instanz des Metrology-Messobjekts mindestens
besitzen muss, damit diese als eine gültige Instanz des
Metrology-Messobjekts angesehen wird. Der Score ist die Anzahl der
Kanten, die für die Berechnung des Ergebnisses verwendet wird,
dividiert durch die maximale Anzahl von Messregionen (siehe
apply_metrology_model
).
Falls erwartet werden kann, dass alle Kanten des Metrology-Messobjekts
in den Modellregionen vorhanden sind, kann der Parameter
'min_score' auf so hohe Werte wie 0.8 oder
sogar 0.9 gesetzt werden. Zu beachten ist, dass in Bildern
mit vielen Störobjekten oder mit starker Hintergrundtextur der Wert
für den Parameter 'min_score' nicht deutlich niedriger als
0.7 gesetzt werden sollte, da ansonsten falsche Instanzen
des Metrology-Messobjekts gefunden werden könnten.
Wertevorschläge: 0.5, 0.7, 0.9
Defaultwert: 0.7
Der Parameter legt die maximale
Anzahl der anzupassenden Instanzen für jedes Metrology-Messobjekt fest,
d.h. wenn diese Anzahl an Instanzen erreicht wurde, wird die
Anpassung abgebrochen (siehe apply_metrology_model
).
Der Score für erfolgreich angepasste Instanzen der geometrischen
Formen muss mindestens den Wert 'min_score' haben.
Wertevorschläge: 1, 2, 3, 4
Defaultwert: 1
apply_metrology_model
benutzt einen randomisierten
Auswahlalgorithmus (RANSAC) zum Anpassen einer geometrischen Form.
Damit eine Kante zu einer angepassten geometrischen Form gehört,
darf die euklidische Distanz zwischen der Kante und der geometrischen
Form den Wert von 'distance_threshold' nicht übersteigen.
Wertevorschläge: 0, 1.0, 2.0, 3.5, 5.0
Defaultwert: 3.5
Der RANSAC-Algorithmus schätzt die Anzahl von Iterationen, die benötigt werden, um die gesuchte geometrische Form anzupassen. Die Schätzung berücksichtigt dabei die Kantendaten und die Komplexität der Form. Mit dem Parameter 'max_num_iterations' kann eine obere Grenze für die vom RANSAC-Algorithmus berechnete Anzahl an Iterationen gesetzt werden. Die Anzahl der Iterationen wird weiterhin vom RANSAC-Algorithmus geschätzt, kann den Wert von 'max_num_iterations' aber nicht übersteigen. Das Setzen von 'max_num_iterations' , kann hilfreich sein, wenn die Qualität der gefundenen geometrischen Form weniger wichtig ist als das Einhalten zeitlicher Grenzen. Wird der Parameter zu niedrig gesetzt, liefert der Algorithmus schlechtere oder keine Ergebnisse.
Standardmäßig ist der Wert auf -1 gesetzt, d.h. es ist keine obere Grenze für die berechnete Anzahl an Iterationen vorhanden.
Wertevorschläge: 10, 100, 1000
Defaultwert: -1
Der Parameter legt den Startwert für
den Zufallsgenerator fest, welcher vom RANSAC-Verfahren innerhalb
des Operators apply_metrology_model
zur Auswahl der Kanten
genutzt wird. Wird der Parameter 'rand_seed' auf einen
Wert ungleich 0 gesetzt, so liefert der Operator bei jedem
Aufruf mit denselben Parametern auch dasselbe Resultat, da der
intern verwendete Zufallsgenerator mit dem Wert des Parameters
'rand_seed' initialisiert wird.
Wird der Parameter 'rand_seed' auf den Wert 0 gesetzt, so wird der Zufallsgenerator mit der aktuellen Zeit initialisiert. Daher sind in diesem Fall die Ergebnisse unter Umständen nicht reproduzierbar.
Wertevorschläge: 0, 1, 42
Defaultwert: 42
Der Parameter legt fest, welche der Ergebnisse der Messungen gültig sind. Wird der Parameter 'instances_outside_measure_regions' auf den Wert 'false' gesetzt, sind nur Instanzen eines Metrology-Messobjekts gültig, die innerhalb der Hauptachsen der Messregionen dieses Metrology-Messobjekts liegen. Instanzen, die ungültig sind, werden nicht gespeichert. Wird der Parameter 'instances_outside_measure_regions' auf den Wert 'true' gesetzt, so sind alle Instanzen des Metrology-Messobjekts gültig.
Wertevorschläge: 'false' , 'true'
Defaultwert: 'false'
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
MetrologyHandle
(input_control, Zustand wird modifiziert) metrology_model →
(handle)
Handle des Messmodells.
Index
(input_control) integer(-array) →
(string / integer)
Index der Metrology-Messobjekte.
Defaultwert: 'all'
Wertevorschläge: 'all' , 0, 1, 2
GenParamName
(input_control) attribute.name-array →
(string)
Namen der generischen Parameter.
Defaultwert: 'num_instances'
Werteliste: 'distance_threshold' , 'instances_outside_measure_regions' , 'max_num_iterations' , 'measure_distance' , 'measure_interpolation' , 'measure_length1' , 'measure_length2' , 'measure_select' , 'measure_sigma' , 'measure_threshold' , 'measure_transition' , 'min_score' , 'num_instances' , 'num_measures' , 'rand_seed'
GenParamValue
(input_control) attribute.value-array →
(string / real / integer)
Werte der generischen Parameter.
Defaultwert: 1
Wertevorschläge: 1, 2, 3, 4, 5, 10, 20, 'all' , 'true' , 'false' , 'first' , 'last' , 'positive' , 'negative' , 'uniform' , 'nearest_neighbor' , 'bilinear' , 'bicubic'
Sind die Parameterwerte korrekt, dann liefert
set_metrology_object_param
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
apply_metrology_model
,
reset_metrology_object_param
,
get_metrology_object_param
set_metrology_object_fuzzy_param
2D Metrology