【问题标题】:Direct 2D FFT from sinogram. Polar to cartesian grid interpolation in Matlab来自正弦图的直接 2D FFT。 Matlab中的极坐标到笛卡尔网格插值
【发布时间】:2014-09-29 04:07:24
【问题描述】:

在断层扫描成像理论中,正弦图被记录下来,它是样品在不同角度的一系列投影。对该投影进行 FFT 可以得到样本在频率空间中的极坐标切片。

命令[X,Y] = pol2cart(THETA,RHO) 不会自动执行。那么,极坐标到笛卡尔网格插值是如何在 Matlab 中以二维数值方式实现的呢?

【问题讨论】:

    标签: matlab grid fft tomography-reconstruction


    【解决方案1】:

    你需要做一个相变:

    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;
    

    【讨论】:

      【解决方案2】:

      函数 [X,Y] = pol2cart(THETA,RHO) 只进行坐标值转换,即 X = RHO * cos(THETA) 和 Y = RHO * sin(THETA)。但是,您需要的是数据数组的转换,因此 pol2cart() 对您的问题无能为力。

      可以参考函数 interp2()。另一方面,由于这个问题是复杂数据的插值,我不确定 interp2() 是否可以直接完成这项工作。我还需要复杂插值的理论。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-06-17
        • 2015-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多