read_pod optable → tableimport fullseye as fs; fs.ledger.symbol_read_trials(symbol, factor, levels, *, trials=20, reader='auto', symbologies=None, truth=None, module_px=4.0, render=None, capture=None, rotate='random', rotate_jitter_deg=5.0, level_jitter=0.0, refine=False, seed=0) (実装を直接呼ぶなら import symbolpod; symbolpod.symbol_read_trials(symbol, factor, levels, *, trials=20, reader='auto', symbologies=None, truth=None, module_px=4.0, render=None, capture=None, rotate='random', rotate_jitter_deg=5.0, level_jitter=0.0, refine=False, seed=0)、台帳から引くなら opssymbol.get("symbol_read_trials"))劣化量の各水準でシンボルを trials 回撮って読み、1 行 = 1 回の結果の表を返す(table)。
For each level of the degradation factor (see :data:DEGRADATION_FACTORS),
render the symbol (:func:symrender.render_symbol), capture it
(:func:symrender.capture_degrade) and read it (:func:symbol_read), trials
times with fresh nuisance: in-plane rotation (rotate="random": uniform over
360° for 2-D symbols, ±rotate_jitter_deg around 0 for 1-D; a number fixes it),
a sub-pixel offset in [0, 1) px and the sensor-noise seed. For a 1-D table the
reader is restricted to the table’s own symbology unless symbologies is given
(a line reader enables only what it expects; all-symbology reading short-reads). render / capture
hold the fixed settings of the other knobs; the sensor defaults to
full_well_e = 20000, read_noise_e = 10, 8 bits. truth defaults to the
table’s text.
Returns columns level, trial, hit (1 = read the true text), misread
(1 = read a different text), noread, text (object array), plus
factor, worse_when_larger, truth, reader, stage.
level_jitter (relative, default 0) multiplies each trial’s actual level by
1 + level_jitter · N(0, 1) while the table keeps the nominal level — the
process variation of the line (e.g. part height moving the focus). It is a
declared assumption, not a fit knob.
refine=True first runs every level with max(4, trials // 4) trials, brackets
the transition (the last level read >= 95 % and the first read <= 5 %, in the order of
increasing degradation) and then runs len(levels) evenly spaced levels across
that bracket with trials each (stage = "coarse" / "fine"; both enter
the table). Without it a coarse sweep easily ends in complete separation.
空の入力(levels が 3 未満)は ValueError。
拒否(ValueError): 未知の factor、trials < 1、水準の重複・非有限、
render / capture に掃引中の因子と同じ鍵、読み取り器を決められない表。
py -3.11 examples/poc_symbol_package_1d.pypy -3.11 examples/poc_symbol_part_dpm.pytable を入力に取れる)render_symbol · symbol_read_pod · ocr_classify · ocr_read_line · ocr_read_trials
read_pod)Provenance: symbolpod.py — SYMBOL operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.