model op• 데이터 종류: metrologymodel → scalar
• 호출: import fullseye as fs; fs.ledger.add_metrology_object_line_measure(model, row1, col1, row2, col2, n: 'int' = 25) -> 'int'(구현을 직접 호출하려면 import metrology; metrology.add_metrology_object_line_measure(model, row1, col1, row2, col2, n: 'int' = 25) -> 'int', 원장에서 가져오려면 opsmeasure1d.get("add_metrology_object_line_measure"))
직선 계측 객체를 추가한다(add_metrology_object_line_measure). index를 반환한다.
참조 선분 (row1, col1) → (row2, col2) [px] 를 model["objects"] 에 쌓는다(dict 를 제자리에서 갱신). apply_metrology_model 은 이 선분 위에 n 점을등간격(양 끝 포함)으로 두고, 각 점에서 선분의 법선 방향으로 짧은 측정선을 쳐서서브픽셀 에지를 찾고, 얻은 점에 직선을 최소제곱으로 다시 맞춘다.
• n: 샘플 점 수(기본값 25). 많을수록 피팅은 안정되지만 계측 시간은 비례한다.
• 끝점이 일치하는(길이 < 1e-9) 선분은 쌓을 수 있지만, apply 시에 샘플 0 개 → 피팅 실패로서 params=None, rms=inf 로 반환된다(예외는 되지 않는다).
• 인수의 형·범위는 여기서는 검증하지 않는다(영상 밖의 좌표도 쌓을 수 있다. apply 시에최근접으로 외삽될 뿐 예외는 발생하지 않는다).
• 반환값: 추가한 오브젝트의 index(0 시작). apply 결과 list 의같은 위치에 type="line" 의 결과(row1/col1/row2/col2/angle_deg)가 들어간다.
align_metrology_model 로 평행이동할 때는 양 끝점이 함께 움직인다.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• poc_calipers_under_illusion — py -3.11 examples/poc_calipers_under_illusion.py
• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py
scalar 를 입력으로 받는 것)—
model)create_metrology_model · add_metrology_object_circle_measure · add_metrology_object_rectangle2_measure · add_metrology_object_ellipse_measure · add_metrology_object_generic
*Provenance: metrology.py — MEASURE1D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.