Fwd: [gdal-dev] gdalwarp : how many gcp's for -order n?
Markus Neteler
neteler at osgeo.org
Wed Mar 19 11:01:25 EDT 2008
(FWD to list since Helena isn't subscribed)
---------- Forwarded message ----------
From: Helena Mitasova <hmitaso at unity.ncsu.edu>
Date: Wed, Mar 19, 2008 at 3:23 PM
On Mar 19, 2008, at 9:23 AM, Markus Neteler wrote:
> (I cc to Helena for TPS insights)
...
- your references are right, although I wonder whether just plain
TPS is used or whether at least tension has been added to increase
the TPS stability. One reason why Lubos has derived the RST function
which we have in GRASS was that TPS tends to overshoot if you have
larger gradients as noted in the comments and adding tension and
smoothing minimizes that problem. Segmentation then solves the
problem of applying it to large data sets - but do you ever have more
than 1000 GCPs?
For the record here are some relevant equations:
eq 44 is the radial basis function used in plain TPS, eq. 50 is
spline with tension, eq. 55 is regularized spline (the last two are
in ArcGIS spatial analyst)
http://skagit.meas.ncsu.edu/~helena/gmslab/papers/CMA1988.pdf
and here eq 9 has RST (and some useful comments about the rest of the
methods)
http://skagit.meas.ncsu.edu/~helena/gmslab/papers/sint.html
And this nicely illustrates the "spline goes wild" issue - the blue
points are given points, the surface is interpolated with changing
tension and the results with a big blue hole and white peaks is close
to what you can get with plain TPS:
http://skagit.meas.ncsu.edu/~helena/gmslab/viz/movies/tension.gif
smoothing also helps a lot and can even be used to take into account
the accuracy of GCPs.
To conclude - it would be nice to put the equations for what is used
in gdalwarp somewhere to better understand how it works.
Maybe put a reference to a relevant paper that has the equations into
the man page.
I am not sure whether the tps-related problems in gdalwarp are
significant enough to do some modifications - I would assume most
transformations are pretty smooth,
Helena
More information about the gdal-dev
mailing list