Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python scipy.ndimage.generic_过滤器1D不工作_Python_Scipy_Scipy.ndimage - Fatal编程技术网

Python scipy.ndimage.generic_过滤器1D不工作

Python scipy.ndimage.generic_过滤器1D不工作,python,scipy,scipy.ndimage,Python,Scipy,Scipy.ndimage,我第一次尝试使用scipy.ndimage.generic_filter1d,但进展不太顺利。这就是我要尝试的 import numpy as np from scipy.ndimage import generic_filter1d def test(x): return x.sum() im_cube = np.zeros((100,100,100)) calc = generic_filter1d(im_cube, test, filter_size=5, axis=2) 但

我第一次尝试使用scipy.ndimage.generic_filter1d,但进展不太顺利。这就是我要尝试的

import numpy as np
from scipy.ndimage import generic_filter1d

def test(x):
    return x.sum()

im_cube = np.zeros((100,100,100))
calc = generic_filter1d(im_cube, test, filter_size=5, axis=2)
但我得到了这个错误:

TypeError: test() takes 1 positional argument but 2 were given
我正在使用scipy 1.4.1,我做错了什么

对于函数,我也尝试了np.mean,但我得到了以下结果:

TypeError: only integer scalar arrays can be converted to a scalar index
根据,回调接受两个参数:对输入行的引用和对输出行的引用。它不返回输出,而是就地修改提供的缓冲区

如果您想要实现一个滚动和过滤器,您将需要手动完成。例如:

def test(x, out)
    out[:] = np.lib.stride_tricks.as_strided(x, strides=x.strides * 2, shape=(5, x.size - 4)).sum(axis=0)
要使其成为平均值,请在末尾添加
/5


genetic_filter1d
的目的是格式化边并运行外循环。它实际上并没有为您实现滚动过滤器。您仍然需要自己实现整个内部循环。

好的,是的,这一定是问题所在。但我仍然对如何传递正确的论点感到困惑。你知道吗?