set_metrology_object_paramT_set_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParam (Operator)

Name

set_metrology_object_paramT_set_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParam — Setzen von Parametern für die Metrology-Messobjekte eines Messmodells.

Signatur

set_metrology_object_param( : : MetrologyHandle, Index, GenParamName, GenParamValue : )

Herror T_set_metrology_object_param(const Htuple MetrologyHandle, const Htuple Index, const Htuple GenParamName, const Htuple GenParamValue)

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)

static void HOperatorSet.SetMetrologyObjectParam(HTuple metrologyHandle, HTuple index, HTuple genParamName, HTuple genParamValue)

void HMetrologyModel.SetMetrologyObjectParam(HTuple index, HTuple genParamName, HTuple genParamValue)

void HMetrologyModel.SetMetrologyObjectParam(string index, HTuple genParamName, HTuple genParamValue)

Beschreibung

set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParam 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 MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle definiert. Der Parameter IndexIndexIndexIndexindex 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 IndexIndexIndexIndexindex '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_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGeneric, add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure, add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure, add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasure oder add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure übergeben werden. Die aktuelle Konfiguration kann mit Hilfe von get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParam ausgelesen werden. Alle Parameter, die mit dem Operator set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParam gesetzt werden können, können mit dem Operator reset_metrology_object_paramreset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParamResetMetrologyObjectParam 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 GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und die dazugehörigen Werte GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue sind verfügbar - sortiert nach verschiedenen Kategorien:

Erstellen der Messregionen:

'measure_length1'"measure_length1""measure_length1""measure_length1""measure_length1":

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'"measure_length1""measure_length1""measure_length1""measure_length1" >= 1.0

'measure_length2'"measure_length2""measure_length2""measure_length2""measure_length2":

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'"measure_length2""measure_length2""measure_length2""measure_length2" >= 0.0

'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" 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":

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'"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":

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_posMeasurePosMeasurePosMeasurePos mit den Parametern SigmaSigmaSigmaSigmasigma, ThresholdThresholdThresholdThresholdthreshold und SelectSelectSelectSelectselect beschrieben.

'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_posMeasurePosMeasurePosMeasurePos mit dem Parameter ThresholdThresholdThresholdThresholdthreshold beschrieben.

'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_posMeasurePosMeasurePosMeasurePos mit dem Parameter SelectSelectSelectSelectselect beschrieben.

'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", 'positive'"positive""positive""positive""positive" und 'negative'"negative""negative""negative""negative", die für den Parameter 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition" gesetzt werden können, ist für den Operator measure_posmeasure_posMeasurePosMeasurePosMeasurePos mit dem Parameter TransitionTransitionTransitionTransitiontransition beschrieben. Zusätzlich kann 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition" auf den Wert 'uniform'"uniform""uniform""uniform""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 RowBeginRowBeginRowBeginRowBeginrowBegin und ColumnBeginColumnBeginColumnBeginColumnBegincolumnBegin des Operators add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasure).

Wertevorschläge: 'all'"all""all""all""all", 'negative'"negative""negative""negative""negative", 'positive'"positive""positive""positive""positive", 'uniform'"uniform""uniform""uniform""uniform"

Defaultwert: 'all'"all""all""all""all"

'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_rectangle2GenMeasureRectangle2GenMeasureRectangle2GenMeasureRectangle2 mit dem Parameter InterpolationInterpolationInterpolationInterpolationinterpolation beschrieben.

Anpassen der geometrischen Formen:

'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_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModel). 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" 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" 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":

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_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModel). Der Score für erfolgreich angepasste Instanzen der geometrischen Formen muss mindestens den Wert '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":

apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModel 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" 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":

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" 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" aber nicht übersteigen. Das Setzen von '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":

Der Parameter legt den Startwert für den Zufallsgenerator fest, welcher vom RANSAC-Verfahren innerhalb des Operators apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModel zur Auswahl der Kanten genutzt wird. Wird der Parameter '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" initialisiert wird.

Wird der Parameter '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":

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" auf den Wert '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" auf den Wert 'true'"true""true""true""true" gesetzt, so sind alle Instanzen des Metrology-Messobjekts gültig.

Wertevorschläge: 'false'"false""false""false""false", 'true'"true""true""true""true"

Defaultwert: 'false'"false""false""false""false"

Ausführungsinformationen

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

MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle (input_control, Zustand wird modifiziert)  metrology_model HMetrologyModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Messmodells.

IndexIndexIndexIndexindex (input_control)  integer(-array) HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Index der Metrology-Messobjekte.

Defaultwert: 'all' "all" "all" "all" "all"

Wertevorschläge: 'all'"all""all""all""all", 0, 1, 2

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Parameter.

Defaultwert: 'num_instances' "num_instances" "num_instances" "num_instances" "num_instances"

Werteliste: '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", '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_interpolation'"measure_interpolation""measure_interpolation""measure_interpolation""measure_interpolation", 'measure_length1'"measure_length1""measure_length1""measure_length1""measure_length1", 'measure_length2'"measure_length2""measure_length2""measure_length2""measure_length2", 'measure_select'"measure_select""measure_select""measure_select""measure_select", 'measure_sigma'"measure_sigma""measure_sigma""measure_sigma""measure_sigma", 'measure_threshold'"measure_threshold""measure_threshold""measure_threshold""measure_threshold", 'measure_transition'"measure_transition""measure_transition""measure_transition""measure_transition", 'min_score'"min_score""min_score""min_score""min_score", 'num_instances'"num_instances""num_instances""num_instances""num_instances", 'num_measures'"num_measures""num_measures""num_measures""num_measures", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value-array HTupleHTupleHtuple (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", 'true'"true""true""true""true", 'false'"false""false""false""false", 'first'"first""first""first""first", 'last'"last""last""last""last", 'positive'"positive""positive""positive""positive", 'negative'"negative""negative""negative""negative", 'uniform'"uniform""uniform""uniform""uniform", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'bilinear'"bilinear""bilinear""bilinear""bilinear", 'bicubic'"bicubic""bicubic""bicubic""bicubic"

Ergebnis

Sind die Parameterwerte korrekt, dann liefert set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParam den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParam

Nachfolger

apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModel, reset_metrology_object_paramreset_metrology_object_paramResetMetrologyObjectParamResetMetrologyObjectParamResetMetrologyObjectParam, get_metrology_object_paramget_metrology_object_paramGetMetrologyObjectParamGetMetrologyObjectParamGetMetrologyObjectParam

Siehe auch

set_metrology_object_fuzzy_paramset_metrology_object_fuzzy_paramSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParamSetMetrologyObjectFuzzyParam

Modul

2D Metrology