contour op• Data kinds: image2d × mask → table
• Call: import fullseye as fs; fs.ledger.morph_chan_vese(image, init, *, n_iter: 'int' = 100, smoothing: 'int' = 1, lambda1: 'float' = 1.0, lambda2: 'float' = 1.0, phase: 'int' = 0, record_every: 'int' = 0) -> 'Dict[str, object]' (implementation को सीधे call करना हो तो import segcontour; segcontour.morph_chan_vese(image, init, *, n_iter: 'int' = 100, smoothing: 'int' = 1, lambda1: 'float' = 1.0, lambda2: 'float' = 1.0, phase: 'int' = 0, record_every: 'int' = 0) -> 'Dict[str, object]', registry से लेना हो तो opssegmentation.get("morph_chan_vese"))
morphological Chan–Vese (Márquez-Neila–Baumela–Álvarez 2014 का MorphACWE)। 1 iteration = data चरण + smoothing चरण।
Data चरण: c1 = अंदर का mean, c0 = बाहर का mean, aux = |∇u|(λ1 (I − c1)² − λ2 (I − c0)²); aux < 0 वाले pixels अंदर, aux > 0 वाले बाहर (|∇u| ≠ 0 = केवल boundary के पास वाले हिलते हैं)। Smoothing चरण: curvature operator (SI∘IS और IS∘SI बारी-बारी) smoothing बार। phase = पहले इस्तेमाल होने वाला operator (0 = SI∘IS)। skimage का implementation बारी-बारी की phase को module की global state में रखता है, इसलिए एक ही input पर भी पिछली call के अनुसार परिणाम बदल सकता है — यहाँ हर call phase से शुरू होती है (deterministic)। fitting energy E_fit = λ1 Σ_in (I − c1)² + λ2 Σ_out (I − c0)² हर चरण के पहले और बाद में दर्ज की जाती है। Gate (exact): c स्थिर हो तो E_fit pixel-वार योग है, इसलिए data चरण में पलटा हर pixel E_fit को घटाता है (या बराबर रखता है), और उसके बाद c को mean पर update करने से यह और घटता है ⇒ data चरण के पहले और बाद E_fit monotonically non-increasing है (n_data_increase = 0)। smoothing चरण E_fit को बढ़ा सकता है (fit_after_smooth में measured)।
Returns: mask, fit_before_data / fit_after_data / fit_after_smooth (हर iteration), n_data_increase, history, n_iter, n_changed (हर iteration में बदले pixels की संख्या)।
• halcon_segmentation family guide
• active_contours_and_level_sets — Variational और active contours, level sets — कौन-सा contour कहाँ रुकता है, और वह क्या guarantee देता है
• 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 में दिए गए हैं।
• poc_active_contours — py -3.11 examples/poc_active_contours.py
table को input के रूप में लेते हैं)contour)snake_evolve · gvf_field · chan_vese_energy · chan_vese_evolve · morph_geodesic_ac · edge_stop_g · level_set_reinit · drle_evolve
*Provenance: segcontour.py — SEGMENTATION operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.