cupyx.scipy.ndimage.generic_filter1d#

cupyx.scipy.ndimage.generic_filter1d(input, function, filter_size, axis=-1, output=None, mode='reflect', cval=0.0, origin=0)[source]#

使用提供的原始核函数沿给定轴计算一维滤波器。

与 scipy.ndimage 函数不同,此函数不支持 extra_argumentsextra_keywordsdict 参数,并且对提供的 function 有严格限制。

参数:
  • input (cupy.ndarray) – 输入数组。

  • function (cupy.RawKernel) – 要沿每个轴应用的核函数。

  • filter_size (int) – 滤波器长度。

  • axis (int) – 输入数组中进行计算的轴。默认值为 -1。

  • output (cupy.ndarray, dtypeNone) – 放置输出结果的数组。默认值为与输入相同的 dtype。

  • mode (str) – 根据给定模式处理数组边界('reflect', 'constant', 'nearest', 'mirror', 'wrap')。默认值为 'reflect'

  • cval (scalar) – 如果模式为 'constant',则用于填充输入边缘之外的值。默认值为 0.0

  • origin (int) – origin 参数控制滤波器相对于当前输入元素中心的位置。默认值为 0

返回:

过滤结果。

返回类型:

cupy.ndarray

注意

提供的函数(作为 RawKernel)必须具有以下签名。与大多数函数不同,此函数不应使用 blockDim/blockIdx/threadIdx

__global__ void func(double *input_line, ptrdiff_t input_length,
                     double *output_line, ptrdiff_t output_length)