sdynpy.signal_processing.sdynpy_rotation.lstsq_rigid_transform

lstsq_rigid_transform(x, y, w=None)[source]

Computes the Transform between two point sets such that y = Rx + t

This is a least squares methods as descibed in “Least-Squares Rigid Motion Using SVD”, O. Sorkine-Hornung, M. Rabinovich, Department of Computer Science, ETH Zurich, Jan 16, 2017 Note found online at https://igl.ethz.ch/projects/ARAP/svd_rot.pdf

INPUT
x,y = the two point sets as [x,y,z] column vectors

sizes are (3,n) for n points

w = weighting vector for each point, wi>0

default is uniform weighting of wi=1 size is (1,n) for n points

OUTPUT

R,t = [(3,3),(3,1)] transformation parameters such that y = Rx + t