shape_project — SHAPESTAT model op

• 데이터 종류: shapemodel × points → signal

• 호출: import fullseye as fs; fs.ledger.shape_project(model, shape, align: 'bool' = True)(구현을 직접 호출하려면 import shapestats; shapestats.shape_project(model, shape, align: 'bool' = True), 원장에서 가져오려면 opsshapestat.get("shape_project"))

사용법

형상을 모델 좌표(주성분 점수)로 옮긴다. → (k,).

align=True 이면 먼저 평균 형상에 Procrustes 로 맞춘다. 맞추지 않고 투영하면위치와 방향의 차이가 점수로 새어 같은 형상인데 다른 개체로 보인다.

식: scores = components @ (shape - mean).ravel()(components 는 (k, N*3) 의 정규직교 행, mean 은 (N, 3)). align=True 일 때는 procrustes_align(shape, mean)(스케일 포함·거울상 없음)을 먼저 건다.

• model: shape_pca 의 반환값(mean / components / variance / n_points 를 갖는 dict). 빠져 있으면 ValueError.

• shape: (N, 3), N == model["n_points"], 유한. 점의 나열은 학습에 쓴랜드마크와 같은 순서일 것(대응이 달라도 예외는 발생하지 않는다).

• align: 기본값 True. shape_pca(align=False) 로 만든 모델(크기를 형질에포함)에 투영할 때는 여기도 False 로 하지 않으면 스케일이 사라진다.

• 반환값: (k,) float64. 각 성분의 단위는 좌표와 같다. sqrt(variance) 로 나누면표준편차 단위(몇 σ 벗어났는지)가 된다.

• 실패: ValueError(모델의 형식, 점 수 불일치, 비유한).

역사상은 shape_reconstruct, 벗어난 정도의 1 수치는 shape_mahalanobis.

자세한 사용 가이드

• shape_statistics 패밀리 가이드

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

• 샘플 데이터 카탈로그(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

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

shape_reconstruct

같은 카테고리(model)

shape_pca · shape_reconstruct · shape_mahalanobis · shape_explained_variance · shape_synthesize


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

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