japan op• Datenarten: table → table
• Aufruf: import fullseye as fs; fs.ledger.osm_road_loops(roadmask: 'dict', *, tolerance_px: 'float' = 0.75) -> 'Dict[str, object]' (die Implementierung direkt: import drivejapan; drivejapan.osm_road_loops(roadmask: 'dict', *, tolerance_px: 'float' = 0.75) -> 'Dict[str, object]'; aus dem Register: opsdrive.get("osm_road_loops"))
Randschleifen der Vereinigung der Straßen. Sie werden in äußere Schleifen (Straßenränder) und Löcher (Häuserblöcke) aufgeteilt und mit Douglas–Peucker ausgedünnt.
Die Verfolgung läuft entlang der Pixelkanten (contours_xld._trace_mask_boundaries), daher gilt exakt: Summe der Schleifenflächen vor dem Ausdünnen = Pixelanzahl × step² (außen − Löcher) (area_check). Ob Loch oder außen, entscheidet, ob das Pixel unmittelbar rechts der am weitesten links liegenden senkrechten Kante der Schleife Straße ist. Rückgabewert {"outer": [(K,2) xy], "holes": [(K,2) xy], "outer_raw", "holes_raw", "area_check": {"loops_m2", "pixels_m2", "abs_err"}}.
Leere Eingabe (roadmask ist ein leeres dict) löst ValueError aus.
• 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.
• poc_driving_japan_town — py -3.11 examples/poc_driving_japan_town.py
table als Eingabe)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
japan)osm_synthetic · osm_parse · osm_road_graph · osm_road_mask · osm_route · japan_world · japan_stats · latlon_to_local
*Provenance: drivejapan.py — DRIVE 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.