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 族使用指南

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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