_原票http://projects.scipy.org/numpy/ticket/1714 on 2011-01-15 by trac 用户 bubla,分配给未知。_
你好,
我制作了一个扩展correlate
函数的补丁,因此它现在可以计算归一化互相关
请参阅 [ http://en.wikipedia.org/wiki/Cross-correlation#Normalized_cross -correlation 维基百科文章]。
当然,我也添加了文档和简单的 doctest。
该补丁针对最新的 master Git
trac 用户 bubla 在 2011-01-15 添加的附件: correlate.parch
这可能很有用。
有人可以验证这是否正确吗?
我想知道什么是正确的与mode='full'
结合使用。
我碰巧需要这个功能,但我不确定它是否正确,除非 mode='valid' 并且两个数组的大小相同。 换句话说,我认为标准化必须应用于每个窗口。
关于此事的任何更新?
补丁是否已针对所有相关模式进行了测试?
@VlamV ,因为这里什么都没有,不,我不这么认为。 如果您有时间为其他模式修复它,我想我们可以添加它。
有这方面的消息吗?
除以实际使用的a
部分的标准偏差是否更有意义(在mode=same
或mode=full
)
也将是没有意义的使用bias
和ddof
的选项numpy.corrcoef
,而不是仅仅通过将len(a)
SO有一个答案指向这里: https :
它还包含最相关的代码。 由于上面的附件不再可用(至少对我而言),我认为将其作为实施的开始可能会有所帮助。
我还可以确认 - 至少在我的情况下 - 它可以在使用np.correlate
之前“规范化”输入向量,这样合理的值将在 [-1,1] 的范围内返回:
a = (a - np.mean(a)) / (np.std(a) * len(a))
b = (b - np.mean(b)) / (np.std(b))
c = np.correlate(a, b, 'full')
实际使用的信号 a 部分的规范化(请参阅@wilberth的评论)是通过此存储库中的 correlate_template 函数中的 numpy 方法实现的: https :
最有用的评论
SO有一个答案指向这里: https :
它还包含最相关的代码。 由于上面的附件不再可用(至少对我而言),我认为将其作为实施的开始可能会有所帮助。
我还可以确认 - 至少在我的情况下 - 它可以在使用
np.correlate
之前“规范化”输入向量,这样合理的值将在 [-1,1] 的范围内返回: