| Operatoren |
gen_measure_arc — Vorbereitung der Extraktion geradliniger Kanten senkrecht zu einem Kreisringsegment.
gen_measure_arc( : : CenterRow, CenterCol, Radius, AngleStart, AngleExtent, AnnulusRadius, Width, Height, Interpolation : MeasureHandle)
gen_measure_arc bereitet die Extraktion geradliniger Kanten, die senkrecht zu einem Kreisringsegment liegen, vor. Mit Kreisring ist hier ein Kreisbogen mit zugehöriger Dicke gemeint. Der Mittelpunkt des Kreisbogens wird in den Parametern CenterRow und CenterCol übergeben, sein Radius in Radius, der Startwinkel in AngleStart und der Winkelbereich des Bogens relativ zum Startwinkel in AngleExtent. Falls AngleExtent > 0 wird ein Bogen entgegen dem Uhrzeigersinn erzeugt, ansonsten ein Bogen im Uhrzeigersinn. Der Radius des Rings, d.h. seine halbe Dicke, wird mit AnnulusRadius bestimmt.
Das Konzept der 1D-Vermessung ist bei der Einleitung zu Kapitel 1D-Vermessung beschrieben.
Der Algorithmus zur Kantenextraktion ist bei measure_pos beschrieben. Wie dort dargestellt, können verschiedene Arten der Interpolation zur Berechnung des Grauwertprofils verwendet werden. Mit Interpolation = 'nearest_neighbor' werden die Grauwerte bei der Messung durch den Grauwert des nächstgelegenen Pixels, d.h. durch konstante Interpolation, bestimmt. Für Interpolation = 'bilinear' wird bilineare Interpolation verwendet und für Interpolation = 'bicubic' bikubische Interpolation.
Um die eigentlichen Messungen möglichst schnell ausführen zu können, werden alle Berechnungen, die für mehrere Messungen verwendet werden können, schon im Operator gen_measure_arc ausgeführt. Hierzu wird eine optimierte Datenstruktur, ein sogenanntes Messobjekt, aufgebaut, das in MeasureHandle zurückgegeben wird. Die später bei der Messung verwendete Bildgröße muss in den Parametern Width und Height angegeben werden.
Der Systemparameter 'int_zooming' (siehe set_system) beeinflusst die Genauigkeit und Geschwindigkeit der Berechnung des Messobjekts. Falls 'int_zooming' auf 'true' gesetzt wird, werden die internen Berechnungen in Festkommaarithmetik durchgeführt, was zu wesentlich kürzeren Laufzeiten führt. Allerdings ist hier die geometrische Genauigkeit etwas geringer. Falls 'int_zooming' auf 'false' gesetzt wird, werden die internen Berechnungen in Gleitkommaarithmetik durchgeführt, was zur bestmöglichen geometrischen Genauigkeit führt, die Laufzeit allerdings signifikant erhöht.
Es ist zu beachten, dass bei Verwendung von bilinearer oder bikubischer Interpolation nicht nur das Messrechteck ins Bild passen muss, sondern auch ein Rand um das Messrechteck. Die Breite des Randes (in alle vier Richtungen) muss mindestens ein Pixel für bilineare Interpolation und mindestens zwei Pixel für bikubische Interpolation sein. Für Projektionslinien, die diese Bedingung nicht erfüllen, wird kein Grauwert berechnet. Somit kann an diesen Stellen auch keine Kante extrahiert werden.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Zeilenkoordinate des Mittelpunktes des Bogens.
Defaultwert: 100.0
Wertevorschläge: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
Typischer Wertebereich: 0.0 ≤ CenterRow ≤ 511.0 (lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Spaltenkoordinate des Mittelpunktes des Bogens.
Defaultwert: 100.0
Wertevorschläge: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
Typischer Wertebereich: 0.0 ≤ CenterCol ≤ 511.0 (lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Radius des Bogens.
Defaultwert: 50.0
Wertevorschläge: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
Typischer Wertebereich: 0.0 ≤ Radius ≤ 511.0 (lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Start des Bogens im Bogenmaß.
Defaultwert: 0.0
Wertevorschläge: -3.14159, -2.35619, -1.57080, -0.78540, 0.0, 0.78540, 1.57080, 2.35619, 3.14159
Typischer Wertebereich: -3.14159 ≤ AngleStart ≤ 3.14159 (lin)
Minimale Schrittweite: 0.03142
Empfohlene Schrittweite: 0.31416
Winkelausdehnung des Bogens im Bogenmaß.
Defaultwert: 6.28318
Wertevorschläge: -6.28318, -5.49779, -4.71239, -3.92699, -3.14159, -2.35619, -1.57080, -0.78540, 0.78540, 1.57080, 2.35619, 3.14159, 3.92699, 4.71239, 5.49779, 6.28318
Typischer Wertebereich: -6.28318 ≤ AngleExtent ≤ 6.28318 (lin)
Minimale Schrittweite: 0.03142
Empfohlene Schrittweite: 0.31416
Restriktion: AngleExtent != 0.0
Radius (halbe Breite) des Rings.
Defaultwert: 10.0
Wertevorschläge: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
Typischer Wertebereich: 0.0 ≤ AnnulusRadius ≤ 511.0 (lin)
Minimale Schrittweite: 1.0
Empfohlene Schrittweite: 10.0
Restriktion: AnnulusRadius <= Radius
Breite des später zu verarbeitenden Bildes.
Defaultwert: 512
Wertevorschläge: 128, 160, 192, 256, 320, 384, 512, 640, 768
Typischer Wertebereich: 0 ≤ Width ≤ 1024 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 16
Höhe des später zu verarbeitenden Bildes.
Defaultwert: 512
Wertevorschläge: 120, 128, 144, 240, 256, 288, 480, 512, 576
Typischer Wertebereich: 0 ≤ Height ≤ 1024 (lin)
Minimale Schrittweite: 1
Empfohlene Schrittweite: 16
Art der zu verwendenden Interpolation.
Defaultwert: 'nearest_neighbor'
Werteliste: 'bicubic', 'bilinear', 'nearest_neighbor'
Handle des Messobjekts.
Sind die Parameterwerte korrekt, dann liefert gen_measure_arc den Wert 2 (H_MSG_TRUE). Andernfalls wird eine Fehlerbehandlung durchgeführt.
measure_pos, measure_pairs, fuzzy_measure_pos, fuzzy_measure_pairs, fuzzy_measure_pairing
1D Metrology
| Operatoren |