【用于OCT体积的散斑噪声降低】光学相干层析成像自适应复合散斑降噪滤波器研究(Matlab代码实现)

2023-12-05

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

????3 参考文献

????4 Matlab代码、数据、文章


????1 概述

文献来源:

摘要
意义:散斑噪声限制了光学相干断层扫描(OCT)图像的诊断能力,导致对比度降低,组织微结构形态的评估不够准确。

目的:我们提出了一种用于OCT体积的散斑噪声降低方法,利用自适应噪声小波阈值处理与应用于连续位置获取的几帧图像的小波合成方法的优势。该方法利用了散斑统计的小波表示,从噪声体积的均匀样本或区域中正确计算出来。

方法:首先,提出的方法在三种不同的临床皮肤科OCT体积和三种不同的OCT设置上,与不同的最先进方法进行了定量比较。该方法还被应用于一个公共的视网膜光谱域OCT数据集,以展示其适用于不同成像模式。

结果:基于四种不同的指标,结果表明,所提出的方法在抑制噪声和保留结构信息方面,表现出了最佳性能。

结论:所提出的OCT去噪技术有潜力适应不同的图像OCT设置和噪声环境,并在临床诊断前基于视觉评估改善图像质量。

1.介绍
光学相干断层扫描(OCT)是一种光学成像技术,允许以微米分辨率和最多两毫米深度实时观察体内组织的横截面图像。OCT广泛应用于各种生物医学和临床领域,如眼科学(作为诊断和监测疾病进展的常规无创工具)和心脏病学(作为冠状动脉介入期间的导管成像系统)。在皮肤科学中,OCT已被用于研究各种皮肤疾病。OCT在皮肤科中最重要的应用是评估非黑色素性皮肤癌,如基底细胞癌(BCC),并减少对诊断活检的需求。

由于OCT使用空间相干照明,其图像受到散斑现象的影响,散斑现象既是噪声的来源,也是信息的载体。散斑携带信号信息是入射光子的背向散射的结果,而散斑噪声是由来自多个方向的多个反射光子之间的随机干涉引起的。散斑噪声使OCT图像呈现颗粒状外观,降低了信噪比(SNR),限制了其解释的准确性。散斑的特性受到尺度表示、光学设置和生物组织的散射特性的影响。

详细讲解见第4部分。

???? 2 运行结果

主函数代码:

clear all;
close all;

% add all the subfolders to the path
addpath(genpath(pwd));

% step 1
% load the ROIS
% load the noiseRef
% load the volume

rois = load('./conf/volume_rois_1_1.mat');
noise = load('./conf/noiseRef_volumes_1X.mat');
volume_raw = loadstack('./testdata/volume_1_1.tif','uint16');

% step 2
% apply the method
paramK=1;
addmean='no';
numlevels = 4;
sizelimit = 2.^numlevels;
sizeVol = size(volume_raw);
size_1 = floor(sizeVol(1)/sizelimit)*sizelimit;
size_2 = floor(sizeVol(2)/sizelimit)*sizelimit;
imageVol = volume_raw(1:size_1,1:size_2,:);

% Add the mean as the last frame
if strcmp(addmean,'yes')
imageVol(:,:,size(imageVol,3)+1) = mean(imageVol,3);
end

result_wcan = wcan(imageVol,noise.noiseRef,'k', paramK, 'maxLevel', numlevels, 'basis','haar');


% step 3
% get the metrics and plot the results
metrics = getmetrics( 'WCAN', imageVol(1:size(result_wcan,1),1:size(result_wcan,2),1), result_wcan, rois.ROINOISE, rois.ROISCNR );
disp(strcat('Improvement metrics- SNR: ',sprintf('%.2f',metrics.SNR),'dB, CNR: ',sprintf('%.2f',metrics.CNR),', ENL:',sprintf('%.2f',metrics.ENL)));

% save the result
imwrite(result_wcan,'../results/result_test_wcan.png')

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

