symmetry op• 데이터 종류: points → matrix
• 호출: import fullseye as fs; fs.ledger.mirror_plane_from_pairs(landmarks, pairs=None, midline=None)(구현을 직접 호출하려면 import shapestats; shapestats.mirror_plane_from_pairs(landmarks, pairs=None, midline=None), 원장에서 가져오려면 opsshapestat.get("mirror_plane_from_pairs"))
좌우 대응 랜드마크로부터 정중면을 구한다. → (2, 3)(1행 = 점, 2행 = 법선).
좌우 쌍 (i, j) 의 중점은 모두 정중면 위에 놓인다. 그러므로 그 중점 집합에평면을 맞추면 된다 —— 변형의 양에 상관없이 면이 정해지는 것이 요점이며, 잔차를 최소로하는 면(symmetry3d.detect_reflection_symmetry)과는 다른 것이다.
★ 2026-09-06 의 실측: 6.4 mm 의 한쪽 변형을 넣으면 잔차 최적면은 참 정중면에서 2.92 mm / 1.72 도 어긋나, 비대칭량의 46 % 를 지웠다(이득 0.54). 이랜드마크 면이라면 이득 1.03. 찾으려면 잔차 최적면, 양을 말하려면 이쪽.
*midline* 은 정중선 위에 있는(쌍이 되지 않는) 랜드마크의 첨자. 주면중점 집합에 더해 면의 피팅을 안정시킨다.
pairs=None 은 전반과 후반을 쌍으로 하는 규약(i 와 i + N//2). 왼쪽 랜드마크를 전부 나열한 뒤 오른쪽을 같은 순서로 나열하는 저장 형식이형태 계측에서는 일반적이므로 그에 맞추어 두었다. 점 수가 홀수면 거부한다 —— 반으로 나눌 수 없는 나열을 말없이 잘라 내면 쌍이 1 개씩 어긋나 전부의부호가 뒤바뀐다.
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• shapestat_landmark_tour — py -3.11 examples/shapestat_landmark_tour.py
matrix 를 입력으로 받는 것)—
symmetry)*Provenance: shapestats.py — SHAPESTAT 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.