Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 反褶积提取潜在核_Python_Scipy_Fft_Convolution - Fatal编程技术网

Python 反褶积提取潜在核

Python 反褶积提取潜在核,python,scipy,fft,convolution,Python,Scipy,Fft,Convolution,假设A*X=B是一个全卷积;因此,如果矩阵A是nxn而矩阵x是mxm,矩阵B必须是(N+M-1)x(N+M-1)。我知道A和B,但不知道X;所以我想找到它 由于傅里叶变换的反褶积要求所有相关矩阵的大小相同,因此我们用零填充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) / f

假设
A*X=B
是一个
全卷积
;因此,如果
矩阵A
是nxn而
矩阵x
是mxm,
矩阵B
必须是(N+M-1)x(N+M-1)。我知道
A
B
,但不知道
X
;所以我想找到它

由于傅里叶变换的反褶积要求所有相关矩阵的大小相同,因此我们用零填充
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
。知道
M
N
小得多,我如何提取潜在内核
X

先谢谢你