gen_measure_arc — MEASURE1D caliper op

• Datenarten: keine → measurehandle (ein Operator, der allein durch seine Argumente bestimmt ist — er nimmt kein Bild und keine Daten entgegen)

• Aufruf: import fullseye as fs; fs.ledger.gen_measure_arc(center_row, center_col, radius, angle_start, angle_extent, width, shape) (die Implementierung direkt: import measuring1d; measuring1d.gen_measure_arc(center_row, center_col, radius, angle_start, angle_extent, width, shape); aus dem Register: opsmeasure1d.get("gen_measure_arc"))

Verwendung

Definiert einen Messbogen (das Profil wird in Umfangsrichtung im Abstand von ≈1 px abgetastet) (gen_measure_arc). Anzahl der Abtastwerte n = round(|angle_extent|*radius)+1, spacing = Bogenlänge/(n-1).

Die Abtastpunkte auf dem Bogen sind row = center_row + radius sin(θ), col = center_col + radius cos(θ), θ = angle_start + linspace(0, angle_extent, n). Winkel sind in Radiant, und die Drehrichtung von der col-Achse (x) zur row-Achse (Bild nach unten) ist positiv. Ist angle_extent negativ, geht es andersherum, und pos / dist von measure_pos werden entlang dieser Laufrichtung gezählt.

• radius: [px]. Da n = max(2, round(|angle_extent| * radius) + 1), ergeben zu kleiner Radius oder Winkelbereich 2 Abtastpunkte, und spacing wird zur Bogenlänge selbst. radius = 0 ergibt spacing = 0 und bricht die nachgelagerte Ableitung (hier nicht validiert).

• width: Mittelungsbreite quer (entlang der Normalen) [px]. Wird auf int abgeschnitten; bei 1 oder weniger keine Mittelung.

• shape: (H, W) des Bildes. Wird nur im dict gespeichert; Punkte außerhalb werden auf der Seite von measure_pos per nächstem Nachbarn extrapoliert (keine Ausnahme).

• Rückgabewert: ein dict {"type": "arc", "rows", "cols", "width", "shape", "spacing", "center", "radius", "angles"} (Typ measurehandle).

An measure_pos / measure_pairs / fuzzy_measure_pairing übergeben. Für eine Gerade gen_measure_rectangle2. Nach der Positionierung mit translate_measure verschieben.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie subpixel_measuring

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py

Typkompatible Folge-Operatoren (nehmen measurehandle als Eingabe)

translate_measure · measure_pos · measure_pairs · fuzzy_measure_pairing

Gleiche Kategorie (caliper)

gen_measure_rectangle2 · translate_measure · measure_pos · measure_pairs · fuzzy_measure_pairing


*Provenance: measuring1d.py — MEASURE1D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.