synth opなし → shapeset(引数だけで決まる op —— 画像やデータの入力を取らない)import fullseye as fs; fs.ledger.shape_synth_family(n_shapes: 'int' = 8, n_points: 'int' = 64, n_modes: 'int' = 2, mode_scale=(0.3, 0.12), noise: 'float' = 0.0, seed: 'int' = 0) (実装を直接呼ぶなら import shapestats; shapestats.shape_synth_family(n_shapes: 'int' = 8, n_points: 'int' = 64, n_modes: 'int' = 2, mode_scale=(0.3, 0.12), noise: 'float' = 0.0, seed: 'int' = 0)、台帳から引くなら opsshapestat.get("shape_synth_family"))既知の変形モードを持つ形の群を作る。→ (n_shapes, n_points, 3)。
基準形は楕円体上の準一様な点で、そこに 正規直交な変形モードを
既知の重みで足す。モード 1 は長軸方向の伸び、モード 2 は左右の曲げ。
:func:shape_pca に食わせると、主成分の分散比が mode_scale の 2 乗比に
一致するはずで、これが統計形状モデルの検算になる。
noise は点ごとの等方ガウス雑音の標準偏差(モデルに乗らない成分)。
py -3.11 examples/shapestat_landmark_tour.pyshapeset を入力に取れる)generalized_procrustes · shape_mean · shape_pca
synth)Provenance: shapestats.py — SHAPESTAT operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.