annotate3d op• 데이터 종류: image2d → image2d
• 호출: import fullseye as fs; fs.ledger.annotate3d_arrow(img, p0, p1, pose, K, depth=None, color='emphasis', width=2, head_len=12.0, head_width=9.0, occlusion_tol=0.01, scheme='okabe_ito')(구현을 직접 호출하려면 import annotate3d; annotate3d.annotate3d_arrow(img, p0, p1, pose, K, depth=None, color='emphasis', width=2, head_len=12.0, head_width=9.0, occlusion_tol=0.01, scheme='okabe_ito'), 원장에서 가져오려면 ops3d.get("annotate3d_arrow"))
이미지(image2d)를 돌려줍니다: 3-D 의 p0 에서 p1 로 투영한 화살표를 그립니다.
depth 를 넘기고 양 끝이 모두 가려져 있으면 파선으로 그린다(화살촉은 반투명).
ValueError
끝점이 카메라 뒤 / 2 점이 같은 화소에 투영됨 / 양 끝 모두 영상 밖, 자세·K 가 부정.
절차: img 를 float64 [0, 1] 의 복제로 하고((H, W) / (H, W, C), C 는 1/3/4. 비유한·빈 것은 ValueError), p0, p1 를 annotate3d_project 와같은 투영으로 화소로 만들어, annotate.arrow 로 p0 의 화소에서 p1 의 화소로화살표를 그린다. 화살촉은 p1 쪽.
인수:
• p0, p1: object 좌표 (3,)(유한). pose 는 4x4 object→camera 또는 (R, t), K 는 3x3(-Z 를 보는 render3d 관례).
• depth: (H, W) 전방 거리 영상(render3d.render_mesh 의 depth). 영상과 같은 형상이 아니면 ValueError.
• color: 역할명("emphasis" 등, scheme 의 팔레트로 해석) 또는 RGB.
• width: 선 폭 [px], 1 이상의 정수(1.5 는 거부).
• head_len / head_width: 화살촉의 길이·폭 [px]. 가려짐 그리기에서는 화살표 길이의 80 % 를 넘지 않도록 줄인다.
• occlusion_tol: [0, 1).
반환값: 그리기가 끝난 새 영상(float64, 입력과 같은 형상. 입력은 변경하지 않는다).
에러가 되는 조건(구현대로): 어느 한 끝점이 z <= 1e-9(카메라 면 위/뒤)/ 2 점이 같은 화소에 투영됨(시선 위에 나란히 있음, 길이 1e-9 px 미만)/ 양 끝 모두 영상 밖 (annotate.arrow 가 거부한다. 테두리에 달라붙은 잘못된 선을 그리지 않기 위해)/ 자세·K 가 부정. 한쪽 끝만 영상 밖이면 그린다(선은 테두리 밖을 향해 그어지고, 겉보기에는 테두리에서 잘린다).
용도: render3d.render_mesh 의 영상에 "이 정점이 이것"을 나타낸다. 길이를수치로 나타내려면 annotate3d_measure, 문자를 덧붙이려면 annotate3d_label.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• annotate3d_figure — py -3.11 examples_3d/annotate3d_figure.py
image2d 를 입력으로 받는 것)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade
annotate3d)annotate3d_project · annotate3d_label · annotate3d_scale_bar · annotate3d_axes · annotate3d_bbox · annotate3d_measure
*Provenance: annotate3d.py — 3D 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.