model op• Data kinds: metrologymodel → scalar
• Call: import fullseye as fs; fs.ledger.add_metrology_object_rectangle2_measure(model, row, col, phi, l1, l2, n: 'int' = 40) -> 'int' (to call the implementation directly, import metrology; metrology.add_metrology_object_rectangle2_measure(model, row, col, phi, l1, l2, n: 'int' = 40) -> 'int'; from the registry, opsmeasure1d.get("add_metrology_object_rectangle2_measure"))
Adds a rectangle metrology object (add_metrology_object_rectangle2_measure). phi = orientation of the l1 side (from the col axis, in radians), l1/l2 = half side lengths.
Stacks the reference rectangle (centre (row, col) [px], half side length l1 in the phi direction, and half side length l2 in the orthogonal direction) onto model["objects"] (the dict is updated in place). apply_metrology_model places max(2, n // 4) points on each of the 4 sides at equal spacing, avoiding the corners, measures edges along the outward normal of each side, and with a rectangle fit recomputes the centre, orientation and half side lengths.
• phi: radians measured from the col axis (x) toward the row axis (image downward) (same convention as gen_measure_rectangle2).
• l1, l2: half side lengths [px] (not full lengths).
• n: guideline for the total number of samples (default 40 → 10 points per side). Even below 4, 2 points per side are placed.
• Arguments are not validated. The return value is the index of the added position (starting at 0).
• params of the apply result is row / col / phi / l1 / l2, and after refitting they are reordered so that l1 >= l2 (the long side is l1) -- even if the reference gives l1 < l2, the resulting phi is the orientation of the long side.
• 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_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py
scalar as input)—
model)create_metrology_model · add_metrology_object_line_measure · add_metrology_object_circle_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.