alpha_expansion — SEGMENTATION graph op

• Data kinds: image2d → table

• Call: import fullseye as fs; fs.ledger.alpha_expansion(image, means: 'Optional[Sequence[float]]' = None, *, lam: 'float' = 1.0, pairwise: 'str' = 'potts', truncation: 'float' = 2.0, connectivity: 'int' = 4, max_cycles: 'int' = 10, init=None) -> 'Dict[str, object]' (implementation को सीधे call करना हो तो import seggraph; seggraph.alpha_expansion(image, means: 'Optional[Sequence[float]]' = None, *, lam: 'float' = 1.0, pairwise: 'str' = 'potts', truncation: 'float' = 2.0, connectivity: 'int' = 4, max_cycles: 'int' = 10, init=None) -> 'Dict[str, object]', registry से लेना हो तो opssegmentation.get("alpha_expansion"))

उपयोग

multi-label α-expansion (Boykov–Veksler–Zabih 2001): E(f) = Σ (I_p − μ_(f_p))² + λ Σ w_pq V(f_p, f_q), V एक metric है।

means = हर label का mean μ_1..μ_L (L ≥ 2; छोड़ने पर pixel values के 1/6, 1/2 और 5/6 quantiles पर 3 labels)। V "potts" ([α ≠ β], c = 1) या "truncated_linear" है (min(|α − β|, T); T ≥ 1 हो तो metric, c = min(L − 1, T))। 1 चक्र = α = 1..L के लिए क्रम से expansion। हर move को 2-valued graph cut से exact हल किया जाता है, और केवल तब स्वीकार किया जाता है जब energy सख़्ती से घटे। 1 चक्र में 1 बार भी स्वीकार न हो तो रुक जाता है (paper जैसा)। लौटाता है: labels (1..L), energy, energies (स्वीकृतियों का क्रम, monotonically decreasing), move_minima (हर move की 2-valued समस्या का minimum, वर्तमान मान से कम या बराबर = gate), c, bound_factor = 2c (Theorem 6.1: E(f̂) ≤ 2c E(f*))।

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

• halcon_segmentation family guide

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• graph_hierarchy_and_thresholds — Graph, hierarchy और threshold theorems से segmentation — क्या exact है, और partition कहाँ टूटता है

संदर्भ (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_graph_hierarchy_segmentation — py -3.11 examples/poc_graph_hierarchy_segmentation.py

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

class_ndim_norm

इसी category के (graph)

graph_cut_binary · statistical_region_merging · max_tree · area_opening_attr · quasi_flat_zones · alpha_tree · hierarchical_watershed · ultrametric_contour_map


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

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