Name
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure — Hinzufügen einer Ellipse oder eines Ellipsenbogens zu einem Messmodell.
add_metrology_object_ellipse_measure( : : MetrologyHandle, Row, Column, Phi, Radius1, Radius2, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue : Index)
Herror add_metrology_object_ellipse_measure(const Hlong MetrologyHandle, double Row, double Column, double Phi, double Radius1, double Radius2, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue, Hlong* 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)
Herror 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, Hlong* 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
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 HString& GenParamName, double GenParamValue) const
Hlong HMetrologyModel::AddMetrologyObjectEllipseMeasure(double Row, double Column, double Phi, double Radius1, double Radius2, double MeasureLength1, double MeasureLength2, double MeasureSigma, double MeasureThreshold, const char* GenParamName, double GenParamValue) const
void HOperatorSetX.AddMetrologyObjectEllipseMeasure(
[in] VARIANT MetrologyHandle, [in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Radius1, [in] VARIANT Radius2, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue, [out] VARIANT* Index)
Hlong HMetrologyModelX.AddMetrologyObjectEllipseMeasure(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Radius1, [in] VARIANT Radius2, [in] VARIANT MeasureLength1, [in] VARIANT MeasureLength2, [in] VARIANT MeasureSigma, [in] VARIANT MeasureThreshold, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)
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, string genParamName, double genParamValue)
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure fügt ein Metrology-Messobjekt
vom Typ Ellipse oder einen Ellipsenbogen zu einem Messmodell hinzu und
bereitet die rechteckigen Messregionen vor (siehe
create_metrology_modelcreate_metrology_modelCreateMetrologyModelcreate_metrology_modelCreateMetrologyModelCreateMetrologyModel für das Grundprinzip der
2D-Messtechnik). Das Handle des Messmodells muss in
MetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandleMetrologyHandlemetrologyHandle übergeben werden.
Die genäherte geometrische Form des Metrology-Messobjekts vom Typ
Ellipse wird dabei durch ihren Mittelpunkt (RowRowRowRowRowrow,
ColumnColumnColumnColumnColumncolumn), die Orientierung der Hauptachse PhiPhiPhiPhiPhiphi
und die Länge der großen Halbachse Radius1Radius1Radius1Radius1Radius1radius1 bzw. der kleinen
Halbachse Radius2Radius2Radius2Radius2Radius2radius2 beschrieben. Der Eingabewert
PhiPhiPhiPhiPhiphi wird automatisch auf
das Intervall ]-PI,PI] abgebildet.
Die Messregionen liegen senkrecht zum Ellipsenrand.
Die halbe Kantenlänge der Messregionen senkrecht und tangential zur
Ellipse werden jeweils in MeasureLength1MeasureLength1MeasureLength1MeasureLength1MeasureLength1measureLength1 und in
MeasureLength2MeasureLength2MeasureLength2MeasureLength2MeasureLength2measureLength2 gesetzt.
Die Mittelpunkte der Messregionen liegen auf dem Rand der Ellipse.
Der Parameter MeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmaMeasureSigmameasureSigma legt eine Standardabweichung
für die Glättung der Grauwerte im Bild durch den Operator
apply_metrology_modelapply_metrology_modelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelApplyMetrologyModel fest. Auffällige Kanten können mit
dem Parameter MeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdMeasureThresholdmeasureThreshold, 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_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure gibt den Index des
hinzugefügten Metrology-Messobjekts in dem Parameter IndexIndexIndexIndexIndexindex
zurück.
Desweiteren können in GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
generische Parameter angepasst werden. Die folgenden generischen
Parameter GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName und die dazugehörigen Werte
GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue zur Festlegung eines Ellipsenbogens sind verfügbar:
- 'start_phi'"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 PhiPhiPhiPhiPhiphi
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. PI, die Nebenpole die Winkel
PI/2 bzw. 3*pi/2. Um eine
geschlossene Ellipse zu erhalten, müssen der Wert des Parameters
'start_phi'"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""end_phi" auf 2*PI gesetzt sein
(bei positivem Umlaufsinn). Die Eingabewerte werden
automatisch auf das Intervall [0,2*PI]
abgebildet.
Wertevorschläge: 0.0, 0.78,
6.28318
Defaultwert: 0.0
- 'end_phi'"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 PhiPhiPhiPhiPhiphi
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. PI, die Nebenpole die Winkel
PI/2 bzw. 3*pi/2. Um eine
geschlossene Ellipse zu erhalten, müssen der Wert des Parameters
'start_phi'"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""end_phi" auf 2*PI gesetzt sein
(bei positivem Umlaufsinn). Die Eingabewerte werden
automatisch auf das Intervall [0,2*PI]
abgebildet.
Wertevorschläge: 0.0, 0.78,
6.28318
Defaultwert: 6.28318
- 'point_order'"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""positive" gesetzt,
ist der Ellipsenbogen zwischen 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" und
'end_phi'"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""negative" gesetzt, ist der Ellipsenbogen zwischen
'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi" und 'end_phi'"end_phi""end_phi""end_phi""end_phi""end_phi" im mathematisch
negativen Sinn (im Uhrzeigersinn) definiert.
Wertevorschläge: 'positive'"positive""positive""positive""positive""positive", 'negative'"negative""negative""negative""negative""negative"
Defaultwert: 'positive'"positive""positive""positive""positive""positive"
Weitere generische Parameter sind alle generischen Parameter, die im
Operator set_metrology_object_paramset_metrology_object_paramSetMetrologyObjectParamset_metrology_object_paramSetMetrologyObjectParamSetMetrologyObjectParam zur Verfügung stehen.
In den meisten Fällen reichen die Standardwerte aus, so dass keine
Anpassung nötig ist.
Ein Messmodell 'MetrologyHandle'"MetrologyHandle""MetrologyHandle""MetrologyHandle""MetrologyHandle""MetrologyHandle" kann nur von einem Thread aus
verwendet werden. Verschiedene Messmodelle können dagegen in
unterschiedlichen Threads genutzt werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
RowRowRowRowRowrow (input_control) ellipse.center.y(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Mittelpunkts der Ellipse.
Spaltenkoordinate des Mittelpunkts der Ellipse.
PhiPhiPhiPhiPhiphi (input_control) ellipse.angle.rad(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Orientierung der Hauptachse [rad].
Länge der großen Halbachse.
Länge der kleinen Halbachse.
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
measureLength1
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Restriktion: MeasureLength1 < Radius1 && MeasureLength1 < Radius2
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
measureLength2
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
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
measureSigma
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
Restriktion: 0.4 <= MeasureSigma && MeasureSigma <= 100
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
measureThreshold
≤
255 (lin)
Minimale Schrittweite: 0.5
Empfohlene Schrittweite: 2
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'end_phi'"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""instances_outside_measure_regions", '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_select'"measure_select""measure_select""measure_select""measure_select""measure_select", '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", 'start_phi'"start_phi""start_phi""start_phi""start_phi""start_phi", 'world_pose'"world_pose""world_pose""world_pose""world_pose""world_pose"
Werte der generischen Parameter.
Defaultwert: []
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"
Index des erstellten Metrology-Messobjekts.
Sind die Parameterwerte korrekt, dann liefert
add_metrology_object_ellipse_measureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureadd_metrology_object_ellipse_measureAddMetrologyObjectEllipseMeasureAddMetrologyObjectEllipseMeasure den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
set_metrology_model_image_sizeset_metrology_model_image_sizeSetMetrologyModelImageSizeset_metrology_model_image_sizeSetMetrologyModelImageSizeSetMetrologyModelImageSize
apply_metrology_modelapply_metrology_modelApplyMetrologyModelapply_metrology_modelApplyMetrologyModelApplyMetrologyModel,
copy_metrology_objectcopy_metrology_objectCopyMetrologyObjectcopy_metrology_objectCopyMetrologyObjectCopyMetrologyObject
gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXld,
add_metrology_object_circle_measureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureadd_metrology_object_circle_measureAddMetrologyObjectCircleMeasureAddMetrologyObjectCircleMeasure,
add_metrology_object_line_measureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureadd_metrology_object_line_measureAddMetrologyObjectLineMeasureAddMetrologyObjectLineMeasure,
add_metrology_object_rectangle2_measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2Measureadd_metrology_object_rectangle2_measureAddMetrologyObjectRectangle2MeasureAddMetrologyObjectRectangle2Measure
2D Metrology