【用于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代码实现) 的相关文章

  • 一次分配多个字段的聪明方法?

    由于遗留函数调用 我有时被迫编写像这样的丑陋的包装器 function return someWrapper someField a someField a b someField b and so on realistically it
  • 继续在 Matlab 中一遍又一遍地播放声音?

    我正在尝试创建一个 MATLAB 程序来每隔几分钟一遍又一遍地播放声音 现在我将其设置为每隔几秒播放一次 只是为了消除系统中的一些错误 但是 当我的程序尝试重播声音时 我收到此错误 Error using gt audioplayer au
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA
  • FFT 的功率谱密度

    我有一段代码可以获取部分信号的 FFT 现在我正在尝试获取 PSD Fs 44100 cj sqrt 1 T 6 dt 1 Fs left test 1 right test 2 time 45 interval 636 w range t
  • 在 Matlab 中保存当前运行的脚本

    有没有办法保存Matlab中当前运行的脚本 我有一个脚本 它会自动备份一组脚本 但如果我更改了当前脚本 则保存的版本将过期 也许可以调用一些java Thanks 在 Yair Altman 网站上的某个地方 请参阅我的其他答案中的链接 他
  • 在 Excel 中打印 MATLAB 图窗并调整其大小

    我在 MATLAB 中有两个带有手柄的图形hFig1 and hFig2 我想将它们打印到 Excel 中的特定单元格 单元格 E3 和 I3 并将它们重新调整为 2 英寸 x 3 英寸 我尝试过使用 AddPictures对象处理程序和使
  • matlab mex 文件和 C++ dll (Windows)

    我有一个带有 Test 类的 DLL 标题 class MY EXPORT Test public int doit const string str 和来源 int Test doit const string str return in
  • 在 MATLAB 中检索 spfun、cellfun、arrayfun 等中的元素索引

    有什么办法可以找回index调用函数的元素的cellfun arrayfun or spfun行为 即检索函数范围内元素的索引 为了简单起见 假设我有以下玩具示例 S spdiags 1 4 0 4 4 f spfun x 2 x S 它构
  • 在另一列中添加具有特定条件的一列,如 excel 的 sumif

    我有一个像这样的矩阵 A 1 2 2 3 3 4 4 5 5 6 6 8 7 9 8 5 9 4 现在我想添加第二列 条件是如果 limit 0 interval 3 且 limit limit interval 或者换句话说 当第 1 列
  • 如何在 Matlab 中使用谷歌翻译?

    我正在编写一个程序 使用 Matlab 列出电影字幕文件中的所有唯一单词 现在我有一个独特的单词列表 我想将其翻译成我的语言并在观看电影之前了解其含义 有谁知道如何在 Matlab 中使用 Google Translate 以便完成我的脚本
  • MATLAB 中的多个捕获组

    我有一个包含数字或字母的字符串a 可能紧随其后的是r or l 在 MATLAB 中 以下正则表达式返回为 gt gt regexp 10r 0 9 a l r match ans 10r 我希望10 and r分开 因为我有两个捕获组 有
  • MATLAB - 如何将子图一起缩放?

    我在一张图中有多个子图 每个图的 X 轴是相同的变量 时间 每个图上的 Y 轴都不同 无论是它所代表的内容还是数据的大小 我想要一种同时放大所有图的时间尺度的方法 理想情况下 可以在其中一张图上使用矩形缩放工具 并让其他图相应地更改其 X
  • 使用 MATLAB 进行线路跟踪

    我有一个图像 我想将其转换为逻辑图像 包括线条为黑色 背景为白色 当然 可以使用阈值方法来实现这一点 但我不想使用这种方式来做到这一点 我想通过使用线路跟踪方法或类似的方法来检测它 这是关于视网膜血管检测的 我找到了一个article ht
  • 使用符号求解器仅求解某些变量

    我正在尝试在 MATLAB 中求解包含 3 个变量和 5 个常量的方程组 是否可以使用solve求解三个变量 同时保持常量为符号而不用数值替换它们 当您使用SOLVE http www mathworks com access helpde
  • 我需要转义该 MATLAB 字符串中的字符吗?

    我想在 MATLAB 中调用以下 bash 命令 grep Up to test linux vision1 1 log awk print 7 I use system 在MATLAB中 但结果有错误 gt gt status strin
  • MATLAB - 冲浪图数据结构

    我用两种不同的方法进行了计算 对于这些计算 我改变了 2 个参数 x 和 y 最后 我计算了每种变体的两种方法之间的 误差 现在我想根据结果创建 3D 曲面图 x gt on x axis y gt on y axis Error gt o
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 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 不太确定如何解决这个问题 通常你需要一个协方差并且意
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标

随机推荐