fit_transform

Calculate and apply the optimal transformation matrix that minimizes the RMSD (root mean squared deviation) between two paired sets of points.

Usage no npm install needed!

<script type="module">
  import fitTransform from 'https://cdn.skypack.dev/fit_transform';
</script>

README

fit_transform

Problem

Given a corresponding sets of 2D points A and B, find and apply an optimal transformation matrix to bring set A as close as possible to set B.

Solution

  • fit_transform implements full Kabsch algorithm for datasets where N >= 3
  • closeness of sets is understood as RMSD
  • this implementation focuses on 2D points only, but can be easily generalised to support more dimensions

API

  • fitTransform(A, B) -> A' -- returns a transformed dataset
  • kabsch(A, B) -> C -- returns an optimal rotation matrix

Installation

npm install fit_transform

Building and Testing

yarn
yarn build
yarn test
cd examples/
python -m SimpleHTTPServer

Examples

Image showing fit_transform applied to a 2-point dataset

Image showing fit_transform applied to a 3-point dataset

Image showing fit_transform applied to a 3-point dataset

See also examples