add_metrology_object_line_measure — MEASURE1D 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"))

Usage

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.

Detailed usage guide

• subpixel_measuring family guide

References (sample data, literature)

• 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.

Runnable examples (verified samples that actually call this op)

• poc_calipers_under_illusion — py -3.11 examples/poc_calipers_under_illusion.py

• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py

Ops the type connects to (they accept scalar as input)

—

Same category (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.