fit_circle_xld — SHAPE2D descriptor op

• 데이터 종류: contour → table

• 호출: import fullseye as fs; fs.ledger.fit_circle_xld(contour, method='geometric')(구현을 직접 호출하려면 import fourierdesc; fourierdesc.fit_circle_xld(contour, method='geometric'), 원장에서 가져오려면 opsshape2d.get("fit_circle_xld"))

• GPU: 없음(CPU 참조 구현만)

사용법

XLD 윤곽선마다 원을 맞추고 중심의 행·열과 반지름을 반환합니다(table).

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

HALCON fit_circle_contour_xld の Row / Column / Radius にあたる。進化 op の hx_fit_circle_contour は残差(正規化 feature)しか返さないので、輪郭から 位置と大きさを読むのはこちら。座標は XLD と同じ (row, col)、単位は画素。

method は "geometric"(既定。点から円までの距離の二乗和を Levenberg--Marquardt で最小化、Chernov & Lesort 2005 = measure.fit_circle_geometric) か "algebraic"(Kåsa / Coope の代数的最小二乗 = measure.fit_circle。短い円弧では半径が小さく偏る)。返す dict の row・col・radius・rms (点の動径残差の二乗平均平方根)・n_points は輪郭の並び順の list で、n_contours が当てた本数、n_skipped が点が 3 個未満で飛ばした本数、method が使った方法。

空の入力(contour が 0 要素 = 輪郭が 1 本も無い)は ValueError。拒否(ValueError): XLD の dict({"shape", "cs"})でない、未知の method、点が 3 個以上ある輪郭が 1 本も無い、非有限の座標、点が一直線に並ぶ(円が決まらない)。

자세한 사용 가이드

• shape_description_2d 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• fit_circle_xld_bore — py -3.11 examples/fit_circle_xld_bore.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

from_xld

같은 카테고리(descriptor)

elliptic_fourier · reconstruct · invariants · normalize · descriptor_distance · fourier_smooth · from_xld · contour_fourier_complex


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

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