scipy ndimage _convolve1d的源代码

时间:2018-11-14 22:01:41

标签: python scipy convolution ndimage

我对528 x 528 x 128图像堆栈的每个切片(即128个切片)进行了高斯平滑处理,并且运行速度非常快(这是使用3 x 3大小的小型滤镜内核)的。我并没有真正安排时间,但不到2秒。 我对此功能如何在“幕后”工作非常感兴趣,因为我正在尝试编写某种看起来像卷积的快速邻居计数器。我在自己的此功能中使用了所有奇特的魔术,例如stride_tricksnp.einsum,但是,它仍然非常慢,对于同一图像堆栈大约5分钟,还是3x3内核。因此,我想看看skimage中使用的过滤器实现。

我试图在Github上找到skimage.filters.gaussian的源代码。这个函数使我无处不在,因为高斯函数使用scipy.ndimage.filters中的gaussian_filter,而这个函数又使用了另一个函数,依此类推。 我最接近真实来源的是scipy.ndimage.filters.correlate1d。该函数返回一个名为_nd_image.correlate1d的函数,但是我在任何地方都找不到该源!

如果您知道源的位置,非常感谢您的分享! 另外,如果您知道为什么为什么这个过滤器是如此之快,即它使用了哪些特殊技巧,那么我很乐意得知。

0 个答案:

没有答案