FindGeometricTransform

FindGeometricTransform[pts1, pts2]
finds a geometric transformation between two geometries and , returning the alignment error together with the transformation function.

Details and OptionsDetails and Options

  • FindGeometricTransform returns an expression of the form , where err is an estimate of the average alignment error, and trfun is a transformation function. The function trfun can be applied to the positions to align them with the positions .
  • The geometries and can be given as lists of position coordinates or Mathematica graphics objects.
  • FindGeometricTransform[image1, image2] uses corresponding points between the two images to find the geometric transformation.
  • FindGeometricTransform works with points in any dimensions as well as with built-in 2D and 3D graphics primitives.
  • FindGeometricTransform takes a option. By default, it automatically finds the most suitable geometric transformation for the given sets of positions.
  • Possible settings for the option include:
  • "Translation"translation only
    "Rigid"translation and rotation
    "Similarity"translation, rotation, and scaling
    "Affine"linear transformation and translation
    "Perspective"linear fractional transformation
  • FindGeometricTransform can take a Method option. The default setting is Method->Automatic, which chooses a suitable fitting method for calculating the transformation.
  • Available fitting methods:
  • "Linear"linear solver based on SVD
    "RANSAC"random sample consensus method
    "FindFit"uses FindFit
  • With the setting , some positions may be considered as outliers and may not be used to determine the geometric transformation.

ExamplesExamplesopen allclose all

Basic Examples (2)Basic Examples (2)

Determine the spatial transformation between two sets of positions:

In[1]:=
Click for copyable input
Out[1]=

Find the similarity transformation between two sets of two points:

In[1]:=
Click for copyable input
Out[1]=
New in 8
New to Mathematica? Find your learning path »
Have a question? Ask support »