chan_vese_energy — SEGMENTATION contour op

• Data kinds: image2d × mask → table

• Call: import fullseye as fs; fs.ledger.chan_vese_energy(image, phi, *, mu: 'float' = 0.1, nu: 'float' = 0.0, lambda1: 'float' = 1.0, lambda2: 'float' = 1.0, eps: 'float' = 1.0, eta: 'float' = 0.1) -> 'Dict[str, float]' (implementation को सीधे call करना हो तो import segcontour; segcontour.chan_vese_energy(image, phi, *, mu: 'float' = 0.1, nu: 'float' = 0.0, lambda1: 'float' = 1.0, lambda2: 'float' = 1.0, eps: 'float' = 1.0, eta: 'float' = 0.1) -> 'Dict[str, float]', registry से लेना हो तो opssegmentation.get("chan_vese_energy"))

उपयोग

Chan–Vese 2001 की energy F = μ Length + ν Area(inside) + λ1 ∫_in |I − c1|² + λ2 ∫_out |I − c2|² (2-phase)।

phi φ (अंदर φ < 0) या bool mask है (signed distance में बदला जाता है)। Regularisation: अंदर का weight H_ε(−φ) (paper का arctan version), लंबाई = Σ δ_ε(φ) |Dφ|_η (forward differences, |Dφ|_η = √(D_x² + D_y² + η²))। c1 / c2 = H_ε से weighted अंदर / बाहर का mean (equation (6)(7))। उसी mask का "sharp" version (energy_sharp) भी लौटाया जाता है: लंबाई = 4-neighbourhood में अंदर-बाहर बदलने वाले edges की संख्या, अंदर-बाहर φ < 0 से 0/1।

Returns: energy, length, area, fit_inside / fit_outside, c1 / c2 (H_ε से weighted mean — ε = 1 वाले arctan की tail लंबी होती है, इसलिए 2-valued image में भी ये 0/1 से हट जाते हैं), energy_sharp, perimeter_sharp, c1_sharp / c2_sharp (φ < 0 से अंदर-बाहर का mean)।

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

• halcon_segmentation family guide

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

• active_contours_and_level_sets — Variational और active contours, level sets — कौन-सा contour कहाँ रुकता है, और वह क्या guarantee देता है

संदर्भ (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 करते हैं)

• (अभी कुछ नहीं)

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

class_ndim_norm

इसी category के (contour)

snake_evolve · gvf_field · chan_vese_evolve · morph_chan_vese · 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.