gvf_field — SEGMENTATION contour op

• 資料種類:image2d → table

• 呼叫: import fullseye as fs; fs.ledger.gvf_field(image, *, mu: 'float' = 0.2, sigma: 'float' = 1.0, method: 'str' = 'direct', n_iter: 'int' = 2000, dt: 'Optional[float]' = None, edge_map=None) -> 'Dict[str, object]'(要直接呼叫實作,import segcontour; segcontour.gvf_field(image, *, mu: 'float' = 0.2, sigma: 'float' = 1.0, method: 'str' = 'direct', n_iter: 'int' = 2000, dt: 'Optional[float]' = None, edge_map=None) -> 'Dict[str, object]';從台帳取用則 opssegmentation.get("gvf_field"))

用法

梯度向量流(Xu–Prince 1998):把邊緣圖 f 的梯度平滑地擴散到遠離邊緣處的場 (u, v)(gvf_field)。

E = ∬ μ(u_x² + u_y² + v_x² + v_y²) + |∇f|² |(u, v) − ∇f|² 的最小化。Euler 方程 μ∇²u − (u − f_x)(f_x² + f_y²) = 0,μ∇²v − (v − f_y)(f_x² + f_y²) = 0(線性)。method="iterate" = 論文的時間演化 u ← u + Δt(μ∇²u − b(u − f_x)),b = |∇f|²(顯式,Δt ≤ 1/(4μ + max b))。method="direct" = 以稀疏矩陣直接求解同一個離散方程 (μL − diag b) u = −b f_x(穩態解本身)。邊緣圖 f 預設為把 |∇(G_σ * I)| 正規化到最大值 1 的結果(也可以用 edge_map 直接給出)。邊界為 Neumann。u = 行(x)方向的分量,v = 列(y)方向的分量。

回傳值: u / v、edge_map、fx / fy、residual_max(Euler 方程殘差的最大值)、residual_rel (殘差 / max(b |∇f|))、n_iter、method、mu。f 平坦時場為 0(殘差 0)。

詳細使用指南

• halcon_segmentation 族使用指南

背景知識指南(該運算子背後的物理與規範)

• active_contours_and_level_sets — 變分、主動輪廓與水平集 —— 哪種輪廓停在哪裡、保證什麼

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

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

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_active_contours — py -3.11 examples/poc_active_contours.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

class_ndim_norm

同類別(contour)

snake_evolve · chan_vese_energy · 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.