【问题标题】:Fit 3D matrices to same gray values将 3D 矩阵拟合到相同的灰度值
【发布时间】:2015-06-11 09:27:59
【问题描述】:

我正在尝试拟合两个数据集。其中包含使用两种不同测量设备(X 射线与 µct)测量同一物体的结果。

我确实设法重建了图像数据并适应了堆栈的方向和偏移量。它看起来像这样(大约 500 张图片中的一张):

这里的重点是在 X 射线数据上比较几种去噪算法(左)。假设来自 µCT(右)的数据接近真实信号,没有任何噪声。因此,我想将来自每个算法的去噪 X 射线数据与来自 µCT 的“纯”信号进行比较,以查看哪种算法产生最低的 RMS 误差。因此,我需要以某种方式将左侧部分的灰度值拟合到右侧部分的灰度值,而不需要过多地处理噪声。

右侧的灰度值在 0 到 100 的范围内,而 X 射线数据的范围从大约 4000 到 30000。“气泡”在大约 8000 到 11000 的范围内。(那些不是真正的气泡而是一个从 3D 打印机出来的带有孔的人造模型)

我尝试做的是(某种)带状传递这些气泡并将它们映射到 ~100,同时将其他所有值移向 4(这是 µCT 数据背景的值)。

代码如下:

zwst = zwsr;
zwsr(zwst<=8000)=round(zwst(zwst<=6500)*4/8000);
zwsr(zwst<=11000 & zwst>8000)= round(zwst(zwst<=11000 & zwst>8000)/9500*100);
zwsr(zwst>11000)=round(zwst(zwst>11000)*4/30000);

结果如下所示:

其中一些气泡看起来变形了,背景中的噪音部分完全消失了。在保持噪声部分的同时,有没有更好的方法来拟合这些灰度值?

编辑:澄清一下:µCT 数据被假定为无噪声,而 X 射线数据被假定为有噪声。换句话说,µCT = signalx-ray = signal + noise。为了量化我的去噪方法的质量,我想计算x-ray - µCT = noise

【问题讨论】:

    标签: matlab image-processing histogram grayscale data-fitting


    【解决方案1】:

    评论太长了,我相信一个合理的答案:

    图像处理/信号处理有一个巨大的子领域,称为图像融合。甚至还有一个使用小波的特定 Matlab 库 (http://uk.mathworks.com/help/wavelet/gs/image-fusion.html)。

    图像融合背后的想法是:给定 2 张相同的图像,但分辨率/数据非常不同,我们如何创建包含两者信息的单个图像?

    “手工”拼接两个图像通常不会产生很好的结果,因此有大量的数学技术可以做到这一点。小波在这里很常见。

    通常,这种技术广泛用于医学成像,因为(就像您的情况一样)不同的成像技术会提供不同的信息,而医生希望将所有这些技术结合在一起:

    示例(顶行:图像粘贴在一起,底行:图像融合技术)

    看看一些论文、一些 matlab 教程,你可能会使用易于使用的 matlab 代码到达那里,而无需任何花哨的最先进的编程。

    祝你好运!

    【讨论】:

    • 感谢您的建议。我确实从 Matlab 的小波工具箱中查看了“wfusimg”。不幸的是,这似乎不能解决我的问题。这种图像融合方法将两个图像中的数据组合成一个新图像,这不是我想要的。事实上,除了适当缩放灰度值之外,不得更改来自 X 射线的数据。目标是以这样一种方式缩放 X 射线数据,使来自 X 射线和 µCT 的信号电平(接近)相等,以便保留噪声。我编辑了帖子以澄清这一点。
    • @Dominic 我明白了。但请注意:小波在消除噪音方面非常出色。
    • 感谢提示,我的去噪方法都是基于小波系数操作的。 ;-) 好东西。
    猜你喜欢
    • 2021-05-25
    • 2022-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 2022-06-14
    • 2015-01-24
    • 2016-12-11
    相关资源
    最近更新 更多