gpt4 book ai didi

python - matlab 的 smooth3 函数在 python 中的等价物是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:46 27 4
gpt4 key购买 nike

我在 python 中找不到与 matlab 的 smooth3 等效的东西。你如何在 python 中执行 3d 平滑?

最佳答案

最好用scipy.ndimage为了这。它具有大量功能,并且可以让您出色地控制内存使用(例如,您可以就地执行所有这些操作,而无需制作副本)。

smooth3d 的默认过滤器等效于 scipy.ndimage.uniform_filter(data, 3) (“3”是过滤器的大小。3 是 matlab 的默认值)。

smooth3(data, 'gaussian') 的等效项是 scipy.ndimage.gaussian_filter(data, 3) .

请注意,scipy.ndimage 的函数适用于任何维度数据。为了便于可视化,我将在下面展示一个 2D 示例,但是对于 1D、3D、4D、10D 等,函数调用是相同的。

import numpy as np
import scipy.ndimage as ndimage
import matplotlib.pyplot as plt

raw_data = np.random.random((30,30))

fig, axes = plt.subplots(ncols=3)

axes[0].imshow(raw_data, interpolation='nearest')
axes[0].set(title='Raw Data', xticks=[], yticks=[])

axes[1].imshow(ndimage.uniform_filter(raw_data, 3), interpolation='nearest')
axes[1].set(title='Uniform Filter', xticks=[], yticks=[])

axes[2].imshow(ndimage.gaussian_filter(raw_data, 3), interpolation='nearest')
axes[2].set(title='Gaussian Filter', xticks=[], yticks=[])

fig.tight_layout()
plt.show()

enter image description here

关于python - matlab 的 smooth3 函数在 python 中的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18902102/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com