chan_vese_energy — SEGMENTATION contour op

• 数据种类:image2d × mask → table

• 调用: 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]'(要直接调用实现,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]';从台账取用则 opssegmentation.get("chan_vese_energy"))

用法

Chan–Vese 2001 的能量 F = μ Length + ν Area(inside) + λ1 ∫_in |I − c1|² + λ2 ∫_out |I − c2|²(两相)(chan_vese_energy)。

phi 是 φ(内侧 φ < 0)或 bool 掩模(转换为符号距离)。正则化: 内侧的权重 H_ε(−φ)(论文的 arctan 版), 长度 = Σ δ_ε(φ) |Dφ|_η(前向差分,|Dφ|_η = √(D_x² + D_y² + η²))。c1 / c2 = 用 H_ε 加权的内 / 外的平均(式 (6)(7))。同一掩模的"锐利"版(energy_sharp)也一并返回: 长度 = 在 4 邻域中内外发生变化的边数,内外按 φ < 0 取 0/1。

返回值: energy、length、area、fit_inside / fit_outside、c1 / c2(用 H_ε 加权的平均 —— ε = 1 的 arctan 拖尾很长,所以即使是 2 值图像也会偏离 0/1)、energy_sharp、perimeter_sharp、c1_sharp / c2_sharp(按 φ < 0 的内外平均)。

详细使用指南

• halcon_segmentation 族使用指南

背景知识指南(该算子背后的物理与约定)

• active_contours_and_level_sets — 变分、主动轮廓与水平集 —— 哪种轮廓停在哪里、保证什么

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• (暂无)

类型可衔接的下一个算子(可接受 table 作为输入)

class_ndim_norm

同类别(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 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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