curvature_flow — SEGMENTATION contour op

• 데이터 종류: mask → table

• 호출: import fullseye as fs; fs.ledger.curvature_flow(phi, *, t_end: 'float' = 50.0, dt: 'float' = 0.2, eta: 'float' = 1e-08, record_every: 'int' = 0) -> 'Dict[str, object]'(구현을 직접 호출하려면 import segcontour; segcontour.curvature_flow(phi, *, t_end: 'float' = 50.0, dt: 'float' = 0.2, eta: 'float' = 1e-08, record_every: 'int' = 0) -> 'Dict[str, object]', 원장에서 가져오려면 opssegmentation.get("curvature_flow"))

사용법

평균 곡률 흐름(곡선 단축 흐름)의 레벨셋 형태 φ_t = |∇φ| div(∇φ/|∇φ|)(φ < 0이 내부, 볼록한 곳부터 줄어든다)(curvature_flow).

양적 중심 차분: φ_t = (φ_xx φ_y² − 2 φ_x φ_y φ_xy + φ_yy φ_x²) / (φ_x² + φ_y² + η), 스텝 dt ≤ 0.25(안정 조건). phi = φ 또는 bool 마스크(부호 있는 거리로 변환). 면적은 각 스텝에서 clip(0.5 − φ/|∇φ|, 0, 1)의 합.

게이트: 단순 닫힌 곡선이 둘러싸는 면적은 dA/dt = −∮ κ ds = −2π(회전수 1, 볼록하지 않아도). 원이면 r(t)² = r0² − 2t.

반환값: phi, mask, times, areas, area_rate(면적 vs 시간의 최소제곱 기울기), area_rate_theory = −2π, history(record_every 스텝마다의 마스크), n_steps.

자세한 사용 가이드

• halcon_segmentation 패밀리 가이드

배경 지식 가이드(이 연산자 앞에 있는 물리·규약)

• 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 를 입력으로 받는 것)

class_ndim_norm

같은 카테고리(contour)

snake_evolve · gvf_field · chan_vese_energy · chan_vese_evolve · morph_chan_vese · morph_geodesic_ac · edge_stop_g · level_set_reinit


*Provenance: segcontour.py — SEGMENTATION 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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