procrustes op• データ種: points × points → matrix
• 呼び出し: import shapestats; shapestats.procrustes_fit(source, target, scaling: 'bool' = True, reflection: 'bool' = False) (または opsshapestat.get("procrustes_fit"))
*source* を *target* へ重ねる相似変換。→ `(4, 4)` の同次行列。
点の並びが対応していることが前提(i 番目どうしが同じ解剖学的位置)。
対応が無い点群では例外は出ず、意味の無い変換が返る —— 対応の有無は
この関数からは見えない。対応が無いなら ICP 系(`registration`)を使う。
`scaling=True なら大きさの違いも吸収する。reflection=False`(既定)は
`det(R) = +1` を強制する —— 許すと左手系の個体が右手系の平均に重なり、
左右非対称性という測りたいものが消える。
行列は同次座標で `target ~ source @ M[:3,:3].T + M[:3,3]` の向き。
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• (まだありません)
matrix を入力に取れる)—
procrustes)procrustes_align · procrustes_distance · generalized_procrustes · shape_mean
*Provenance: shapestats.py — SHAPESTAT operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.