measure_pos — MEASURE1D caliper op

• Data kinds: image2d × measurehandle → table

• Call: import fullseye as fs; fs.ledger.measure_pos(image, measure, sigma=1.0, threshold=0.1, transition='all') (implementation को सीधे call करना हो तो import measuring1d; measuring1d.measure_pos(image, measure, sigma=1.0, threshold=0.1, transition='all'), registry से लेना हो तो opsmeasure1d.get("measure_pos"))

• HALCON समकक्ष: measure_pos (अर्थ और parameters समझने के लिए HALCON reference उपयोगी है)

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

measurement line पर edge की position (subpixel) और amplitude निकालता है (measure_pos)।

हर edge: pos (sample index, rectangle में शुरुआती point से px) / dist (शुरुआती point से दूरी [px]) / row, col / amplitude (signed grey अंतर) / polarity ("positive" = measuring दिशा में उजला होता है)। threshold |amplitude| की निचली सीमा है, transition "all" / "positive" / "negative" है।

खाली इनपुट (image में 0 तत्व) पर ValueError उठता है। ★input की जाँच (2026-11-09): non-finite pixels (NaN/inf) वाली image पर ValueError (edge से 1 pixel आगे का NaN edge को चुपचाप गायब कर देता था, और दूर होने पर चुपचाप निकल जाता था)। sigma < 0 पर भी ValueError (sigma = 0 का अर्थ smoothing नहीं; negative value पहले चुपचाप 0 जैसा काम करता था)। measure line के points (rows/cols) image [-0.5, H-0.5] × [-0.5, W-0.5] से बाहर जाएँ तो RuntimeWarning (बाहर nearest pixel से extrapolation है, यानी जो दिखता नहीं उसे मापा जा रहा है); सब बाहर हों तो ValueError (return value list है, इसलिए flag लौटाया नहीं जा सकता)। सही input के परिणाम नहीं बदलते।

उपयोग की विस्तृत guide

• subpixel_measuring family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_barcode_1d — py -3.11 examples/poc_barcode_1d.py

• poc_battery_electrode_breathing — py -3.11 examples/poc_battery_electrode_breathing.py

• poc_calipers_under_illusion — py -3.11 examples/poc_calipers_under_illusion.py

• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py

• poc_screw_thread_metrology — py -3.11 examples/poc_screw_thread_metrology.py

• poc_solar_limb_darkening — py -3.11 examples/poc_solar_limb_darkening.py

• poc_telecentric_metrology — py -3.11 examples/poc_telecentric_metrology.py

• poc_tree_ring_dendro — py -3.11 examples/poc_tree_ring_dendro.py

• poc_water_level — py -3.11 examples/poc_water_level.py

• poc_weld_bead_profile — py -3.11 examples/poc_weld_bead_profile.py

• poc_weld_radiograph_porosity — py -3.11 examples/poc_weld_radiograph_porosity.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

table_px_to_mm

इसी category के (caliper)

gen_measure_rectangle2 · gen_measure_arc · translate_measure · measure_pairs · fuzzy_measure_pairing


*Provenance: measuring1d.py — MEASURE1D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.