set_sheet_of_light_param
— Setzen ausgewählter Parameter des Lichtschnitt-Modells.
set_sheet_of_light_param( : : SheetOfLightModelID, GenParamName, GenParamValue : )
Der Operator set_sheet_of_light_param
erlaubt es, ausgewählte
Parameter des Lichtschnitt-Modells zu setzen, um dieses an die gestellte
Messaufgabe anzupassen. Alle Modellparameter, außer die internen
Kameraparameter 'camera_parameter' und die folgenden Poses
'camera_pose' , 'lightplane_pose' und
'movement_pose' können ebenfalls mit Hilfe des Operators
create_sheet_of_light_model
gesetzt werden. Die aktuelle
Konfiguration kann mit Hilfe von get_sheet_of_light_param
ausgelesen
werden.
Es folgt eine Übersicht über die verschiedenen Modellparameter mit den jeweiligen Wertebereichen und Standardwerten:
Messung der Profile:
definiert die Methode anhand welcher die Position des Profils im Bild (Disparität) bestimmt wird. Die Werte 'default' und 'center_of_gravity' verweisen beide auf dieselbe Methode, bei welcher die Disparität spaltenweise und mit Subpixelgenauigkeit ermittelt wird, indem der Schwerpunkt der Grauwerte berechnet wird, die die folgende Bedingung erfüllen:
der kleinste Grauwert, der für die Berechnung der Position des Profils berücksichtigt wird (vgl. 'method' oben).
Wertevorschläge: 20, 50, 100, 128, 200, 220, 250
Default: 100
Anzahl der Profile für welche Speicher im Lichtschnitt-Modell reserviert wurde. Standardmäßig wird 'num_profiles' auf 512 gesetzt. Wird diese Anzahl an Profilen während einer Messung überschritten, so wird zusätzlicher Speicher automatisch reserviert. Da dieser Prozess jedoch etwas Zeit in Anspruch nimmt, wird empfohlen 'num_profiles' vor dem Start der Messung auf einen geeigneten Wert zu setzen.
Wertevorschläge: 1, 2, 50, 100, 512, 1024, 3000
Default: 512
Dieser Parameter legt fest, welcher gemessene Wert zurückgeliefert wird, wenn die Bestimmung der Position des Profils nicht eindeutig ist.
'first' : der erste gemessene Wert wird zurückgeliefert. Diese Methode ist die schnellste.
'last' : der letzte gemessene Wert wird zurückgeliefert.
'brightest' : die Helligkeit aller potentiellen Disparitätswerte wird berechnet, und die Disparität mit der höchsten Helligkeit wird zurückgeliefert. Die Helligkeit wird wie folgt berechnet: wobei die Grauwerte und n die Anzahl der Pixel darstellen, die zur Berechnung der Disparität berücksichtigt werden.
Default: 'first'
Dieser Parameter legt fest, ob Bewertungsmerkmale ('score'
) des
Disparitätsbildes berechnet werden sollen, und wenn ja, nach welchem
Kriterium.
'none' : es werden keine Bewertungmerkmale berechnet.
'width' : für jedes Pixel des Disparitätsbildes wird die lokale Breite des Profils als Bewertungsmerkmal zurückgeliefert.
'intensity' : für jedes Pixel des Disparitätsbildes wird als Bewertungsmerkmal die lokale Intensität des Profils zurückgeliefert. Diese wird wie folgt berechnet: wobei die Grauwerte und n die Anzahl der Pixel darstellen, die zur Berechnung der Disparität berücksichtigt werden.
Default: 'none'
Kalibrierung der Messung:
gibt an, ob und wenn ja welche Kalibriertransformationen auf das Disparitätsbild angewendet werden sollen:
'none' : es werden keine Kalibriertransformationen angewendet.
'xz' : es werden Kalibriertransformationen angewendet, die die geometrischen Eigenschaften des Messsystems (Kamera und Lichtlinienprojektor) berücksichtigen. Die Bewegung des Objekts während der Messung wird jedoch nicht berücksichtigt.
'xyz' : es werden Kalibriertransformationen angewendet, die sowohl die geometrischen Eigenschaften des Messsystems (Kamera und Lichtlinienprojektor) als auch die Bewegung des Objekts während der Messung berücksichtigen.
'offset_scale' : Ein vereinfachter Parametersatz um einen Aufbau manuell zu beschreiben. Es kann bereits mit Standardeinstellungen angewandt werden, bietet aber auch die Möglichkeit den Setup mit nur 6 Parameters zu konfigurieren. Drei der Parameter beschreiben eine anisotrope Skalierung: ('scale_x' ) beschreibt die Skalierung entlang der Spaltenrichtung des Bildes in die neue x-Achse, ('scale_y' ) beschreibt eine lineare Bewegung des Objekts zwischen zwei aufeinander folgenden Bildern und 'scale_z' beschreibt das Verhältnis der Disparität zur neuen z-Achse. Die übrigen drei Parameter beschreiben die Lage des neuen Zentrums relativ zum neuen Weltkoodinatensystem ('offset_x' , 'offset_y' , 'offset_z' ).
Default: 'none'
die internen Parameter der Kamera, die zur Durchführung der Messung
benutzt wurden. Diese Parameter werden benötigt, wenn
'calibration' auf 'xz' oder 'xyz' gesetzt
wurde. Soll mit calibrate_sheet_of_light
kalibriert werden,
wird dieser Parameter benutzt, um die Startparameter der Kamera zu
setzen.
die Beschreibungsdatei des 3D-Kalibrierkörpers für die
Kalibrierung mit calibrate_sheet_of_light
. Soll mit
calibrate_sheet_of_light
kalibriert werden, so muss hier
der Dateinamen des mit
create_sheet_of_light_calib_object
erzeugten
Kalibrierkörpers gesetzt werden.
die Pose die das Kamerakoordinatensystem in das Weltkoordinatensystem transformiert, also die Pose, mit der Punktkoordinaten vom Weltkoordinatensystem in das Kamerakoordinatensystem transformiert werden können. Diese Pose wird benötigt, wenn 'calibration' auf 'xz' oder 'xyz' gesetzt wurde.
Es ist zu beachten, dass das Weltkoordinatensystem implizit durch das Setzen von 'camera_pose' festgelegt wird.
die Pose die das Koordinatensystem der Lichtebene in das Weltkoordinatensystem transformiert, also die Pose, mit der Punktkoordinaten vom Weltkoordinatensystem in das Koordinatensystem der Lichtebene transformiert werden können. Mit dem Koordinatensystem der Lichtebene ist ein Koordinatensystem gemeint, dessen Ebene definiert durch z=0 mit der Lichtebene übereinstimmt, die der Lichtlinienprojektor im Raum erzeugt. Diese Pose wird benötigt, wenn 'calibration' auf 'xz' oder 'xyz' gesetzt wurde.
die Pose, die die Bewegung des Objekts relativ zum Messsystem während der Messung beschreibt. Diese Pose soll im Weltkoordinatensystem formuliert sein und wird benötigt, wenn 'calibration' auf 'xyz' gesetzt wurde.
dieser Parameter legt fest mit welchem Faktor die kalibrierten 3D-Koordinaten X, Y und Z skaliert werden. 'scale' muss als der Quotient Zieleinheit/Originaleinheit eingegeben werden. Die Originaleinheit wird durch das Kalibrierobjekt bestimmt, und ist Meter, wenn Sie eine Standardkalibrierplatte benutzen. Der Standardwert des Modellparameters 'scale' ist 1.0. Wenn die Originaleinheit Meter ist, kann 'scale' direkt mit der gewünschten Zieleinheit gesetzt werden, zum Beispiel mit 'm' ,'cm' ,'mm' , 'microns' , oder 'um' . Dieser Wert ist nur im Falle der Kalibriertransformationen 'offset_scale' , 'xz' oder 'xyz' relevant.
Wertevorschläge: 'm' ,'cm' ,'mm' , 'microns' ,'um' ,'1.0' ,0.01, 0.001, 1.0e-6
Default: 1.0
Dieser Wert definiert die Breite eines Pixels im 3D Raum. Dieser Wert ist nur im Falle der Kalibriertransformationen 'offset_scale' relevant.
Wertevorschläge: '1.0' ,0.01, 10.0, 1.0e-6
Der Standardwert für 'scale_x' ist 1.0.
Dieser Wert definiert die lineare Bewegung zwischen zwei Profilen. Dieser Wert ist nur im Falle der Kalibriertransformationen 'offset_scale' relevant.
Wertevorschläge: 1.0,0.01, 10.0, 1.0e-6
Der Standardwert für 'scale_y' ist 10.0.
Dieser Wert definiert die Höher von Disparitäten im 3D Raum. Dieser Wert ist nur im Falle der Kalibriertransformationen 'offset_scale' relevant.
Wertevorschläge: 1.0,0.01, 10.0, 1.0e-6
Der Standardwert für 'scale_z' ist 1.0.
Dieser Wert beschreibt die Verschiebung in x im 3D Raum. Dieser Wert ist nur im Falle der Kalibriertransformationen 'offset_scale' relevant.
Wertevorschläge: 1.0,0.0, -1.0, 1.0e-6
Der Standardwert für 'offset_x' ist 0.0.
Dieser Wert beschreibt die Verschiebung in y im 3D Raum. Dieser Wert ist nur im Falle der Kalibriertransformationen 'offset_scale' relevant.
Wertevorschläge: 1.0,0.0, -1.0, 1.0e-6
Der Standardwert für 'offset_y' ist 0.0.
Dieser Wert beschreibt die Verschiebung in z im 3D Raum. Dieser Wert ist nur im Falle der Kalibriertransformationen 'offset_scale' relevant.
Wertevorschläge: 1.0,0.0, -1.0, 1.0e-6
Der Standardwert für 'offset_z' ist 0.0.
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.
SheetOfLightModelID
(input_control, Zustand wird modifiziert) sheet_of_light_model →
(handle)
Handle des Lichtschnitt-Modells.
GenParamName
(input_control) attribute.name →
(string)
Name des einzustellenden Modellparameters.
Defaultwert: 'method'
Werteliste: 'ambiguity_solving' , 'calibration' , 'calibration_object' , 'camera_parameter' , 'camera_pose' , 'lightplane_pose' , 'method' , 'min_gray' , 'movement_pose' , 'num_profiles' , 'offset_x' , 'offset_y' , 'offset_z' , 'scale' , 'scale_x' , 'scale_y' , 'scale_z' , 'score_type'
GenParamValue
(input_control) attribute.value(-array) →
(string / integer / real)
Wert des einzustellenden Modellparameters.
Defaultwert: 'center_of_gravity'
Wertevorschläge: 'default' , 'center_of_gravity' , 'last' , 'first' , 'brightest' , 'none' , 'intensity' , 'width' , 'xz' , 'xyz' , 'offset_scale' , 'm' , 'cm' , 'mm' , 'um' , 'microns' , 1.0, 1e-2, 1e-3, 1e-6
set_sheet_of_light_param
liefert den Wert 2 (H_MSG_TRUE), falls die
übergebenen Parameter korrekt sind.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
get_sheet_of_light_param
,
measure_profile_sheet_of_light
,
apply_sheet_of_light_calibration
query_sheet_of_light_params
,
get_sheet_of_light_param
,
get_sheet_of_light_result
3D Metrology