model op• Data kinds: simmodel × images → simmodel
• Call: import fullseye as fs; fs.ledger.simcal_observe(model=None, images=None, roi=None, align=False, exposure=None, max_shift=8, split='train') -> 'dict' (to call the implementation directly, import simcal; simcal.simcal_observe(model=None, images=None, roi=None, align=False, exposure=None, max_shift=8, split='train') -> 'dict'; from the registry, opssimcal.get("simcal_observe"))
Attach measured images to a simmodel: alignment, region of interest and exposure normalisation.
images — one 2-D array per condition (shape = what the model outputs). align=True registers each image to the simulation at the initial knobs by phase correlation (filters_freq.phase_correlation_fft, integer pixels), shifts it back and masks the wrapped border; a shift larger than max_shift is refused. roi = boolean mask or (row0, row1, col0, col1). exposure = a factor per image to divide by (the noise variance is divided by its square) — refused when the model has a free gain knob: the two scale the same signal. split labels the data train / holdout / locked (the TRAIN / OBSERVED / LOCKED discipline of robust.py). Returns a new simmodel with observed filled (the input is not modified), including data_range.
• sim_to_real_calibration family guide
• 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_pocket_interreflection — py -3.11 examples/poc_pocket_interreflection.py
• poc_simcal_thin_film — py -3.11 examples/poc_simcal_thin_film.py
• simcal_checks_tour — py -3.11 examples/simcal_checks_tour.py
• simcal_tour — py -3.11 examples/simcal_tour.py
simmodel as input)simcal_simulate · simcal_screen · simcal_fit · simcal_validate
model)simcal_model · simcal_simulate
*Provenance: simcal.py — SIMCAL 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.