measure op• Data kinds: pairs → measurement
• Call: import fullseye as fs; fs.ledger.profile_leading_edge_radius(contour, frac=0.001, n_fit=24) (to call the implementation directly, import profileops; profileops.profile_leading_edge_radius(contour, frac=0.001, n_fit=24); from the registry, opsprofile.get("profile_leading_edge_radius"))
Leading-edge radius (as a fraction of the chord). Fits a circle to the points near the leading edge.
frac is how far along the chord from the leading edge counts as "near the leading edge". This value changes the answer. The nose is a circle, but a little away from it the shape is not a circle, so widening the window makes the result systematically too large. Measured against the NACA 4-digit closed form 1.1019 * t^2 (generated with 4001 points):
=========== ========== ========== ========== ==========
frac NACA 0012 NACA 2412 NACA 0021 NACA 0008
=========== ========== ========== ========== ==========
closed form 0.01587 0.01587 0.04859 0.00705
0.001 0.01590 0.01594 0.04780 0.00730
0.005 0.01708 0.01716 0.04801 0.00870
0.01 0.01872 0.01880 0.04897 0.01042
0.03 0.02517 0.02526 0.05412 0.01688
=========== ========== ========== ========== ==========
★ The default is 0.001. At first 0.03 was the default, and it returned 1.6 times the closed-form value (writing "within 1 %" in the docstring was a guess made before checking). Thicker airfoils (0021) are blunter, so the window matters less; thinner airfoils (0008) are more sensitive.
On contours with sparse points, like real data, fewer than 5 points may fall inside this window -- in that case it automatically resamples to equal arc length before fitting.
• 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_shape_inspection — py -3.11 examples/profile_shape_inspection.py
measurement as input)—
measure)profile_sides · profile_thickness · profile_camber · profile_trailing_edge_gap
*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.