center_from_symmetric_edges — AOI symmetry op

• Data kinds: image2d → table

• Call: import fullseye as fs; fs.ledger.center_from_symmetric_edges(image, threshold=0.08, sigma=1.0, min_span=6.0, mad_z=3.5, diagonals=False) (to call the implementation directly, import symmetry2d; symmetry2d.center_from_symmetric_edges(image, threshold=0.08, sigma=1.0, min_span=6.0, mad_z=3.5, diagonals=False); from the registry, opsaoi.get("center_from_symmetric_edges"))

• GPU: none (CPU reference implementation only)

Usage

Robustly pools the midpoints of symmetric outer-edge pairs and returns a 2-D centre.

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

Parameters

image : array-like, shape (H, W)

グレー画像または region。各行・列のプロファイルを既存の

measuring1d.measure_pos でサブピクセル計測する。

threshold : float, default 0.08

エッジ振幅の下限。画像ダイナミックレンジに対する比で、範囲は (0, 1]。

sigma : float, default 1.0

1-D プロファイルを微分する前の Gaussian sigma [px]。範囲は [0, 10]。

min_span : float, default 6.0

採用する外側エッジ対の最小間隔 [px]。範囲は (0, min(H,W)]。

mad_z : float, default 3.5

中点を残す MAD 尺度。範囲は [1, 20]。

diagonals : bool, default False

True なら ±45 度の走査線も中心候補に加える。

Returns

dict

center=(row,col)、採用対数、MAD、走査方向別の中点を持つ table。

Notes

片側の欠けは少数の中点だけを動かすため面積重心より頑健だが、欠けのない滑らかな領域では全画素を使う重心の方が精密になり得る。対が 3 本未満、定数入力、対象が画像端で切れる場合は ValueError。内部模様の最外エッジが外形より強い場合や、欠けが走査線の半数を超える場合は頑健集約でも救えない。

Liu, Hel-Or, Kaplan and Van Gool, Computational Symmetry in Computer Vision and Computer Graphics, FnT CGV 5(1-2), 2010.

Detailed usage guide

• aoi_frontend 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_symmetry_self_reference_inspection — py -3.11 examples/poc_symmetry_self_reference_inspection.py

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

symmetry_difference_map · symmetry_score

Same category (symmetry)

reflection_axis · rotational_symmetry · symmetry_difference_map · symmetry_score


*Provenance: symmetry2d.py — AOI 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.