scipy(或另一个流行的库)中是否内置了基于FFT的二维互相关或卷积函数?
有如下功能:
scipy.signal.correlate2d
-“由convolveND
实现的直接方法
大数据处理速度慢”scipy.ndimage.correlate
-“使用
精确计算(即不是FFT)。”scipy.fftpack.convolve.convolve
,我不太明白,但似乎错了
numarray有一个^{} function with an ^{} switch,但我想numarray是折叠的
在numpy中,我找不到是否包含此函数。
Tags:
看看scipy.signal.fftconvolve、signal.convalve和signal.correlate(有一个signal.correlate2d,但它似乎返回一个移位的数组,而不是居中)。
我发现了
scipy.signal.fftconvolve
,as also pointed out by magnus,但当时并没有意识到它是n维的。因为它是内置的并且产生了正确的值,所以它看起来是理想的解决方案。来自Example of 2D Convolution:
正确!另一方面,STSCI版本需要一些额外的工作来修正边界?
(STSCI方法还需要编译,但我没有成功(我只是注释掉了非python部分),有一些错误,比如this和修改输入([1,2]变成了[[1,2]])等,所以我更改了对内置
fftconvolve()
函数的接受答案。)当然,关联和卷积是一样的,但是一个输入是相反的:
而the latest revision通过内部使用两种大小的幂来加速(然后我通过using real FFT for real input和using 5-smooth lengths instead of powers of 2:D来加速)。
我想你想要scipy.stsci包:
http://docs.scipy.org/doc/scipy/reference/stsci.html
相关问题 更多 >
编程相关推荐