gpt4 book ai didi

python - 一维数组的 Richardson-Lucy 反卷积

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:51 28 4
gpt4 key购买 nike

我正在寻找适用于一维数组(例如光谱数据)的 Richardson-Lucy 反卷积算法的实现。我试过scikit-image ,但显然它只适用于图像。

最佳答案

您是否尝试过在单行/单列二维数组上使用restoration.richardson_lucy?它是否按预期工作?

这是一个基于 http://scikit-image.org/docs/dev/auto_examples/filters/plot_deconvolution.html 的示例(参见输入单元格 3 和 4):

In [1]: import numpy as np
...: import matplotlib.pyplot as plt
...:
...: from scipy.signal import convolve2d as conv2
...:
...: from skimage import color, data, restoration
...:
...: astro = color.rgb2gray(data.astronaut())
...:

In [2]:
...: psf = np.ones((5, 5)) / 25
...: astro = conv2(astro, psf, 'same')
...: # Add Noise to Image
...: astro_noisy = astro.copy()
...: astro_noisy += (np.random.poisson(lam=25, size=astro.shape) - 10) / 255.
...:
...:

In [3]: astro_1d = astro[:1, :]
In [4]: psf_1d = psf[:1, :] * 5

In [5]: deconvolved_RL = restoration.richardson_lucy(astro_1d, psf_1d, iteration
...: s=30)
...:
...:

In [8]: deconvolved_RL[0][:10]
Out[8]:
array([ 3.68349589e-06, 4.64232976e-03, 8.96492325e-01,
2.92227252e-01, 2.27669473e-01, 1.63909318e-01,
2.62231088e-01, 5.63304220e-01, 4.29589937e-01,
3.21857292e-01])

In [9]: astro_1d[0][:10]
Out[9]:
array([ 0.20156543, 0.25178911, 0.31006612, 0.29581576, 0.30208733,
0.32490093, 0.35101666, 0.36213184, 0.35174074, 0.318339 ])

如果您发现转换为 2D 确实不方便,请随时在 GitHub 上提出问题。

关于python - 一维数组的 Richardson-Lucy 反卷积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48440907/

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