frame op• Data kinds: pairs → table
• Call: import fullseye as fs; fs.ledger.profile_chord_frame(contour) (to call the implementation directly, import profileops; profileops.profile_chord_frame(contour); from the registry, opsprofile.get("profile_chord_frame"))
• GPU: none (CPU reference implementation only)
Finds the chord (the 2 points farthest apart). Returns a dict.
Following airfoil convention, the 2 points farthest apart are taken as leading and trailing edge. Which one is the leading edge is decided by the one with the greater local thickness (girth) near that point; curvature is not used because it misclassifies a sharp trailing edge as the leading edge.
Returns:
dict: le / te (coordinates), le_index / te_index,
chord (length), angle_deg (direction of the chord).
• profile_metrology family guide
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• profile_frame_tour — py -3.11 examples/profile_frame_tour.py
• profile_shape_inspection — py -3.11 examples/profile_shape_inspection.py
table as input)—
frame)profile_normalise · profile_resample
*Provenance: profileops.py — PROFILE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.