FindGeometricTransform
returns "the alignment error together with the transformation function." How is the alignment error computed?
I ask because if you iterate FindGeometricTransform
, applying the transformation each time, the transformation converges to the unitary transform, as one would expect, but the alignment error is monotonically increasing, which seems a little counter-intuitive.
Here are two sets of points:
a = {{9, 46.}, {10, 45.}, {11, 44.}, {12, 44.}, {13, 43.}, {14, 43.}, {15, 42.}, {16, 42.}, {17, 41.}, {18, 41.}, {19, 32.}, {20, 21.}, {21, 20.}, {22, 17.}, {23, 23.}}
and
b = {{9.18212, 45.4089}, {10., 45.}, {10.9782, 44.5109}, {12., 44.}, 13.0683, 43.4658}, {14.1864, 42.9068}, {15.3579, 42.321}, {16., 42.}, {16.8475, 1.5762}, {18., 41.}, {18.804, 40.598}, {18.8214, 40.5893}, {19.7035, 40.1482}, 20.3818, 39.8091}, {23., 38.5}}
The application of
{e, t} = FindGeometricTransform[a, b]
yields an alignment error e = 0.288599
.
Setting
b = t[b]
yields
b = {{9.18212, 45.4089}, {10., 45.}, {10.9782, 44.5109}, {12., 44.}, {13.0683, 43.4658}, {14.1864, 42.9068}, {15.3579, 42.321}, {16., 42.}, {16.8475, 41.5762}, {18., 41.}, {18.804, 40.598}, {18.8214, 40.5893}, {19.7035, 40.1482}, {20.3818, 39.8091}, {23., 38.5}}
and applying
{e, t} = FindGeometricTransform[a, b]
again, yields an alignment error ofe = 0.355193
. The sum of the Euclidean distances between a
and the second and third version of b
is the same, 89.6673, so whatever alignment error is being measured doesn't seem to have to do with the location of the points.
b
. $\endgroup$e
is0.720145
, the second is0.29502
, andb
is also different. $\endgroup$