set_metrology_object_paramT_set_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param (Operator)
Name
set_metrology_object_paramT_set_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param — Setzen von Parametern für die Metrology-Messobjekte eines Messmodells.
Signatur
void SetMetrologyObjectParam(const HTuple& MetrologyHandle, const HTuple& Index, const HTuple& GenParamName, const HTuple& GenParamValue)
void HMetrologyModel::SetMetrologyObjectParam(const HTuple& Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HMetrologyModel::SetMetrologyObjectParam(const HString& Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HMetrologyModel::SetMetrologyObjectParam(const char* Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HMetrologyModel::SetMetrologyObjectParam(const wchar_t* Index, const HTuple& GenParamName, const HTuple& GenParamValue) const
(Nur Windows)
Beschreibung
set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_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 MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle definiert.
Der Parameter IndexIndexIndexIndexindexindex 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
IndexIndexIndexIndexindexindex 'all'"all""all""all""all""all" übergeben wird. Alle Parameter können
auch direkt beim Anlegen des Metrology-Messobjekts mit
add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGenericadd_metrology_object_generic,
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measure,
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measure,
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure oder
add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measure übergeben werden. Die
aktuelle Konfiguration kann mit Hilfe von
get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParamget_metrology_object_param ausgelesen werden. Alle Parameter,
die mit dem Operator set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param gesetzt
werden können, können mit dem Operator
reset_metrology_object_paramreset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParamResetMetrologyObjectParamreset_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 GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name und die dazugehörigen Werte
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value sind verfügbar - sortiert nach verschiedenen
Kategorien:
Erstellen der Messregionen:
- 'measure_length1'"measure_length1""measure_length1""measure_length1""measure_length1""measure_length1":
-
Der Wert des Parameters legt
die halbe Kantenlä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'"measure_length1""measure_length1""measure_length1""measure_length1""measure_length1" >= 1.0
- 'measure_length2'"measure_length2""measure_length2""measure_length2""measure_length2""measure_length2":
-
Der Wert des Parameters legt
die halbe Kantenlä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'"measure_length2""measure_length2""measure_length2""measure_length2""measure_length2" >= 0.0
- 'measure_distance'"measure_distance""measure_distance""measure_distance""measure_distance""measure_distance":
-
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'"num_measures""num_measures""num_measures""num_measures""num_measures" keinen Einfluss.
Die Einheit des Wertes ist Pixel.
Wertevorschläge: 5.0, 15.0, 20.0,
30.0
Defaultwert: 10.0
- 'num_measures'"num_measures""num_measures""num_measures""num_measures""num_measures":
-
Der Wert des Parameters legt
die gewünschte Anzahl der Messregionen fest.
Die Mindestanzahl an Messregionen hängt vom Typ des
Metrology-Messobjekts ab:
-
Linie: 2 Messregionen
-
Kreis: 3 Messregionen
-
Kreisbogen: 4 Messregionen
-
Ellipse: 5 Messregionen
-
Ellipsenbogen: 6 Messregionen
-
Rechteck: 8 Messregionen (2 Regionen pro Seite)
Wird ein zu niedriger Wert gesetzt, dann wird
'num_measures'"num_measures""num_measures""num_measures""num_measures""num_measures" automatisch auf den entsprechenden Minimalwert
gesetzt.
Wird dieser Wert gesetzt, hat der Wert
des Parameters 'measure_distance'"measure_distance""measure_distance""measure_distance""measure_distance""measure_distance" keinen Einfluss.
Wertevorschläge: 8, 10, 16,
20, 30, 50,
100
Kantendetektion:
- 'measure_sigma'"measure_sigma""measure_sigma""measure_sigma""measure_sigma""measure_sigma":
-
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_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos mit den Parametern SigmaSigmaSigmaSigmasigmasigma,
ThresholdThresholdThresholdThresholdthresholdthreshold und SelectSelectSelectSelectselectselect beschrieben.
- 'measure_threshold'"measure_threshold""measure_threshold""measure_threshold""measure_threshold""measure_threshold":
-
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_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos mit dem Parameter
ThresholdThresholdThresholdThresholdthresholdthreshold beschrieben.
- 'measure_select'"measure_select""measure_select""measure_select""measure_select""measure_select":
-
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_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos mit dem Parameter
SelectSelectSelectSelectselectselect beschrieben.
- 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition":
-
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'"all""all""all""all""all", 'positive'"positive""positive""positive""positive""positive"
und 'negative'"negative""negative""negative""negative""negative", die für den Parameter
'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition" gesetzt werden können, ist für den
Operator measure_posmeasure_posMeasurePosMeasurePosMeasurePosmeasure_pos mit dem Parameter TransitionTransitionTransitionTransitiontransitiontransition
beschrieben. Zusätzlich kann 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition" auf
den Wert 'uniform'"uniform""uniform""uniform""uniform""uniform" gesetzt werden. Dann werden alle
positiven Kanten (Dunkel-Hell-Übergänge) und alle negativen Kanten
(Hell-Dunkel-Ü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 RowBeginRowBeginRowBeginRowBeginrowBeginrow_begin und
ColumnBeginColumnBeginColumnBeginColumnBegincolumnBegincolumn_begin des Operators
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureadd_metrology_object_line_measure).
Wertevorschläge: 'all'"all""all""all""all""all", 'negative'"negative""negative""negative""negative""negative",
'positive'"positive""positive""positive""positive""positive", 'uniform'"uniform""uniform""uniform""uniform""uniform"
Defaultwert: 'all'"all""all""all""all""all"
- 'measure_interpolation'"measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation":
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_rectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2gen_measure_rectangle2 mit dem Parameter
InterpolationInterpolationInterpolationInterpolationinterpolationinterpolation beschrieben.
Anpassen der geometrischen Formen:
- 'min_score'"min_score""min_score""min_score""min_score""min_score":
-
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_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model).
Falls erwartet werden kann, dass alle Kanten des Metrology-Messobjekts
in den Modellregionen vorhanden sind, kann der Parameter
'min_score'"min_score""min_score""min_score""min_score""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'"min_score""min_score""min_score""min_score""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
- 'num_instances'"num_instances""num_instances""num_instances""num_instances""num_instances":
-
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_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model).
Der Score für erfolgreich angepasste Instanzen der geometrischen
Formen muss mindestens den Wert 'min_score'"min_score""min_score""min_score""min_score""min_score" haben.
Wertevorschläge: 1, 2, 3,
4
Defaultwert: 1
- 'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold":
-
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_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'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold" nicht übersteigen.
Wertevorschläge: 0, 1.0, 2.0,
3.5, 5.0
Defaultwert: 3.5
- 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations":
-
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'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""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'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations" aber nicht
übersteigen. Das Setzen von 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""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
- 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed":
-
Der Parameter legt den Startwert für
den Zufallsgenerator fest, welcher vom RANSAC-Verfahren innerhalb
des Operators apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model zur Auswahl der Kanten
genutzt wird. Wird der Parameter 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""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'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed" initialisiert wird.
Wird der Parameter 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""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
- 'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions":
-
Der Parameter
legt fest, welche der Ergebnisse der Messungen gültig sind. Wird
der Parameter 'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions" auf den
Wert 'false'"false""false""false""false""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'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions" auf den Wert
'true'"true""true""true""true""true" gesetzt, so sind alle Instanzen des
Metrology-Messobjekts gültig.
Wertevorschläge: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
Defaultwert: 'false'"false""false""false""false""false"
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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.
Parameter
MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandlemetrology_handle (input_control, Zustand wird modifiziert) metrology_model → HMetrologyModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Messmodells.
IndexIndexIndexIndexindexindex (input_control) integer(-array) → HTupleMaybeSequence[Union[str, int]]HTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)
Index der Metrology-Messobjekte.
Defaultwert:
'all'
"all"
"all"
"all"
"all"
"all"
Wertevorschläge: 'all'"all""all""all""all""all", 0, 1, 2
GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (input_control) attribute.name-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Namen der generischen Parameter.
Defaultwert:
'num_instances'
"num_instances"
"num_instances"
"num_instances"
"num_instances"
"num_instances"
Werteliste: 'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold""distance_threshold", 'instances_outside_measure_regions'"instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions""instances_outside_measure_regions", 'max_num_iterations'"max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations""max_num_iterations", 'measure_distance'"measure_distance""measure_distance""measure_distance""measure_distance""measure_distance", 'measure_interpolation'"measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation", 'measure_length1'"measure_length1""measure_length1""measure_length1""measure_length1""measure_length1", 'measure_length2'"measure_length2""measure_length2""measure_length2""measure_length2""measure_length2", 'measure_select'"measure_select""measure_select""measure_select""measure_select""measure_select", 'measure_sigma'"measure_sigma""measure_sigma""measure_sigma""measure_sigma""measure_sigma", 'measure_threshold'"measure_threshold""measure_threshold""measure_threshold""measure_threshold""measure_threshold", 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition""measure_transition", 'min_score'"min_score""min_score""min_score""min_score""min_score", 'num_instances'"num_instances""num_instances""num_instances""num_instances""num_instances", 'num_measures'"num_measures""num_measures""num_measures""num_measures""num_measures", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed""rand_seed"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (input_control) attribute.value-array → HTupleSequence[Union[str, float, int]]HTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)
Werte der generischen Parameter.
Defaultwert: 1
Wertevorschläge: 1, 2, 3, 4, 5, 10, 20, 'all'"all""all""all""all""all", 'true'"true""true""true""true""true", 'false'"false""false""false""false""false", 'first'"first""first""first""first""first", 'last'"last""last""last""last""last", 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative", 'uniform'"uniform""uniform""uniform""uniform""uniform", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'bicubic'"bicubic""bicubic""bicubic""bicubic""bicubic"
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParamset_metrology_object_param den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Vorgänger
get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParamget_metrology_object_param
Nachfolger
apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModelapply_metrology_model,
reset_metrology_object_paramreset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParamResetMetrologyObjectParamreset_metrology_object_param,
get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParamget_metrology_object_param
Siehe auch
set_metrology_object_fuzzy_paramset_metrology_object_fuzzy_paramSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParamset_metrology_object_fuzzy_param
Modul
2D Metrology