[SciPy-user] 2D Interpolation

Travis Vaught travis@enthought....
Sun Jun 29 13:18:20 CDT 2008

On Jun 29, 2008, at 1:00 PM, Ryan May wrote:

> Pauli Virtanen wrote:
>> Fri, 27 Jun 2008 16:46:30 -0400, Ryan May wrote:
>>> Pauli Virtanen wrote:
>>>> Hi,
>>>> Fri, 27 Jun 2008 14:13:22 -0400, Ryan May wrote:
>>>>> Can anyone help me use scipy.interpolate correctly.  Here's my
>>>>> problem: I'm trying to make a 2D lookup table to save some
>>>>> calculations.  The two parameters over which the lookup table is
>>>>> generated are independent and I have complete control over how I
>>>>> divide up the domain.  Using this lookup table, I'd like to then
>>>>> calculate values over an unstructured set of parameter values  
>>>>> (ie. a
>>>>> list of pairs of parameter values).  Is there a function in
>>>>> scipy.interpolate that can help here? What I'd really like to be  
>>>>> able
>>>>> to do is generate an interpolator object from my 2D array, and  
>>>>> then
>>>>> pass a pair of 1D arrays to the object and have it return 1D  
>>>>> array of
>>>>> values.
>> [clip]
>> Another hint: looking at
>> 	scipy.ndimage.map_coordinates
>> may turn out to be useful: it seems to be able to interpolate from a
>> regular grid to a vector of coordinates.
> Jackpot!  This works really well.  There's a good example on using  
> it here:
> http://www.scipy.org/Cookbook/Interpolation
> Which is important, because I had to read the docstring a dozen  
> times to
> understand what was going on.  It should also be noted that while the
> example interpolates to a regular grid, there's nothing precluding
> interpolating to an irregular collection of points.  What's weird is
> that you need to manually scale the points to which you're  
> interpolating
>  to be floating point indices within the original grid.  This is
> probably due to the ndimage-focused nature of map_coordinates.
> Moving some of the functionality of map_coordinates, in a more generic
> fashion, into scipy.interpolate wouldn't be the worst idea in the  
> world.
>  Then again, I don't know if anyone else is planning on improving
> scipy.interpolate to gain this functionality (interpolation to array  
> of
> irregular set of points) in another way.  (I also can't volunteer to
> step up and do it at this time.)
> Ryan
> -- 
> Ryan May
> Graduate Research Assistant
> School of Meteorology
> University of Oklahoma


It looks like you were bitten by the same organizational problem that  
Shane mentions here (4th paragraph about where to find interpolation):


Seems like we should address this both in the documentation and in the  
actual organization/location of the routines.  Thoughts?


More information about the SciPy-user mailing list