capture_degrade — SYMBOL symbol_capture op

• Data kinds: image2d → image2d

• Call: import fullseye as fs; fs.ledger.capture_degrade(image, *, defocus_px=0.0, motion_px=0.0, motion_deg=0.0, gauss_px=0.0, illum_slope=0.0, illum_deg=0.0, vignette=0.0, exposure=1.0, full_well_e=None, read_noise_e=0.0, bits=None, seed=0) (implementation को सीधे call करना हो तो import symrender; symrender.capture_degrade(image, *, defocus_px=0.0, motion_px=0.0, motion_deg=0.0, gauss_px=0.0, illum_slope=0.0, illum_deg=0.0, vignette=0.0, exposure=1.0, full_well_e=None, read_noise_e=0.0, bits=None, seed=0), registry से लेना हो तो opssymbol.get("capture_degrade"))

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

उपयोग

reflectance image पर capture degradation (illumination, blur, sensor noise) लगाता है (image2d)।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

Apply the capture chain to a reflectance image, in physical order:

1. illumination: E = exposure · (1 + illum_slope · s) · (1 − vignette · ρ²) with s in [−0.5, 0.5] across the image along illum_deg and ρ = radius / half diagonal (so illum_slope = 0.4 means 40 % more light on one side than the other);

2. lens: defocus as a uniform disc of diameter defocus_px (the geometric blur circle c = A·|Δz|/z' in pixels), uniform motion over motion_px along motion_deg, and a Gaussian of standard deviation gauss_px (residual aberrations / diffraction), each area-integrated, borders replicated;

3. sensor (only if full_well_e is given): the irradiance 1.0 fills full_well_e electrons; Poisson shot noise, Gaussian read noise read_noise_e (electrons), saturation at full well, and bits-bit quantisation if given. Output = electrons / full_well_e, in [0, 1].

Deterministic for a given seed. Without full_well_e the result is noise-free (read_noise_e must then be 0).

空の入力(辺が 0)は ValueError。拒否(ValueError): 2-D でない、非有限、負のぼけ量、|illum_slope| >= 2、vignette が [0, 1) の外、full_well_e < 10、read_noise_e < 0 または full_well_e 無しで > 0、bits が 1..16 の外。

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

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

• poc_symbol_package_1d — py -3.11 examples/poc_symbol_package_1d.py

• poc_symbol_part_dpm — py -3.11 examples/poc_symbol_part_dpm.py

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

barcode_scan_profiles · read_barcode1d · qr_locate · qr_sample · qr_read · dm_locate · dm_sample · dm_read

इसी category के (symbol_capture)

render_symbol


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

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