首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用氡和iradon时,云纹在重建图像中显示出来。

当使用氡和iradon时,云纹在重建图像中显示出来。
EN

Stack Overflow用户
提问于 2019-05-18 17:00:26
回答 1查看 274关注 0票数 2

我用这个脚本重建了Shepp幻影的图像。

基本上,它只是简单地使用radon获取sinogram,并使用iradon将其转换回来。

然而,我发现当我调整对比度时,可以看到一个非常明显的云纹图案。如果我使用我的CT图像数据集,这就更加明显了。

有人能帮我理解这一点吗?谢谢!

代码语言:javascript
复制
img = phantom(512)*1000;
views = 576;
angles = [0:180/576:180-180/576];
sino = radon(img,angles);
img_rec = iradon(sino,angles);
imshow(img_rec,[]);

调整对比度后的完整图像:

有明显莫尔图案的区域:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-20 04:57:59

这种情况的发生可能是由于以下一些因素:

  • 在MATLAB 文档中,iradon使用“Ram”(称为斜坡滤波器)滤波作为默认,不使用任何窗口来消除高频中的噪声。你说“如果我使用我的CT图像数据集,这就更明显了”,这是因为图像中有真实的噪音。文档本身建议使用一些窗口:

“由于这种滤波器对投影中的噪声很敏感,下面列出的滤波器中的一个可能更好。这些滤波器通过一个不强调更高频率的窗口将Ram-Lak滤波器相乘。”

  • 其他不便与投影仪本身有关。MATLAB的内置函数radoniradon没有考虑到探测器的尺寸和穿过像素的x射线长度。这些函数仅仅是像素驱动的方法,即它们基本上是对检测器中的像素进行几何投影和插值。

可能的解决办法:

今天有更先进的投影仪,如[1][2]。正如我所说的,我实现了distance-driven投影仪的2D计算机断层成像(CT)和三维数字乳房成像(DBT),所以请随意使用它在您的实验。

例如,我用距离驱动的方法生成了3600个等间距的幻影投影,并使用下面的行代码用iradon函数重构了它:

slice = iradon(sinogram',rad2deg(geo.theta));

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56201085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档