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`。
• 샘플 데이터 카탈로그(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 를 입력으로 받는 것)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.