dm_sample — SYMBOL datacode2d op

• Data kinds: image2d → table

• Call: import fullseye as fs; fs.ledger.dm_sample(image, located=None) -> 'dict' (to call the implementation directly, import dmsym; dmsym.dm_sample(image, located=None) -> 'dict'; from the registry, opssymbol.get("dm_sample"))

• GPU: none (CPU reference implementation only)

Usage

Sample the reflectance at Data Matrix module centres by bilinear interpolation and binarise with a global threshold (table).

Sample every module centre (bilinear) through the located homography and threshold globally at the midpoint of the dark and light means (initial split at the midpoint of the 5th/95th percentiles, then two mean-midpoint updates).

Returns reflectance (R, C), modules (R, C) uint8 dark = 1, threshold, homography, centers (R, C, 2) px (row, col).

Detailed usage guide

• symbol_reading 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_symbol_part_dpm — py -3.11 examples/poc_symbol_part_dpm.py

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

render_symbol · symbol_read_trials · symbol_read_pod · ocr_classify · ocr_read_line · ocr_read_trials

Same category (datacode2d)

qr_encode · qr_decode_modules · qr_locate · qr_sample · qr_read · dm_encode · dm_decode_modules · dm_locate


*Provenance: dmsym.py — SYMBOL 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.