scale op• Data kinds: measurement → measurement
• Call: import fullseye as fs; fs.ledger.mm_per_px_from_reference(measured_px, known_mm) (to call the implementation directly, import measuring1d; measuring1d.mm_per_px_from_reference(measured_px, known_mm); from the registry, opsmeasure1d.get("mm_per_px_from_reference"))
Derives the pixel pitch in mm/px from a target of known size (scale bar, reference hole, gauge) — the calibration step.
mm_per_px = known_mm / measured_px. Pass as measured_px a value that an op of this family actually measured with the same optics at the same working distance (width from measure_pairs, twice the radius from apply_metrology_model, …). If you set it from a drawing value or the nominal magnification, a 10 % error in working distance shifts every dimension by 10 %.
• measured_px, known_mm: finite positive scalars (anything else raises ValueError).
• Returns: mm/px (float, measurement sort). Pass it to pixel_to_world / table_px_to_mm.
• Under perspective (oblique views) mm/px varies from place to place. This op assumes a fronto-parallel view with constant magnification, returns a single value and does not check that assumption.
• 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.
• example_inner_diameter_mm — py -3.11 examples/example_inner_diameter_mm.py
• example_scratch_width — py -3.11 examples/example_scratch_width.py
measurement as input)scale)pixel_to_world · table_px_to_mm
*Provenance: measuring1d.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.