score opvoxel × voxel → scoreimport fullseye as fs; fs.ledger.correlation_score(voxel_a, voxel_b) (実装を直接呼ぶなら import reprconv; reprconv.correlation_score(voxel_a, voxel_b)、台帳から引くなら opsreprconv.get("correlation_score"))2 つの voxel → 正規化相互相関の score volume。この型の唯一の入口。
score は refine_peak_newton が食う型だが、台帳のどの op も
score を産まなかった(実測。生成器の種を置いてようやく到達していた)。
ここでは FFT による循環相互相関を返す:
score[s] = sum_x (a[x] - mean_a) * (b[x + s] - mean_b) / (N * std_a * std_b)
したがって b が a を s0 だけ np.roll したものなら、
ピークは厳密に s0 に立つ(閉形式の真値。テストがこれを使う)。
循環相関なので端は巻き込む —— 打ち切り相関ではないことを明記しておく。
Args:
voxel_a: (D, H, W)。
voxel_b: (D, H, W)、voxel_a と同形。
Returns:
(D, H, W) float64、値域は概ね [-1, 1] (完全一致で 1.0)。
Raises:
ValueError: 3-D でない / 形が違う / 定数体積(標準偏差 0)/ 非有限。
py -3.11 examples/poc_leak_localization.pypy -3.11 examples/representation_conversion.pypy -3.11 examples/representation_roundtrip.pyscore を入力に取れる)score_to_position · score_to_image2d
score)score_to_position · score_to_image2d
Provenance: reprconv.py — REPRCONV operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.