add_metrology_object_generic T_add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic (Operator)
Name
add_metrology_object_generic T_add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic — Hinzufügen eines Metrology-Messobjekts zu einem Messmodell.
Signatur
void AddMetrologyObjectGeneric (const HTuple& MetrologyHandle , const HTuple& Shape , const HTuple& ShapeParam , const HTuple& MeasureLength1 , const HTuple& MeasureLength2 , const HTuple& MeasureSigma , const HTuple& MeasureThreshold , const HTuple& GenParamName , const HTuple& GenParamValue , HTuple* Index )
Hlong HMetrologyModel ::AddMetrologyObjectGeneric (const HTuple& Shape , const HTuple& ShapeParam , const HTuple& MeasureLength1 , const HTuple& MeasureLength2 , const HTuple& MeasureSigma , const HTuple& MeasureThreshold , const HTuple& GenParamName , const HTuple& GenParamValue ) const
Hlong HMetrologyModel ::AddMetrologyObjectGeneric (const HString& Shape , const HTuple& ShapeParam , double MeasureLength1 , double MeasureLength2 , double MeasureSigma , double MeasureThreshold , const HTuple& GenParamName , const HTuple& GenParamValue ) const
Hlong HMetrologyModel ::AddMetrologyObjectGeneric (const char* Shape , const HTuple& ShapeParam , double MeasureLength1 , double MeasureLength2 , double MeasureSigma , double MeasureThreshold , const HTuple& GenParamName , const HTuple& GenParamValue ) const
Hlong HMetrologyModel ::AddMetrologyObjectGeneric (const wchar_t* Shape , const HTuple& ShapeParam , double MeasureLength1 , double MeasureLength2 , double MeasureSigma , double MeasureThreshold , const HTuple& GenParamName , const HTuple& GenParamValue ) const
(Nur Windows)
static void HOperatorSet .AddMetrologyObjectGeneric (HTuple metrologyHandle , HTuple shape , HTuple shapeParam , HTuple measureLength1 , HTuple measureLength2 , HTuple measureSigma , HTuple measureThreshold , HTuple genParamName , HTuple genParamValue , out HTuple index )
int HMetrologyModel .AddMetrologyObjectGeneric (HTuple shape , HTuple shapeParam , HTuple measureLength1 , HTuple measureLength2 , HTuple measureSigma , HTuple measureThreshold , HTuple genParamName , HTuple genParamValue )
int HMetrologyModel .AddMetrologyObjectGeneric (string shape , HTuple shapeParam , double measureLength1 , double measureLength2 , double measureSigma , double measureThreshold , HTuple genParamName , HTuple genParamValue )
def add_metrology_object_generic (metrology_handle : HHandle, shape : MaybeSequence[str], shape_param : Sequence[Union[int, float]], measure_length_1 : Union[int, float], measure_length_2 : Union[int, float], measure_sigma : Union[int, float], measure_threshold : Union[int, float], gen_param_name : Sequence[str], gen_param_value : Sequence[Union[float, int, str]]) -> int
Beschreibung
add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic fügt ein Metrology-Messobjekt vom Typ
Shape Shape Shape Shape shape shape zu einem Messmodell hinzu und bereitet
die rechteckigen Messregionen vor.
Das Konzept der 2D-Messtechnik ist bei der Einleitung zu Kapitel
2D-Messtechnik beschrieben.
Das Handle des Messmodells wird in MetrologyHandle MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle metrology_handle übergeben.
Shape Shape Shape Shape shape shape definiert den Typ des Objekts der zum Messmodell
hinzugefügt werden soll. add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic gibt den Index
des hinzugefügten Metrology-Messobjekts im Parameter
Index Index Index Index index index zurück.
Beachten Sie, dass add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic die Funktionalität
der Operatoren add_metrology_object_circle_measure add_metrology_object_circle_measure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure AddMetrologyObjectCircleMeasure add_metrology_object_circle_measure ,
add_metrology_object_ellipse_measure add_metrology_object_ellipse_measure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure AddMetrologyObjectEllipseMeasure add_metrology_object_ellipse_measure ,
add_metrology_object_rectangle2_measure add_metrology_object_rectangle2_measure AddMetrologyObjectRectangle2Measure AddMetrologyObjectRectangle2Measure AddMetrologyObjectRectangle2Measure add_metrology_object_rectangle2_measure und
add_metrology_object_line_measure add_metrology_object_line_measure AddMetrologyObjectLineMeasure AddMetrologyObjectLineMeasure AddMetrologyObjectLineMeasure add_metrology_object_line_measure in einem Operator zusammenfasst.
Liste der geometrischen Formen
Mittels Shape Shape Shape Shape shape shape wird spezifiziert,
welche Art von Metrology-Messobjekt dem Messmodell hinzugefügt wird.
Abhängig vom Wert von Shape Shape Shape Shape shape shape werden folgende Werte erwartet:
'circle' "circle" "circle" "circle" "circle" "circle" :
Die geometrische Form des Metrology-Messobjekts vom Typ Kreis oder
Kreisbogen wird durch seinen Mittelpunkt (Row, Column) und
den Radius beschrieben.
ShapeParam ShapeParam ShapeParam ShapeParam shapeParam shape_param =[Row, Column, Radius]
'rectangle2' "rectangle2" "rectangle2" "rectangle2" "rectangle2" "rectangle2" :
Die geometrische Form des Metrology-Messobjekts vom
Typ Rechteck wird durch seinen Mittelpunkt (Row, Column), die
Orientierung der Hauptachse Phi und die halben Kantenlängen Length1 und
Length2 beschrieben. Der Eingabewert für Phi wird automatisch auf das
Intervall
abgebildet.
ShapeParam ShapeParam ShapeParam ShapeParam shapeParam shape_param =[Row, Column, Phi, Length1, Length2]
'ellipse' "ellipse" "ellipse" "ellipse" "ellipse" "ellipse" :
Die geometrische Form des Metrology-Messobjekts vom Typ
Ellipse wird durch ihren Mittelpunkt (Row, Column), die Orientierung
der Hauptachse Phi und die Länge der großen und kleinen Halbachsen
Radius1 und Radius2 beschrieben. Der Eingabewert für Phi wird automatisch
auf das Intervall
abgebildet.
ShapeParam ShapeParam ShapeParam ShapeParam shapeParam shape_param =[Row, Column, Phi, Radius1, Radius2]
'line' "line" "line" "line" "line" "line" :
Die geometrische Form des Metrology-Messobjekts vom Typ
Linie wird durch die Koordinaten des Startpunkts (RowBegin,
ColumnBegin) und die Koordinaten des Endpunkts (RowEnd, ColumnEnd)
beschrieben.
ShapeParam ShapeParam ShapeParam ShapeParam shapeParam shape_param =[RowBegin, ColumnBegin, RowEnd, ColumnEnd]
Definition der Messregionen
add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic bereitet
die rechteckigen Messregionen vor. Die Messregionen liegen senkrecht
zur Objektkontur. Die halben Kantenlängen der Messregionen senkrecht und
tangential zur Objektkontur werden jeweils in
MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1 measure_length_1 und in MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2 measure_length_2 gesetzt.
Die Mittelpunkte der Messregionen liegen auf dem Rand der Objektkontur.
Der Parameter MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma measure_sigma legt eine Standardabweichung
für die Glättung der Grauwerte im Bild durch den Operator
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel ApplyMetrologyModel apply_metrology_model fest. Auffällige Kanten können mit
dem Parameter MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold measure_threshold , der einen Schwellenwert für
die Kantenamplitude, d.h. den Absolutbetrag der ersten Ableitung,
angibt, selektiert werden.
Generische Parameter
In GenParamName GenParamName GenParamName GenParamName genParamName gen_param_name und GenParamValue GenParamValue GenParamValue GenParamValue genParamValue gen_param_value können
generische Parameter übergeben werden.
Setzbar sind alle generischen Parameter, die auch im
Operator set_metrology_object_param set_metrology_object_param SetMetrologyObjectParam SetMetrologyObjectParam SetMetrologyObjectParam set_metrology_object_param zur Verfügung stehen.
In den meisten Fällen reichen die Standardwerte aus, so dass keine
Anpassung nötig ist. Zusätzlich sind die folgenden generischen
Parameter GenParamName GenParamName GenParamName GenParamName genParamName gen_param_name und die dazugehörigen Werte
GenParamValue GenParamValue GenParamValue GenParamValue genParamValue gen_param_value zur Festlegung eines Kreis- oder Ellipsenbogens
nur für Shape Shape Shape Shape shape shape = 'circle' oder 'ellipse' verfügbar:
'start_phi' "start_phi" "start_phi" "start_phi" "start_phi" "start_phi" :
Der Parameter legt den Anfangswinkel
des Kreis- bzw. Ellipsenbogens fest.
Für eine Ellipse wird der Anfangswinkel relativ zur positiven großen
Halbachse gemessen 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. Um einen geschlossenen Kreis bzw.
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
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" "end_phi" :
Der Parameter legt den Endwinkel
des Kreis- bzw. Ellipsenbogens fest.
Für eine Ellipse wird der Endwinkel relativ zur positiven großen
Halbachse gemessen 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. Um einen geschlossenen Kreis
bzw. 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
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" "point_order" :
Der Parameter legt die Richtung
des Kreis- bzw. Ellipsenbogens fest.
Wird der Wert auf 'positive' "positive" "positive" "positive" "positive" "positive" gesetzt,
ist der Bogen 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 Bogen 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"
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
MetrologyHandle MetrologyHandle MetrologyHandle MetrologyHandle metrologyHandle metrology_handle (input_control, Zustand wird modifiziert) metrology_model → HMetrologyModel , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Handle des Messmodells.
Shape Shape Shape Shape shape shape (input_control) attribute.name(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Typ des zu erstellenden Metrology-Messobjekts.
Defaultwert:
'circle'
"circle"
"circle"
"circle"
"circle"
"circle"
Werteliste: 'circle' "circle" "circle" "circle" "circle" "circle" , 'ellipse' "ellipse" "ellipse" "ellipse" "ellipse" "ellipse" , 'line' "line" "line" "line" "line" "line" , 'rectangle2' "rectangle2" "rectangle2" "rectangle2" "rectangle2" "rectangle2"
ShapeParam ShapeParam ShapeParam ShapeParam shapeParam shape_param (input_control) attribute.value-array → HTuple Sequence[Union[int, float]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Parameter des zu erstellenden Metrology-Messobjekts.
MeasureLength1 MeasureLength1 MeasureLength1 MeasureLength1 measureLength1 measure_length_1 (input_control) number → HTuple Union[int, float] HTuple Htuple (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
measure_length_1
≤
511.0 (lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
MeasureLength2 MeasureLength2 MeasureLength2 MeasureLength2 measureLength2 measure_length_2 (input_control) number → HTuple Union[int, float] HTuple Htuple (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
measure_length_2
≤
511.0 (lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
MeasureSigma MeasureSigma MeasureSigma MeasureSigma measureSigma measure_sigma (input_control) number → HTuple Union[int, float] HTuple Htuple (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
measure_sigma
≤
100 (lin)
Minimale Schrittweite: 0.01
Empfohlene Schrittweite: 0.1
MeasureThreshold MeasureThreshold MeasureThreshold MeasureThreshold measureThreshold measure_threshold (input_control) number → HTuple Union[int, float] HTuple Htuple (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
measure_threshold
≤
255 (lin)
Minimale Schrittweite: 0.5
Empfohlene Schrittweite: 2
GenParamName GenParamName GenParamName GenParamName genParamName gen_param_name (input_control) attribute.name-array → HTuple Sequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Namen der generischen Parameter.
Defaultwert: []
Werteliste: 'distance_threshold' "distance_threshold" "distance_threshold" "distance_threshold" "distance_threshold" "distance_threshold" , '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" , '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_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" , 'point_order' "point_order" "point_order" "point_order" "point_order" "point_order" , 'rand_seed' "rand_seed" "rand_seed" "rand_seed" "rand_seed" "rand_seed" , 'start_phi' "start_phi" "start_phi" "start_phi" "start_phi" "start_phi"
GenParamValue GenParamValue GenParamValue GenParamValue genParamValue gen_param_value (input_control) attribute.value-array → HTuple Sequence[Union[float, int, str]] HTuple Htuple (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" "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 Index Index Index index index (output_control) integer → HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Index des erstellten Metrology-Messobjekts.
Beispiel (HDevelop)
create_metrology_model (MetrologyHandle)
read_image (Image, 'fabrik')
get_image_size (Image, Width, Height)
set_metrology_model_image_size (MetrologyHandle, Width, Height)
LinePar := [45,360,415,360]
RectPar1 := [270,232,rad(0),30,25]
RectPar2 := [360,230,rad(0),30,25]
LinePar := [45,360,415,360]
RectPar3 := [245,320,rad(-90),70,35]
* Add two rectangles
add_metrology_object_generic (MetrologyHandle, 'rectangle2', \
[RectPar1,RectPar2], 20, 5, 1, 30, [], [], \
Indices)
* Add a rectangle and a line
add_metrology_object_generic (MetrologyHandle, ['rectangle2','line'], \
[RectPar3,LinePar], 20, 5, 1, 30, [], [], \
Index)
get_metrology_object_model_contour (Contour, MetrologyHandle, 'all', 1.5)
apply_metrology_model (Image, MetrologyHandle)
get_metrology_object_result_contour (Contour1, MetrologyHandle, 'all', \
'all', 1.5)
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
add_metrology_object_generic add_metrology_object_generic AddMetrologyObjectGeneric AddMetrologyObjectGeneric AddMetrologyObjectGeneric add_metrology_object_generic den Wert 2 (H_MSG_TRUE ).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
set_metrology_model_image_size set_metrology_model_image_size SetMetrologyModelImageSize SetMetrologyModelImageSize SetMetrologyModelImageSize set_metrology_model_image_size ,
set_metrology_model_param set_metrology_model_param SetMetrologyModelParam SetMetrologyModelParam SetMetrologyModelParam set_metrology_model_param
Nachfolger
align_metrology_model align_metrology_model AlignMetrologyModel AlignMetrologyModel AlignMetrologyModel align_metrology_model ,
apply_metrology_model apply_metrology_model ApplyMetrologyModel ApplyMetrologyModel ApplyMetrologyModel apply_metrology_model ,
set_metrology_model_param set_metrology_model_param SetMetrologyModelParam SetMetrologyModelParam SetMetrologyModelParam set_metrology_model_param
Siehe auch
get_metrology_object_model_contour get_metrology_object_model_contour GetMetrologyObjectModelContour GetMetrologyObjectModelContour GetMetrologyObjectModelContour get_metrology_object_model_contour
Modul
2D Metrology