[SciPy-User] faster interpolations (interp1d)

James McCormac jmccormac01 at qub.ac.uk
Mon Feb 28 10:25:24 EST 2011


Hi eat,
you sent me a suggestion for faster 1d interpolations using matrices a few
weeks back but I cannot find the email anywhere when I looked for it
today.

Here is a better explanation of what I am trying to do. For example I have
a 1d array of 500 elements. I want to interpolate them quadratically so
each array becomes 10 values, 50,000 in total.

I have 500x500 pixels and I want to get 0.01 pixel resolution.

code snipet:
# collapse an image in the x direction
ref_xproj=np.sum(refarray,axis=0)

# make an array for the 1d spectra
x = np.linspace(0, (x_2-x_1), (x_2-x_1))

# interpolation
f2_xr = interp1d(x, ref_xproj, kind='quadratic')

# new x array for interpolated data
xnew = np.linspace(0, (x_2-x_1), (x_2-x_1)*100)

# FFT of interpolated spectra
F_ref_xproj = fftpack.fft(f2_xr(xnew))

Can I do this type of interpolation faster using the method you described
before?

Cheers
James






More information about the SciPy-User mailing list