procrustes opshapeset → shapesetimport fullseye as fs; fs.ledger.generalized_procrustes(shapes, max_iter: 'int' = 100, tol: 'float' = 1e-10, scaling: 'bool' = True, reflection: 'bool' = False) (実装を直接呼ぶなら import shapestats; shapestats.generalized_procrustes(shapes, max_iter: 'int' = 100, tol: 'float' = 1e-10, scaling: 'bool' = True, reflection: 'bool' = False)、台帳から引くなら opsshapestat.get("generalized_procrustes"))一般化 Procrustes(GPA)。全個体を共通の枠へ。→ (K, N, 3)。
手順は教科書どおり: 1 個体を仮の平均にして全員を合わせ、平均を取り直し、
その平均を最初の個体に合わせ直して枠の漂流を止め、収束まで繰り返す。
最後の一手が無いと平均が毎回ゆっくり回り、tol に到達しない。
収束の判定は平均形状の移動量(点ごと RMS)。反復数と収束の可否は
:func:shape_mean ではなくこちらには返らない —— 群を返す関数なので、
診断が要るときは前後で :func:procrustes_distance を測ること。
py -3.11 examples/shapestat_landmark_tour.pyshapeset を入力に取れる)procrustes)procrustes_fit · procrustes_align · procrustes_distance · 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.