具有整数参数的scipy curve_fit

时间:2013-10-04 21:25:53

标签: python numpy scipy

我正在尝试使用scipy的curve_fit来计算两个灰度图像之间的x和y偏移,作为2-D numpy ndarray。但是,这要求我提供的函数参数curve_fit需要整数参数。

所以我有一个带有三个参数的函数:一个扁平数组,以及两个轴的偏移量。它正确完成偏移并为所有整数偏移返回一个重新展平的数组,但curve_fit总是返回p0。

是否可以使curve_fit使用整数参数?

1 个答案:

答案 0 :(得分:0)

这里可能的一种方法可能是定义两个浮点偏移的函数,它在整数点之间执行插值:

def func_orig(xint,yint):
    ....

def func_new(x,y):
    x1 = int(x)
    y1 = int(y)
    x2 = x1 + 1
    y2 = y1 + 1
    val = func_orig(x1,y1) * (x2-x)*(y2-y)+
          func_orig(x1,y2) * (x2-x)*(y1-y)+
          func_orig(x2,y1) * (x1-x)*(y2-y)+
          func_orig(x2,y2) * (x1-x)*(y1-y)
    val = val / (x2-x1)/(y2-y1)
    return val