level_set_reinit — SEGMENTATION contour op

• 資料種類:mask → table

• 呼叫: import fullseye as fs; fs.ledger.level_set_reinit(phi, *, method: 'str' = 'sussman', n_iter: 'int' = 100, dt: 'float' = 0.5, band: 'float' = 3.0) -> 'Dict[str, object]'(要直接呼叫實作,import segcontour; segcontour.level_set_reinit(phi, *, method: 'str' = 'sussman', n_iter: 'int' = 100, dt: 'float' = 0.5, band: 'float' = 3.0) -> 'Dict[str, object]';從台帳取用則 opssegmentation.get("level_set_reinit"))

用法

把 φ(φ < 0 為內側)改寫為同一零等值線的符號距離函數(level_set_reinit)。

method="sussman" = 以 Godunov 迎風差分對 φ_τ + S(φ0)(|∇φ| − 1) = 0(Sussman–Smereka–Osher 1994) 迭代 n_iter 次(步長 dt ≤ 0.5)。與界面相接的網格點(在 4 鄰域中符號改變)採用 Russo–Smereka 2000 的 subcell fix:

向 D = φ0 / Δφ0(Δφ0 = 中心差分梯度大小與單側差分的最大值)鬆弛,零等值線不動。method="edt" = 由遮罩 φ < 0 經距離轉換得到的符號距離(第 2 實作。零等值線被量化到像素中心的中間, 最多移動半個像素)。傳入 bool 遮罩時把 edt 的符號距離作為 φ0 使用。

回傳值: phi、grad(|φ| ≤ band 處 |∇φ| 的 10/50/90 % 分位點與像素數)、grad_before(同上,輸入)、zero_hausdorff(前後零等值線的 Hausdorff,像素)、method、n_iter。

詳細使用指南

• 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 · gvf_field · chan_vese_energy · chan_vese_evolve · morph_chan_vese · morph_geodesic_ac · edge_stop_g · drle_evolve


*Provenance: segcontour.py — SEGMENTATION 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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