如何将球面几何y=f(r)的已知响应函数应用于3D矩阵?

2024-06-02 07:41:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个3D矩阵M=M(I,j,k),基本上是一个CT扫描,我想去卷积一个已知的响应函数,它具有球对称性y=f(r)。响应函数基本上是机器获得的模糊效果,因此我将其参数化

我知道我可以用FFT去卷积,但所有的包都要求矩阵核。理论上,我可以从响应函数中得到矩阵核,但这一点都不好,因为我失去了分辨率,最终图像甚至比原始图像更模糊。 是否有直接应用响应函数的方法?或 有没有办法将分辨率更高的内核应用于矩阵3D? 最后一个问题有意义吗

from astropy.convolution import convolve_fft

kernel = self.build_kernel(res=[9,9,9]) # converts the response function in a kernel for FFT convolution
new_arr = convolve_fft(array=conv_arr, kernel=kernel, normalize_kernel=False) 

问题是,为了使内核与原始图像具有相同的分辨率,我丢失了它的主要特征。生成的图像甚至比原始图像更模糊


Tags: 图像fft机器分辨率矩阵kernel内核卷积