解卷积以提取潜在内核

时间:2014-03-20 12:48:38

标签: python scipy fft convolution

假设A * X = Bfull-convolution;因此,如果matrix A是N x N且matrix X是M x M,则matrix B必须是(N + M-1)x(N + M-1)。我知道AB,但不知道X;所以我想找到它。

由于傅里叶变换的反卷积要求所有相关矩阵具有相同的大小,我们用{0}填充A成为(N + M-1)x(N + M-1)。

这很容易在Python中完成,

import numpy as np
from numpy.fft import fft2, ifft2

shape = B.shape
X_pre = ifft2(fft2(B, shape) / fft2(A, shape)).real

X = X_pre[:??, :??] # what do I put here to extract the latent kernel X?

问题是X_pre的大小是(N + M-1)x(N + M-1),但我想得到大小为M x M的X 。知道MN小得多,我如何提取潜在内核X

提前致谢...

0 个答案:

没有答案