barcode1d op• Data kinds: signal → table
• Call: import fullseye as fs; fs.ledger.decode_barcode_profile(profile, symbologies=None, *, threshold=None, itf_min_length=6) (to call the implementation directly, import barcode1d; barcode1d.decode_barcode_profile(profile, symbologies=None, *, threshold=None, itf_min_length=6); from the registry, opssymbol.get("decode_barcode_profile"))
• GPU: none (CPU reference implementation only)
Decode one symbol from a single scan line (a 1-D reflectance profile) (table).
> The detailed description below is the original text — the summary and the headings are translated.
Decode one symbol from a scan reflectance profile (1-D, bars dark). The global threshold is (max + min) / 2 of the profile unless given (the same threshold the print-quality grade uses). Elements come from sub-sample threshold crossings; every run of bar-first elements flanked by light zones at least 5 X wide (X estimated from the candidate itself) is tried with each symbology, in both scan directions. Returns symbology, text, margins (per character decode margin in [0, 1]: 1 = element sums exactly on the module grid, 0 = on the decision boundary), reversed (read right-to-left), x_dim (estimated module width in samples), start / stop (sample positions of the first bar's leading edge and the last bar's trailing edge) and threshold.
限界 / limits: 1 本の走査線に 1 シンボル(最初に一致したもの)。静寂域が 5 X より狭いと探さない。Code 128 の FNC2-4・シフト・コード A の制御文字は読まない。
★ITF は検査数字を持たず、ぼけた他のシンボルの一部が短い ITF に化ける(短読み、short read)。itf_min_length(既定 6 桁)未満の ITF は返さない。実測: EAN-13 をデフォーカスで壊すと、全体系を許した読み取りは 2 桁の ITF などを誤読として返した(tests/test_barcode1d.py)。現場の読み取り器と同じく、symbologies は使う体系だけに絞ること。ITF has no check digit; fragments of a blurred symbol decode as short ITF. ITF reads shorter than itf_min_length are refused; restrict symbologies to what the line uses.
空の入力は ValueError(16 標本未満は「シンボルを含めない」)。拒否(ValueError): 1-D でない、非有限、未知の体系名。どの体系とも一致しなければ Barcode1DError(ValueError の派生)—— 誤読より読み取り不能を選ぶ (検査数字・開始停止・ガードの照合を全部通ったものだけ返す)。
• 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_symbol_package_1d — py -3.11 examples/poc_symbol_package_1d.py
table as input)render_symbol · symbol_read_trials · symbol_read_pod · ocr_classify · ocr_read_line · ocr_read_trials
barcode1d)encode_barcode1d · ean_check_digit · barcode_scan_profiles · read_barcode1d
*Provenance: barcode1d.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.