ocr_read_trials — SYMBOL ocr op

• Data kinds: table → table

• Call: import fullseye as fs; fs.ledger.ocr_read_trials(text, factor, levels, *, model, font=None, char_height_px=24.0, trials=20, render=None, capture=None, level_jitter=0.0, refine=False, seed=0) (to call the implementation directly, import symbolpod; symbolpod.ocr_read_trials(text, factor, levels, *, model, font=None, char_height_px=24.0, trials=20, render=None, capture=None, level_jitter=0.0, refine=False, seed=0); from the registry, opssymbol.get("ocr_read_trials"))

• GPU: none (CPU reference implementation only)

Usage

Capture a printed string trials times at each degradation level, read it by OCR and return one row per attempt (table).

> The detailed description below is the original text — the summary and the headings are translated.

Legibility trials for classical OCR: render text with the built-in font (ocrclassic.ocr_render_text; font defaults to the model's font), apply the capture chain (symrender.capture_degrade, sensor 20000 e / 10 e / 8 bit by default) with the swept factor (OCR_FACTORS), and read the line with ocrclassic.ocr_read_line. Each trial draws a fresh sub-pixel offset of the line and a sensor-noise seed. Outcomes per capture: hit = the whole string read exactly, misread = at least one character read as a *different* character (substituted or inserted, per ocrclassic.ocr_score) — the dangerous case, never folded into the read rate —, noread = otherwise (rejects ? or missing characters only). The table has the same columns as symbol_read_trials (plus rejected_chars / substituted_chars) so symbol_read_pod fits it. refine and level_jitter work as in symbol_read_trials.

空の入力(text == "" / levels が 3 未満)は ValueError。拒否(ValueError): 未知の factor、trials < 1、水準の重複・非有限、字種の外の文字、render / capture に掃引中の因子と同じ鍵、level_jitter が [0, 0.5] の外、OCR の模型でない model。

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_lot_ocr — py -3.11 examples/poc_symbol_lot_ocr.py

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

render_symbol · symbol_read_trials · symbol_read_pod · ocr_classify · ocr_read_line

Same category (ocr)

ocr_font · ocr_render_text · ocr_segment_line · ocr_features · ocr_train · ocr_classify · ocr_read_line · ocr_score


*Provenance: symbolpod.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.