在断层扫描成像的理论中,正弦图被记录,其是在样本的不同角度处的一系列投影。对这些投影进行FFT可以在频率空间中对样本的极坐标进行切片。正弦二维FFT正弦图。在Matlab中的极坐标网格插值
命令[X,Y] = pol2cart(THETA,RHO)
不会自动执行。那么,如何在Matlab中以二维数字方式实现极坐标网格插值?
在断层扫描成像的理论中,正弦图被记录,其是在样本的不同角度处的一系列投影。对这些投影进行FFT可以在频率空间中对样本的极坐标进行切片。正弦二维FFT正弦图。在Matlab中的极坐标网格插值
命令[X,Y] = pol2cart(THETA,RHO)
不会自动执行。那么,如何在Matlab中以二维数字方式实现极坐标网格插值?
你需要做一个相变:
theta = 0:0.1:2*pi;
rho = linspace(0,1,numel(theta));
[x,y] = pol2cart(-theta+pi/2,rho);
figure;
subplot(1,2,1);
polar(theta,rho);
subplot(1,2,2);
plot(y,x);
axis([-1 1 -1 1]);
grid on;
的函数[X,Y] = pol2cart(THETA,RHO)仅执行的坐标值的转换,即,X = RHO * cos(THETA)和Y = RHO * sin(THETA)。但是,您需要的是数据数组的转换,因此pol2cart()对您的问题无能为力。
您可以参考函数interp2()。另一方面,由于这个问题是COMPLEX数据的插值问题,我不确定interp2()是否可以直接完成这项工作。我也需要复杂插值的理论。