add_metrology_object_ellipse_measureT_add_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure (Operator)

Name

add_metrology_object_ellipse_measureT_add_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure — Hinzufügen einer Ellipse oder eines Ellipsenbogens zu einem Messmodell.

Signatur

add_metrology_object_ellipse_measure( : : MetrologyHandle, Row, Column, Phi, Radius1, Radius2, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index)

Herror T_add_metrology_object_ellipse_measure(const Htuple MetrologyHandle, const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Radius1, const Htuple Radius2, const Htuple MeasureLength1, const Htuple MeasureLength2, const Htuple MeasureSigma, const Htuple MeasureThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* Index)

void AddMetrologyObjectEllipseMeasure(const HTuple& MetrologyHandle, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Index)

Hlong HMetrologyModel::AddMetrologyObjectEllipseMeasure(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, const HTuple& MeasureLength1, const HTuple& MeasureLength2, const HTuple& MeasureSigma, const HTuple& MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const

Hlong HMetrologyModel::AddMetrologyObjectEllipseMeasure(double Row, double Column, double Phi, double Radius1, double Radius2, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const HTuple& GenParamName, const HTuple& GenParamValue) const

static void HOperatorSet.AddMetrologyObjectEllipseMeasure(HTuple metrologyHandle, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue, out HTuple index)

int HMetrologyModel.AddMetrologyObjectEllipseMeasure(HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, HTuple measureLength1, HTuple measureLength2, HTuple measureSigma, HTuple measureThreshold, HTuple genParamName, HTuple genParamValue)

int HMetrologyModel.AddMetrologyObjectEllipseMeasure(double row, double column, double phi, double radius1, double radius2, double measureLength1, double measureLength2, double measureSigma, double measureThreshold, HTuple genParamName, HTuple genParamValue)

Beschreibung

add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure fügt ein Metrology-Messobjekt vom Typ Ellipse oder einen Ellipsenbogen zu einem Messmodell hinzu und bereitet die rechteckigen Messregionen vor. Das Handle des Messmodells muss in MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle übergeben werden.

Das Konzept der 2D-Messtechnik ist bei der Einleitung zu Kapitel 2D-Messtechnik beschrieben.

Die genäherte geometrische Form des Metrology-Messobjekts vom Typ Ellipse wird durch ihren Mittelpunkt (RowRowRowRowrow, ColumnColumnColumnColumncolumn), die Orientierung der Hauptachse PhiPhiPhiPhiphi und die Länge der großen Halbachse Radius1Radius1Radius1Radius1radius1 bzw. der kleinen Halbachse Radius2Radius2Radius2Radius2radius2 beschrieben. Der Eingabewert PhiPhiPhiPhiphi wird automatisch auf das Intervall abgebildet. Die Messregionen liegen senkrecht zum Ellipsenrand. Die halbe Kantenlänge der Messregionen senkrecht und tangential zur Ellipse werden jeweils in MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1 und in MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2 gesetzt. Die Mittelpunkte der Messregionen liegen auf dem Rand der Ellipse. Der Parameter MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigma legt eine Standardabweichung für die Glättung der Grauwerte im Bild durch den Operator apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModel fest. Auffällige Kanten können mit dem Parameter MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThreshold, der einen Schwellwert für die Kantenamplitude, d.h. den Absolutbetrag der ersten Ableitung, angibt, selektiert werden. Der Operator add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure gibt den Index des hinzugefügten Metrology-Messobjekts in dem Parameter IndexIndexIndexIndexindex zurück.

Desweiteren können in GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue generische Parameter angepasst werden. Die folgenden generischen Parameter GenParamNameGenParamNameGenParamNameGenParamNamegenParamName und die dazugehörigen Werte GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue zur Festlegung eines Ellipsenbogens sind verfügbar:

'start_phi'"start_phi""start_phi""start_phi""start_phi":

Der Parameter legt den Anfangswinkel des Ellipsenbogens fest. Der Anfangswinkel wird relativ zur positiven großen Halbachse gemessen, deren Orientierung durch PhiPhiPhiPhiphi gegeben ist und bezieht sich auf den kleinsten die Ellipse umgebenden Kreis. Der tatsächliche Anfangspunkt der Ellipse ergibt sich aus dem Schnittpunkt der Ellipse mit der Orthogonalprojektion des entsprechenden Kreispunktes auf die große Halbachse. Der Winkel wird dabei im Ellipsenkoordinatensystem bezogen auf die Hauptachse der Ellipse mathematisch positiv angegeben. Die beiden Hauptpole der Ellipse haben demnach die Winkel 0 bzw. , die Nebenpole die Winkel bzw. . Um eine geschlossene Ellipse zu erhalten, müssen der Wert des Parameters 'start_phi'"start_phi""start_phi""start_phi""start_phi" auf 0 und der Wert des Parameters 'end_phi'"end_phi""end_phi""end_phi""end_phi" auf gesetzt sein (bei positivem Umlaufsinn). Die Eingabewerte werden automatisch auf das Intervall abgebildet.

Wertevorschläge: 0.0, 0.78, 6.28318

Defaultwert: 0.0

'end_phi'"end_phi""end_phi""end_phi""end_phi":

Der Parameter legt den Endwinkel des Ellipsenbogens fest. Der Endwinkel wird relativ zur positiven großen Halbachse gemessen, deren Orientierung durch PhiPhiPhiPhiphi gegeben ist und bezieht sich auf den kleinsten die Ellipse umgebenden Kreis. Der tatsächliche Endpunkt der Ellipse ergibt sich aus dem Schnittpunkt der Ellipse mit der Orthogonalprojektion des entsprechenden Kreispunktes auf die große Halbachse. Der Winkel wird dabei im Ellipsenkoordinatensystem bezogen auf die Hauptachse der Ellipse mathematisch positiv angegeben. Die beiden Hauptpole der Ellipse haben demnach die Winkel 0 bzw. , die Nebenpole die Winkel bzw. . Um eine geschlossene Ellipse zu erhalten, müssen der Wert des Parameters 'start_phi'"start_phi""start_phi""start_phi""start_phi" auf 0 und der Wert des Parameters 'end_phi'"end_phi""end_phi""end_phi""end_phi" auf gesetzt sein (bei positivem Umlaufsinn). Die Eingabewerte werden automatisch auf das Intervall abgebildet.

Wertevorschläge: 0.0, 0.78, 6.28318

Defaultwert: 6.28318

'point_order'"point_order""point_order""point_order""point_order":

Der Parameter legt die Richtung des Ellipsenbogens fest. Wird der Wert auf 'positive'"positive""positive""positive""positive" gesetzt, ist der Ellipsenbogen zwischen 'start_phi'"start_phi""start_phi""start_phi""start_phi" und 'end_phi'"end_phi""end_phi""end_phi""end_phi" im mathematisch positiven Sinn (gegen den Uhrzeigersinn) definiert. Wird der Wert auf 'negative'"negative""negative""negative""negative" gesetzt, ist der Ellipsenbogen zwischen 'start_phi'"start_phi""start_phi""start_phi""start_phi" und 'end_phi'"end_phi""end_phi""end_phi""end_phi" im mathematisch negativen Sinn (im Uhrzeigersinn) definiert.

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

Defaultwert: 'positive'"positive""positive""positive""positive"

Weitere generische Parameter sind alle generischen Parameter, die im Operator set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParamSetMetrologyObjectParam zur Verfügung stehen. In den meisten Fällen reichen die Standardwerte aus, so dass keine Anpassung nötig ist.

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.

RowRowRowRowrow (input_control)  ellipse.center.y(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Zeilenkoordinate des Mittelpunkts der Ellipse.

ColumnColumnColumnColumncolumn (input_control)  ellipse.center.x(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Spaltenkoordinate des Mittelpunkts der Ellipse.

PhiPhiPhiPhiphi (input_control)  ellipse.angle.rad(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Orientierung der Hauptachse [rad].

Radius1Radius1Radius1Radius1radius1 (input_control)  ellipse.radius1(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Länge der großen Halbachse.

Radius2Radius2Radius2Radius2radius2 (input_control)  ellipse.radius2(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Länge der kleinen Halbachse.

MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1 (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Halbe Länge der Messregionen senkrecht zum Rand.

Defaultwert: 20.0

Wertevorschläge: 10.0, 20.0, 30.0

Typischer Wertebereich: 1.0 ≤ MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1

Minimale Schrittweite: 1.0

Empfohlene Schrittweite: 10.0

Restriktion: MeasureLength1 < Radius1 && MeasureLength1 < Radius2

MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2 (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Halbe Länge der Messregionen tangential zum Rand.

Defaultwert: 5.0

Wertevorschläge: 3.0, 5.0, 10.0

Typischer Wertebereich: 1.0 ≤ MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2

Minimale Schrittweite: 1.0

Empfohlene Schrittweite: 10.0

MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigma (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Sigma der Gaußfunktion für die Glättung.

Defaultwert: 1.0

Wertevorschläge: 0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0

Typischer Wertebereich: 0.4 ≤ MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma

Minimale Schrittweite: 0.01

Empfohlene Schrittweite: 0.1

Restriktion: 0.4 <= MeasureSigma && MeasureSigma <= 100

MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThreshold (input_control)  number HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Minimale Amplitude einer Kante.

Defaultwert: 30.0

Wertevorschläge: 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 90.0, 110.0

Typischer Wertebereich: 1 ≤ MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold ≤ 255 (lin)

Minimale Schrittweite: 0.5

Empfohlene Schrittweite: 2

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

Namen der generischen Parameter.

Defaultwert: []

Werteliste: 'distance_threshold'"distance_threshold""distance_threshold""distance_threshold""distance_threshold", 'end_phi'"end_phi""end_phi""end_phi""end_phi", '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_select'"measure_select""measure_select""measure_select""measure_select", '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", 'point_order'"point_order""point_order""point_order""point_order", 'rand_seed'"rand_seed""rand_seed""rand_seed""rand_seed", 'start_phi'"start_phi""start_phi""start_phi""start_phi"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value-array HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Werte der generischen Parameter.

Defaultwert: []

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"

IndexIndexIndexIndexindex (output_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index des erstellten Metrology-Messobjekts.

Ergebnis

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

Vorgänger

set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSizeSetMetrologyModelImageSize

Nachfolger

align_metrology_modelalign_metrology_modelAlignMetrologyModelAlignMetrologyModelAlignMetrologyModel, apply_metrology_modelapply_metrology_modelApplyMetrologyModelApplyMetrologyModelApplyMetrologyModel

Alternativen

add_metrology_object_genericadd_metrology_object_genericAddMetrologyObjectGenericAddMetrologyObjectGenericAddMetrologyObjectGeneric

Siehe auch

get_metrology_object_model_contourget_metrology_object_model_contourGetMetrologyObjectModelContourGetMetrologyObjectModelContourGetMetrologyObjectModelContour, set_metrology_model_paramset_metrology_model_paramSetMetrologyModelParamSetMetrologyModelParamSetMetrologyModelParam, add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure, add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasure, add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure

Modul

2D Metrology