morph_geodesic_ac — SEGMENTATION contour op

• 資料種類:image2d × mask → table

• 呼叫: import fullseye as fs; fs.ledger.morph_geodesic_ac(gimage, init, *, n_iter: 'int' = 100, smoothing: 'int' = 1, threshold='auto', balloon: 'float' = 0.0, phase: 'int' = 0, record_every: 'int' = 0) -> 'Dict[str, object]'(要直接呼叫實作,import segcontour; segcontour.morph_geodesic_ac(gimage, init, *, n_iter: 'int' = 100, smoothing: 'int' = 1, threshold='auto', balloon: 'float' = 0.0, phase: 'int' = 0, record_every: 'int' = 0) -> 'Dict[str, object]';從台帳取用則 opssegmentation.get("morph_geodesic_ac"))

用法

形態學測地主動輪廓(Márquez-Neila 等 2014 的 MorphGAC)。gimage = 在邊緣處取小值的影像(edge_stop_g 的 g)(morph_geodesic_ac)。

1 次迭代 = 氣球段(balloon > 0 時 3×3 膨脹,< 0 時侵蝕,只作用於 g > threshold/|balloon| 的像素)+ 引力段(∇g · ∇u > 0 的像素放到內側,< 0 的放到外側 = 把輪廓拉向 g 的谷)+ 平滑段(曲率運算子 smoothing 次,交替)。threshold="auto" 為 g 的 40 % 分位點(與 skimage 相同)。陷阱(實測): 背景嚴格平坦時 g ≡ 1 的像素超過 40 %, 閾值 = 1,「g > 1/|balloon|」的像素消失,氣球一次也不起作用(輪廓停在初始位置)。模糊的拖尾使 g 成為 1 − 10⁻¹³ 的影像中會偶然起作用。對平坦的合成影像請以數值給出閾值。phase 與 morph_chan_vese 相同。

回傳值: mask、threshold、history、n_iter、n_changed(每次迭代)。

詳細使用指南

• 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 · 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.