关于matlab中Radon变换的几个问题
憨人 2008-05-15 08:37:50 小弟在做关于图形重建的毕设
研究Matlab中自带函数Radon()和iRadon()时发现了几个问题不是很理解在此请教了
以下出自iRadon.m
................
.................
xax = (1:N)-ceil(N/2);
x = repmat(xax, N, 1); % x coordinates, the y coordinates are rot90(x)
y = rot90(x);
...............
................
for i=1:length(theta)
proj = p(:,i);
t = round(x*costheta(i) + y*sintheta(i));
img = img + proj(t+ctrIdx);
end
matlab 自带的iradon函数里的片断
其中x为一矩阵 y是x反转90度
那么t = round(x*数字 + y*数字)
这句话的含义是什么啊?
最后t的结果是x*数字 + y*数字这个矩阵对各个值再求整?
还有最后一个proj(t+ctrIdx)
proj应该是一个向量
那么括号里的是索引?
t已经是矩阵了,那么这个索引的含义是什么啊?
可最后运行结果却是一个矩阵
还有一个问题就是
iRadon()这个函数用到了FFT(p)对投影数据进行快速傅里叶变换
既然是图像应该使用FFT2才对 为什么这里是这么使用的呢?
并且FFT是一维复立叶变换才对这里却可以作用在矩阵上 所得的数据与用FFT2作出的还不一样
最后得出的结论让我彻底糊涂 以至进入崩溃状态
大虾救命啊~~~
小人要用硬件来实现iradon的功能 所以不能用matlab
急切盼望高手解答到底怎么理解