Say you have a collection of data points $p_i \in \Bbb R^3$, and a collection of corresponding reference points $r_i \in \Bbb R^3$. Kabsch's algorithm, which relies on SVD decomposition, provides an efficient way to determine the rigid transformation that best (in a least squares of errors sense) transforms the $r_i$ to $p_i$.

This is equivalent to saying that if each $p_i$ is known to have been chosen as a 3-D Gaussian variate with unit variance and mean at the transformed value of $r_i$, then the solution found is the transformation with the highest likelihood.

Having determined that transformation, which is described by a translation vector $\vec t$ and a rotation $R$ characterized as the product of three axial rotations $$ R = R_z(\psi)R_y(\theta)R_x(\phi) $$ I would like to calculate the covariance matrix among $\{t_x, t_y, t_z, \psi, \theta, \phi\}$.

Is there a "standard" or particularly elegant/efficient way to find that covariance, given that we already have the intermediate information used by Kabsch's algorithm?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.