???? 4 Matlab代码、数据、文章

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【用于OCT体积的散斑噪声降低】光学相干层析成像自适应复合散斑降噪滤波器研究(Matlab代码实现) 的相关文章

  • 计算数组中接下来的 n 个元素的乘积

    我想计算下一个的乘积n矩阵的相邻元素 号码n要相乘的元素数应在函数的输入中给出 例如 对于此输入 我应该从第一个开始计算每 3 个连续元素的乘积 p ind max product 1 2 2 1 3 1 3 这给出了 1 2 2 2 2
  • Matlab Mex文件编译

    我正在尝试编译一个 mex 文件以在 matlab 中使用套接字连接 问题是它总是说我没有安装sdk或编译器 但我已经安装了 Visual Studio 2010 Express Visual Studio 2012 Express Vis
  • MATLAB - 如何将子图一起缩放?

    我在一张图中有多个子图 每个图的 X 轴是相同的变量 时间 每个图上的 Y 轴都不同 无论是它所代表的内容还是数据的大小 我想要一种同时放大所有图的时间尺度的方法 理想情况下 可以在其中一张图上使用矩形缩放工具 并让其他图相应地更改其 X
  • Matlab:保存后翻转图例顺序和图例重叠图

    我正在尝试根据以下内容反转我的图例条目顺序matlab条形图中图例颜色的逆序 https stackoverflow com questions 31178005 reverse ordering of legend colors in m
  • 在 MATLAB 中重命名文件

    我正在尝试以编程方式重命名工作目录中的文件a temp txt to b hello txt 您建议如何这样做 MATLAB中有一个简单的文件重命名函数吗 我认为您正在寻找 MOVEFILE
  • Matlab没有优化以下内容吗?

    我有一个很长的向量 1xrv 和一个很长的向量w1xs 和一个矩阵Arxs 它是稀疏的 但维度非常大 我期望 Matlab 对以下内容进行优化 这样我就不会遇到内存问题 A v w 但看起来 Matlab 实际上是在尝试生成完整的v w矩阵
  • 如何在 Matlab 中将数组打印到 .txt 文件?

    我才刚刚开始学习Matlab 所以这个问题可能非常基本 我有一个变量 a 2 3 3 422 6 121 9 4 55 我希望将值输出到 txt 文件 如下所示 2 3 3 422 6 121 9 4 55 我怎样才能做到这一点 fid f
  • 有没有办法在matlab中进行隐式微分

    我经常使用 matlab 来帮助我解决数学问题 现在我正在寻找一种在 matlab 中进行隐式微分的方法 例如 我想区分y 3 sin x cos y exp x 0关于dy dx 我知道如何使用数学方法通常做到这一点 但我一直在努力寻找使
  • 在 Matlab 中将 datenum 转换为 datetime 的最快方法

    我在 Matlab 中将 datenum 转换为 datetime 时遇到问题 Given dnum floor now floor now 1 我尝试了以下方法 datenum dnum 但这没有用 我发现有效的方法是 datetime
  • 如何找到平面和 3d 矩阵之间的交平面

    如果我有一堆图像并且尺寸如下 size M 256 256 124 我有 3 个点 它们的坐标是 coor a 100 100 124 coor b 256 156 0 coor c 156 256 0 如何创建 M 与这 3 个点定义的平
  • 理解高斯混合模型的概念

    我试图通过阅读在线资源来理解 GMM 我已经使用 K 均值实现了聚类 并且正在了解 GMM 与 K 均值的比较 以下是我的理解 如有错误请指出 GMM 类似于 KNN 在这两种情况下都实现了聚类 但在 GMM 中 每个簇都有自己独立的均值和
  • MATLAB - 冲浪图数据结构

    我用两种不同的方法进行了计算 对于这些计算 我改变了 2 个参数 x 和 y 最后 我计算了每种变体的两种方法之间的 误差 现在我想根据结果创建 3D 曲面图 x gt on x axis y gt on y axis Error gt o
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 给定协方差矩阵,在Matlab中生成高斯随机变量

    Given a M x M期望的协方差 R 以及所需数量的样本向量 N计算一个N x M高斯随机向量 X在普通 MATLAB 中 即不能使用r mvnrnd MU SIGMA cases 不太确定如何解决这个问题 通常你需要一个协方差并且意
  • 对数据进行分布拟合 - MATLAB

    我正在尝试对从显微镜图像中收集的一些数据进行分布 我们知道 152 左右的峰值是由于泊松过程造成的 我想将分布拟合到图像中心的大密度 同时忽略高强度数据 我知道如何将正态分布拟合到数据 红色曲线 但它不能很好地捕获右侧的重尾 尽管泊松分布应
  • Matlab dec2bin 给出错误的值

    我正在使用 Matlab 的 dec2bin 将十进制数转换为二进制字符串 但是 我得到了错误的结果 例如 gt gt dec2bin 13339262925365424727 ans 101110010001111010010100111
  • 如何在MATLAB中显示由三个矩阵表示的图像?

    我有 3 个相同大小的 2D 矩阵 假设 200 行和 300 列 每个矩阵代表三种 基本 颜色 红色 绿色和蓝色 之一的值 矩阵的值可以在 0 到 255 之间 现在我想组合这些矩阵以将它们显示为彩色图像 200 x 300 像素 我怎样
  • MATLAB 类的 Description 和DetailedDescription 属性

    内置 MATLAB 类具有 Description 和 DetailedDescription 属性的值 gt gt handle ans meta class handle Package meta Properties Name han
  • MATLAB:在不使用循环的情况下提取矩阵的多个部分

    我有一个巨大的 2D 矩阵 我想从中提取 15 个不同的 100x100 部分 我有两个向量 x 和 y 其中保存了零件的左上角索引 我用过这样的东西 result cam1 x 1 end x 1 end 99 y 1 end y 1 e
  • MATLAB 列含义的内存分析

    我正在使用 MATLAB 配置文件来使用命令观察内存 profile memory on profile clear my code profile report and i got this table 1 我想问一下什么意思 已分配内存

随机推荐