Numpy: 归一化互相关 (Trac #1714)

创建于 2012-10-20  ·  12评论  ·  资料来源: numpy/numpy

_原票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

01 - Enhancement Patch numpy.core

最有用的评论

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')

所有12条评论

trac 用户 bubla 在 2011-01-15 添加的附件: correlate.parch

_@rgommers写于 2011-03-29_

由于这是新功能,您应该在邮件列表中询问是否可以包含此功能。

单元测试是必要的,默认情况下在测试套件中不执行 doctests。

这可能很有用。

有人可以验证这是否正确吗?

我想知道什么是正确的与mode='full'结合使用。

我碰巧需要这个功能,但我不确定它是否正确,除非 mode='valid' 并且两个数组的大小相同。 换句话说,我认为标准化必须应用于每个窗口。

关于此事的任何更新?
补丁是否已针对所有相关模式进行了测试?

@VlamV ,因为这里什么都没有,不,我不这么认为。 如果您有时间为其他模式修复它,我想我们可以添加它。

有这方面的消息吗?

除以实际使用的a部分的标准偏差是否更有意义(在mode=samemode=full

也将是没有意义的使用biasddof的选项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 :

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

astrofrog picture astrofrog  ·  4评论

keithbriggs picture keithbriggs  ·  3评论

dmvianna picture dmvianna  ·  4评论

MorBilly picture MorBilly  ·  4评论

inducer picture inducer  ·  3评论