model op• Data kinds: metrologymodel → scalar
• Call: import fullseye as fs; fs.ledger.add_metrology_object_line_measure(model, row1, col1, row2, col2, n: 'int' = 25) -> 'int' (to call the implementation directly, import metrology; metrology.add_metrology_object_line_measure(model, row1, col1, row2, col2, n: 'int' = 25) -> 'int'; from the registry, opsmeasure1d.get("add_metrology_object_line_measure"))
Adds a line metrology object (add_metrology_object_line_measure). Returns the index.
Stacks the reference segment (row1, col1) → (row2, col2) [px] onto model["objects"] (the dict is updated in place). apply_metrology_model places n points on this segment at equal spacing (both ends included), from each point stretches a short measuring line along the normal of the segment, searches for the sub-pixel edge, and refits a straight line to the found points by least squares.
• n: number of sample points (default 25). More points make the fit more stable, but the measuring time is proportional.
• A segment whose end points coincide (length < 1e-9) can be stacked, but at apply time 0 samples → treated as a failed fit and returned with params=None, rms=inf (no exception).
• Argument types and ranges are not validated here (coordinates outside the image can be stacked too; at apply time they are only extrapolated by nearest neighbour, no exception is raised).
• Returns: index of the added object (starting at 0). At the same position in the result list of apply is the result with type="line" (row1/col1/row2/col2/angle_deg).
When translating with align_metrology_model, both end points move together.
• subpixel_measuring 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.
• poc_calipers_under_illusion — py -3.11 examples/poc_calipers_under_illusion.py
• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py
scalar as input)—
model)create_metrology_model · add_metrology_object_circle_measure · add_metrology_object_rectangle2_measure · add_metrology_object_ellipse_measure · add_metrology_object_generic
*Provenance: metrology.py — MEASURE1D 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.