Matlab的radon变换是否存在默认辐射强度设置?
关于MATLAB radon函数计算逻辑的解答
核心结论
- MATLAB内置的
radon函数没有设置任何默认辐射强度参数,返回的结果仅为纯线积分计算值,不涉及辐射衰减的物理量预设。
结合你的测试代码验证
你给出的测试用例是200×200的背景为0的图像,中间100×100的区域像素值为1,我们可以直接用这个案例验证逻辑:
I = zeros(200, 200); I(50:150, 50:150) = 1; figure; imshow(I); title('Original image'); [R, xp] = radon(I,[0, 45]); figure; plot(xp, R(:, 1)); title('Radiance Intensity'); theta = 0:180; [R1, xp1] = radon(I, theta); figure; imagesc(theta, xp1, R1); colormap(hot); colorbar; xlabel('{\theta} (degrees)'); ylabel('x{\prime}'); title('Sine figure'); I1 = iradon(R1, theta); figure; imshow(I1); title('Reconstructed image');
- 当投影角度为0度时,完全穿过中间亮块的积分路径长度为100像素,对应
R(:,1)的峰值就是100,刚好等于路径上像素值的积分结果,没有额外缩放。 - 你用
iradon反变换得到的I1数值范围和原图一致,也说明radon计算过程没有额外的固定系数缩放,如果预设了入射强度,反变换结果会出现全局数值偏移。
物理场景映射说明
你提到的“辐射强度衰减量”是CT成像的物理模型映射规则:如果你的输入图像I存储的是物体各位置的线性衰减系数,那么radon的线积分结果就对应比尔-朗伯定律里的ln(I₀/I),其中入射强度I₀需要你根据实际实验场景自行定义,radon函数本身不会内置这个参数。
内容的提问来源于stack exchange,提问作者kepler
相关产品推荐
相关产品推荐

