synth oppoints → pointsimport fullseye as fs; fs.ledger.shape_perturb(shape, amplitude: 'float' = 0.05, mode: 'str' = 'bulge', center=(1.0, 0.0, 0.0), sigma: 'float' = 0.4, seed: 'int' = 0) (実装を直接呼ぶなら import shapestats; shapestats.shape_perturb(shape, amplitude: 'float' = 0.05, mode: 'str' = 'bulge', center=(1.0, 0.0, 0.0), sigma: 'float' = 0.4, seed: 'int' = 0)、台帳から引くなら opsshapestat.get("shape_perturb"))形に既知の変形を 1 つ入れる。→ (N, 3)。
mode:
"bulge" —— center のまわりをガウス重みで外向きに膨らませる。
片側だけに入れれば左右非対称性の真値になる。"shift" —— center 方向へ一様に平行移動(Procrustes が消す成分)。"scale" —— 一様拡大(scaling=True の Procrustes が消す成分)。"noise" —— 等方ガウス雑音(どの手法でも消えない床)。「Procrustes が消してくれる変形」と「消してはいけない変形」を分けて試せる ように 4 つ置いてある。位置合わせの検算はこの区別が要る。
py -3.11 examples/shapestat_landmark_tour.pypoints を入力に取れる)procrustes_fit · procrustes_align · procrustes_distance · shape_project · shape_mahalanobis · mirror_plane_from_pairs · landmark_asymmetry · signed_surface_distance
synth)Provenance: shapestats.py — SHAPESTAT operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.