fullseye

varmodel_alignment — SPC variation op

使い方

Translation offset of every good sample against the typical position of the stack, and the margin to the tolerance (table).

Each image of stack (n, H, W) is phase-correlated (filters_freq.phase_correlation_fft) against a reference built from the stack itself (the most typical sample, then the registered mean); the integer peak is refined to 1/20 px by an upsampled DFT (Guizar-Sicairos et al. 2008). Offsets are relative to the median offset, so a common shift of every sample is not a misalignment. Returns offset (n, 2) = (row, col) in px (positive = the sample sits further down / right than the typical one), abs_offset (n,) = the larger of the two, margin_px = max_misalign_px - abs_offset (negative = this sample breaks the tolerance), ok (all margins >= 0), worst (index of the most shifted sample) and psr (peak-to- sidelobe ratio of the correlation), shift_sd_px (Cramér–Rao lower bound of the offset’s spread: noise variance over the structural gradient energy of the registered mean; the window makes the real spread a few times larger) and observable. A featureless or pure-noise stack has no structure, so its offsets cannot be measured (observable=False, offsets reported as 0, shift_sd_px capped at the image size) — and for the same reason a shift cannot fatten its band, so such a stack is not refused.

Why it matters: a per-pixel spread learned from a misaligned stack is inflated wherever the image has gradient (edges), so the tolerance band gets fatter and real defects there are missed.

Raises ValueError on an empty stack, a stack that is not (n, H, W) / a list of equal 2-D images, non-finite values, or max_misalign_px <= 0.

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

msa_anova_table · msa_gauge_rr · msa_bias_linearity · msa_attribute_agreement · gum_standard_uncertainty · gum_propagate · gum_expanded · gum_monte_carlo

同カテゴリ(variation)

varmodel_band_k · varmodel_fit · varmodel_calibrate · varmodel_score


Provenance: varmodel.py — SPC operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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