Ramp滤波的Matlab,MATLAB如何在頻域實現Ram-Lak濾波器(Ramp濾波器)?

你列出的公式是:如果你想要做逆Radon變換而不會在傅立葉域中濾波的中間結果。另一種方法是在空間域中使用卷積來完成整個濾波反投影算法,這在40年前可能更快;你最終會重新發布你發佈的公式。但是,我現在不會推薦它,特別是不適合你的第一次重建。你應該首先理解希爾伯特變換。

總之,這裏的一些Matlab代碼它執行強制性Shepp - 洛根幻像濾波反投影重建。我展示瞭如何使用Ram-Lak過濾器進行自己的過濾。如果我真的有動力,我會用一些interp2命令和總結替換氡/ iradon。

phantomData=phantom();

N=size(phantomData,1);

theta = 0:179;

N_theta = length(theta);

[R,xp] = radon(phantomData,theta);

% make a Ram-Lak filter. it's just abs(f).

N1 = length(xp);

freqs=linspace(-1, 1, N1).';

myFilter = abs(freqs);

myFilter = repmat(myFilter, [1 N_theta]);

% do my own FT domain filtering

ft_R = fftshift(fft(R,[],1),1);

filteredProj = ft_R .* myFilter;

filteredProj = ifftshift(filteredProj,1);

ift_R = real(ifft(filteredProj,[],1));

% tell matlab to

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值