[SciPy-user] 2-D interpolation of irregularly spaced data
Robert Kern
robert.kern at gmail.com
Mon Sep 15 02:31:41 EDT 2008
On Sun, Sep 14, 2008 at 09:02, Emmanuelle Gouillart
<emmanuelle.gouillart at normalesup.org> wrote:
> Hello,
>
> I have an irregular 2-D mesh, and 1-D data measured at the
> vertices of the mesh (the mesh is finer where the data vary more
> rapidly), and I need to interpolate the data at other (also irregularly
> spaced) points. To do so, I use the delaunay scikit and its
> NNInterpolator which can take an iregular mesh. The problem is that I
> cannot call the interpolator with irregularly spaced points, so that my
> code is running very slowly now. Here is a minimal example of what I do
> now (with regular grids and few points for clarity):
>
> ***
> import scikits.delaunay as d
>
> def evolve(positions, mesh, values):
> tri = d.Triangulation(mesh[0], mesh[1])
> interpolator = d.NNInterpolator(tri, values)
> return array([interpolator(x,y) for (x,y) in positions.T]).ravel()
NNInterpolator.__call__() can take arrays, not just scalars. For the
greatest efficiency, try to make sure adjacent points are close to
each other.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the SciPy-User
mailing list