procrustes_align — SHAPESTAT procrustes op

• 資料種類:points × points → points

• 呼叫: import fullseye as fs; fs.ledger.procrustes_align(source, target, scaling: 'bool' = True, reflection: 'bool' = False)(要直接呼叫實作,import shapestats; shapestats.procrustes_align(source, target, scaling: 'bool' = True, reflection: 'bool' = False);從台帳取用則 opsshapestat.get("procrustes_align"))

用法

將 *source* 疊合到 *target* 上之後的點。→ (N, 3)(套用 procrustes_fit)。

求出 M = procrustes_fit(source, target, scaling, reflection), 回傳 source @ M[:3, :3].T + M[:3, 3]。變換是質心對齊 + 基於 SVD 的旋轉(+ 可選的縮放)的相似變換,前提是第 i 個點彼此對應。傳入無對應關係的點集也不會拋出例外,而是回傳無意義的配置(這種情況下請使用 ICP 系的對位)。

• source, target: (N, 3),相同的 N,有限值。N = 1 也能通過(僅平移)。

• scaling=True: 也吸收大小的差異。False 則為剛體變換。source 所有點相同(展布為 0)時,尺度保持為 1。

• reflection=False(預設): 強制 det(R) = +1。設為 True 則也允許鏡像 —— 在量測左右不對稱性的用途中它會因此消失,所以通常保持預設。

• 回傳值: (N, 3) float64。想要殘差的數值用 procrustes_distance, 想要變換矩陣本身用 procrustes_fit。

• 失敗: ValueError(形狀不是 (N, 3)、N 不一致、非有限值)。

若要同時對齊多個形狀,用 generalized_procrustes。

詳細使用指南

• shape_statistics 族使用指南

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者、年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• shapestat_landmark_tour — py -3.11 examples/shapestat_landmark_tour.py

型別可銜接的下一個運算子(可接受 points 作為輸入)

shape_perturb · procrustes_fit · procrustes_distance · shape_project · shape_mahalanobis · mirror_plane_from_pairs · landmark_asymmetry · signed_surface_distance

同類別(procrustes)

procrustes_fit · procrustes_distance · generalized_procrustes · shape_mean


*Provenance: shapestats.py — SHAPESTAT 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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