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`(反復ごと)。
• active_contours_and_level_sets — 変分・動的輪郭とレベルセット — どの輪郭がどこで止まり、何を保証するか
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• poc_active_contours — py -3.11 examples/poc_active_contours.py
table 를 입력으로 받는 것)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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.