如何从非均匀的2D位置插入到常规网格?

时间:2013-09-30 12:56:32

标签: r matlab scipy spatial-interpolation

我有一个非均匀定位的图像样本,并且想要插入到常规网格中,因为(除此之外)大多数图像图形函数都需要一个规则的网格。 我注意到有一些MatLab函数(例如参见Image interpolation from random pixels)显然会这样做,但找不到一个R-package。左右 这是一个简单的例子。

#make up some 2D func
y<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
x<-matrix(rep(1:10,10) -.5 + runif(100),nrow=10)
inmat<-sin(x) + cos(y)

因此inmat的值位于随机位置。我想要某种outmat<-interpolate(inmat,x,y,gridx,gridy)函数,其中inmatxy是所有矩阵或所有向量(未包装的矩阵)。

我也看到SciPy有http://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.interp2d.html这样做。 R包中是否有这样的功能,还是需要从SciPyMatLab代码移植?

1 个答案:

答案 0 :(得分:1)

链接页面提供指向grigillion R包的指针,这些包执行Kriging或其他插值函数。

我发布个人选择作为回答这个问题的答案。

我发现akima::interp是一个简单的函数,可以对任意样本位置集合进行2D插值 这并不意味着它对所有人来说都是最好的,而我的猜测是那些使用地理数据的人可能更喜欢使用特定地理测量相关文件类型和纬度/经度坐标系设计的软件包。