用法:
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
输入降级图像。
- psf:ndarray
脉冲响应(输入图像的空间)或传递函数(傅立叶空间)。两者都被接受。传递函数被自动识别为复杂 (
cupy.iscomplexobj(psf)
)。- reg:ndarray,可选
正则化运算符。默认为拉普拉斯算子。对于 psf,它可以是脉冲响应或传递函数。
- user_params:字典,可选
Gibbs 采样器的参数字典。见下文。
- clip:布尔值,可选
默认为真。如果为真,则结果的像素值高于 1 或低于 -1 将被阈值化以实现 skimage 管道兼容性。
- x_postmean:(M, N) ndarray
去卷积图像(后均值)。
- chains:dict
noise
和prior
键分别包含噪声和先验精度的链表。
- The keys of ``user_params`` are:
- threshold:浮点数
停止标准:连续近似解之间的差异范数(对象样本的经验平均值,请参阅注释部分)。默认为 1e-4。
- burnin:int
开始计算平均值时要忽略的样本数。默认为 15。
- min_iter:int
最小迭代次数。默认为 30。
- max_iter:int
不满足
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
例子:
>>> 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)
相关用法
- Python cucim.skimage.restoration.richardson_lucy用法及代码示例
- Python cucim.skimage.restoration.calibrate_denoiser用法及代码示例
- Python cucim.skimage.restoration.wiener用法及代码示例
- Python cucim.skimage.restoration.denoise_tv_chambolle用法及代码示例
- Python cucim.skimage.registration.optical_flow_tvl1用法及代码示例
- Python cucim.skimage.feature.shape_index用法及代码示例
- Python cucim.skimage.util.invert用法及代码示例
- Python cucim.skimage.data.binary_blobs用法及代码示例
- Python cucim.skimage.filters.roberts_neg_diag用法及代码示例
- Python cucim.skimage.color.lch2lab用法及代码示例
- Python cucim.skimage.measure.label用法及代码示例
- Python cucim.skimage.color.rgb2gray用法及代码示例
- Python cucim.skimage.filters.gabor用法及代码示例
- Python cucim.skimage.transform.rescale用法及代码示例
- Python cucim.skimage.filters.roberts_pos_diag用法及代码示例
- Python cucim.skimage.segmentation.random_walker用法及代码示例
- Python cucim.skimage.filters.roberts用法及代码示例
- Python cucim.skimage.morphology.dilation用法及代码示例
- Python cucim.skimage.feature.corner_foerstner用法及代码示例
- Python cucim.skimage.measure.moments_coords用法及代码示例
注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cucim.skimage.restoration.unsupervised_wiener。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。