当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cucim.skimage.restoration.unsupervised_wiener用法及代码示例


用法:

cucim.skimage.restoration.unsupervised_wiener(image, psf, reg=None, user_params=None, is_real=True, clip=True)

无监督 Wiener-Hunt 反卷积。

使用 Wiener-Hunt 方法返回反卷积,其中超参数是自动估计的。该算法是一个随机迭代过程(吉布斯采样器),在下面的引用中说明。另请参见wiener 函数。

参数

image(M, N) ndarray

输入降级图像。

psfndarray

脉冲响应(输入图像的空间)或传递函数(傅立叶空间)。两者都被接受。传递函数被自动识别为复杂 (cupy.iscomplexobj(psf))。

regndarray,可选

正则化运算符。默认为拉普拉斯算子。对于 psf,它可以是脉冲响应或传递函数。

user_params字典,可选

Gibbs 采样器的参数字典。见下文。

clip布尔值,可选

默认为真。如果为真,则结果的像素值高于 1 或低于 -1 将被阈值化以实现 skimage 管道兼容性。

返回

x_postmean(M, N) ndarray

去卷积图像(后均值)。

chainsdict

noiseprior 键分别包含噪声和先验精度的链表。

其他参数

The keys of ``user_params`` are:
threshold浮点数

停止标准:连续近似解之间的差异范数(对象样本的经验平均值,请参阅注释部分)。默认为 1e-4。

burninint

开始计算平均值时要忽略的样本数。默认为 15。

min_iterint

最小迭代次数。默认为 30。

max_iterint

不满足threshold 时的最大迭代次数。默认为 200。

callback可调用(默认无)

用户提供的可调用对象,如果该函数存在,则将当前图像样本传递给该对象,以用于任何目的。用户可以存储样本,或计算平均值以外的其他矩。它对算法执行没有影响,仅用于检查。

注意

估计的图像被设计为概率定律的后验平均值(来自贝叶斯分析)。平均值被定义为所有可能的图像的总和,这些图像由它们各自的概率加权。鉴于问题的规模,确切的总和是难以处理的。该算法利用MCMC在后验法则下绘制图像。实际的想法是只绘制高度可能的图像,因为它们对均值的贡献最大。相反,不太可能的图像被绘制的频率较低,因为它们的贡献很低。最后,这些样本的经验平均值为我们提供了平均值的估计,以及无限样本集的精确计算。

参考

1

François Orieux, Jean-François Giovannelli, and Thomas Rodet, “Bayesian estimation of regularization and point spread function parameters for Wiener-Hunt deconvolution”, J. Opt. Soc. Am. A 27, 1593-1607 (2010)

https://www.osapublishing.org/josaa/abstract.cfm?URI=josaa-27-7-1593

http://research.orieux.fr/files/papers/OGR-JOSA10.pdf

例子

>>> import cupy as cp
>>> from skimage import color, data, restoration
>>> img = color.rgb2gray(data.astronaut())
>>> from scipy.signal import convolve2d
>>> psf = cp.ones((5, 5)) / 25
>>> img = convolve2d(img, psf, 'same')
>>> img += 0.1 * img.std() * cp.random.standard_normal(img.shape)
>>> deconvolved_img = restoration.unsupervised_wiener(img, psf)

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cucim.skimage.restoration.unsupervised_wiener。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。