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)。
• 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 · chan_vese_energy · chan_vese_evolve · morph_chan_vese · morph_geodesic_ac · 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.