gpt4 book ai didi

python - 数据立方体的高斯卷积

转载 作者:行者123 更新时间:2023-12-01 02:27:04 25 4
gpt4 key购买 nike

我有一个名为“cube”的数据立方体。我需要将每个二维切片与高斯核进行卷积。

但是,使用以下代码,它使用标准化高斯核,它会稀释每个切片中较弱的像素。

有没有办法将每个像素高斯除以“max(Gaussian)”,以便每个像素相对于像素强度进行卷积?

import numpy as np
from astropy.convolution import convolve, Gaussian2DKernel

std = 2

gauss_kernel = Gaussian2DKernel(std)

for i in range(len(cube[:,0,0])):
cube[i,:,:] = convolve(cube[i,:,:], gauss_kernel/np.max(gauss_kernel))

最佳答案

您发布的解决方案已经说明了如何与峰值归一化高斯进行卷积。从您的评论来看,听起来您希望您的“峰值”不受周围数据点的影响。严格来说,这是不可能的 - 卷积意味着每个像素都会“扩散”。

但是,您可能正在谈论 astropy 实现的归一化卷积(请参阅 http://docs.astropy.org/en/stable/convolution/index.html )。只要周围的像素设置为 NAN,它们就不会对其邻居做出任何贡献。因此,如果您有一个稀疏的数组,只有几个像素想要模糊到周围的“空”像素中,只需将“空”像素设置为 NaN 即可。请参阅此示例:http://docs.astropy.org/en/stable/convolution/index.html#using-astropy-s-convolution-to-replace-bad-data

关于python - 数据立方体的高斯卷积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47289559/

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