Python ndarray的三次样条插值

时间:2017-04-10 21:02:08

标签: python numpy scipy interpolation spline

我有一个形状为A = (X, Y, Z, Q)的4维数据数组,我想为(x, y, z)的每个值插入Q位置,即最终得到一个数组长度为Q

我一直在scipy.interpolate.RegularGridInterpolator - { - 1}} q上使用q这样做:

Q = np.zeros(A.shape[-1])
for q in range(len(Q)):
    interp_f = RegularGridInterpolator([X,Y,Z], A[:,:,:,q])
    v, = interp_f(np.array([x,y,z]))
    Q[q] = v

这样可以正常运行,但由于A的典型维度为(10, 10, 3, 25000),因此需要大约2分钟才能运行。

有更快(更快)的方法吗?

我真的很想在3D中进行三次样条插值而不是线性插值,但却无法找到3维数据的任何资源。

谢谢!

0 个答案:

没有答案