> I have a question about using the thin-plate spline radial basis
> that is, phi(r) = r^2*log(r), for interpolating a surface.
> Is it necessary to normalise the coordinates (x,y) so that they lie on a
> unit square before doing interpolation?
> If so, why?
Normalization is important for numerical robustness. The method requires
inverting an NxN matrix (N is number of data points), a process that can
have numerical problems when the x and y values are large. BUT the
thin-plate spline algorithm is not invariant to general affine
transformations. The function you get by normalizing coordinates first is
not technically the function that minimizes the bending energy integral.
This is not an issue if you are simply trying to find an approximating
function for an arbitrary set of data points without having to triangulate
the (x,y) values. It may be an issue for applications that depend on the
approximating function to really be the minimizing function (statisticians
care about this for problems in spatial statistics).
The thin-plate spline algorithm is invariant under translations, so
translating the (x,y) by the average of the points is fine. You can then
apply a *uniform scale* to the data to force the axis-aligned bounding box
of the original data to fit inside the unit square. But you also want to
scale the sample values f(x,y) by the same uniform scale. That is, you can
scale (x,y,f) to (c*x,c*y,c*f).