[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: very fast spline interp function for heavy oversampling?




"R.G. Stockwell" <stockwell@co-ra.comremove> writes:

> Greetings,
> 
> I have a situation where I take a time series, and need to interpolate the
> function to many more samples.
> i.e. original time index  = [1,2,3,4....10]
> and I need samples at new time index =
> [1.000,1.001,1.002.......9.999,10.000].
> 
> The canned IDL routine spline() works great, but is slow. Unfortunately, I
> don't have time to rewrite the interpolation to something more efficient.
> 
> I don't want to use any linear scheme to interpolate, since I want a smooth
> function (i.e. smooth "derivatives") around the data points.  I would guess
> that
> it would be easy to efficiently calculate this interp with spline, perhaps
> some vectorization could be put into the function.  Or perhaps an
>  "upsample" function would work, but modifications would be needed as the
> time series is not evenly sampled.
> 
> 
> Are there any user routines out there that can do this interpolation
> efficiently?

I second Martin's suggestion.  I went from SPLINE to SPL_INTERP, and
never looked back.  SPL_INTERP is much faster, and appears to be less
prone to artifacts.

Craig

-- 
--------------------------------------------------------------------------
Craig B. Markwardt, Ph.D.         EMAIL:    craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
--------------------------------------------------------------------------