当前位置: 首页 > news >正文

【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

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

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

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、文章


💥1 概述

文献来源:

 摘要:

高速相干拉曼散射成像通过可视化目标分子或细胞内细胞器的时空动力学,为揭示细胞机制开辟了一条新途径。通过以MHz调制频率从激光器中提取信号,电流激发拉曼散射(SRS)显微镜已经达到了散粒噪声限制的检测灵敏度。SRS显微镜中基于激光的本振不仅可以产生高水平的信号,还可以产生较大的散粒噪声,从而降低图像质量和光谱保真度。在这里,我们展示了一种去噪算法,该算法通过总变异最小化来消除空间和光谱域中的噪声。对于稀释的二甲基亚砜溶液,SRS光谱图像的信噪比提高了57倍,对于生物组织,SRS光谱图像的信噪比提高了15倍。最初埋藏在噪声中的目标分子的弱拉曼峰被解开。将去噪算法与多变量曲线分辨率相结合,可以区分秀丽隐杆线虫中富含蛋白质的细胞器的脂肪储存。总之,我们的方法在没有帧平均的情况下显着提高了检测灵敏度,这对于体内光谱成像非常有用。

关键词:

成像处理 无标记显微镜 非线性显微镜 拉曼光谱

原文摘要:

High-speed coherent Raman scattering imaging is opening a new avenue to unveiling the cellular machinery by visualizing the spatio-temporal dynamics of target molecules or intracellular organelles. By extracting signals from the laser at MHz modulation frequency, current stimulated Raman scattering (SRS) microscopy has reached shot noise limited detection sensitivity. The laser-based local oscillator in SRS microscopy not only generates high levels of signal, but also delivers a large shot noise which degrades image quality and spectral fidelity. Here, we demonstrate a denoising algorithm that removes the noise in both spatial and spectral domains by total variation minimization. The signal-to-noise ratio of SRS spectroscopic images was improved by up to 57 times for diluted dimethyl sulfoxide solutions and by 15 times for biological tissues. Weak Raman peaks of target molecules originally buried in the noise were unraveled. Coupling the denoising algorithm with multivariate curve resolution allowed discrimination of fat stores from protein-rich organelles in C. elegans . Together, our method significantly improved detection sensitivity without frame averaging, which can be useful for in vivo spectroscopic imaging.

关键词:

Imaging processing Label-free microscopy Non-linear microscopy Raman spectroscopy

📚2 运行结果

 主函数代码:

clear all
close all
clc

addpath(genpath('./spectral_tv/'));

sel_exp     = 2;  % select an experiment (1 or 2)

% Set the number of rows, columns and frames.
M           = 128;
N           = 128;
K           = 50;

% Load a hyperspectral image (DMSO100%)
file_name   = '../data/DMSO100%.tif';
hyper_true  = read_hyperdata(file_name, M, N, K);
[rows, cols, frames] = size(hyper_true);

% Add noise in the hyperspectral image
if sel_exp==1
    tmp        = read_hyperdata('../data/DMSO10%.tif', M, N, K);
    sigma_true = estimate_noise_level(tmp);
elseif sel_exp==2
    sigma_true = 0.005:0.005:(0.005*frames);
end
hyper_noisy = zeros(rows, cols, frames);
for i=1:frames
    hyper_noisy(:,:,i) = hyper_true(:,:,i) + sigma_true(i)*randn(rows, cols);
end


% Spectral Total Variation
opts.beta   = [1 1 0.1];
runtime     = tic;
out_stv     = spectral_tv(hyper_noisy, opts);
runtime_stv = toc(runtime);
sigma_est   = out_stv.sigma;
psnr_stv    = psnr(hyper_true, out_stv.f);


% Original Total Variation
mu          = 1;
opts.w      = mean(out_stv.w(:));
opts.beta   = [1 1 0.1];
runtime     = tic;
out_tv      = deconvtvl2(hyper_noisy, 1, mu, opts);
runtime_tv  = toc(runtime);
psnr_tv     = psnr(hyper_true, out_tv.f);


% Print PSNRs between true and denoised images.
fprintf('Method: spectral tv, \t psnr: %6.4f, \t runtime: %6.4f\n', psnr_stv, runtime_stv);
fprintf('Method: original tv, \t psnr: %6.4f, \t runtime: %6.4f\n', psnr_tv, runtime_tv);

% Plot the true and estimeated noise level.
if sel_exp==1 || sel_exp==2
    figure;
    plot(sigma_true, 'LineWidth', 2, 'Color', 'g');
    hold on;
    plot(sigma_est, 'LineWidth', 2, 'Color', 'r');
    hold off;
    xlabel('frame');
    ylabel('noise standard deviation');
    legend('True', 'Estimated', 'Location', 'best');
end

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1] Chien-Sheng Liao, Joon Hee Choi, Delong Zhang, Stanley H. Chan and Ji-Xin Cheng, "Denoising Stimulated Raman Spectroscopic Images by Total Variation Minimization," Journal of Physical Chemistry C, Jul. 2015.

🌈4 Matlab代码、数据、文章

http://www.lryc.cn/news/117482.html

相关文章:

  • UEditorPlus v3.3.0 图片上传压缩重构,UI优化,升级基础组件
  • 百度翻译API整合SpringBoot
  • Spring @Primary、@Order、JSR @Priority作用与区别
  • 【Mac】mac 系统下格式化U盘或移动硬盘为ext4格式
  • ubuntu20.4 sgx环境配置
  • 01.图片下拉触底分页加载每张图片
  • “精准学习嵌入式开发:明确目标,提升技能“
  • C语言--联合体-共用体
  • echarts实现中国地图下钻进入下一级行政区(地图钻取)
  • 从0到1学会手写操作系统,我只用了2个小时
  • 软件包管理
  • 【逗老师的PMP学习笔记】9、项目资源管理
  • react-virtualized可视化区域渲染的使用
  • navicat连接postgresql报错
  • 题目:灾后重建
  • Vue 插槽 slot
  • 【C/C++】C语言位图操作实例(亲测)
  • Mahout教程_编程入门自学教程_菜鸟教程-免费教程分享
  • wxwidgets Ribbon使用wxRibbonToolBar实例
  • 8.9黄金最新行情走势分析及短线交易策略
  • VB+SQL房地产评估系统设计与实现
  • 用AOP实现前端传参时间的时区转化
  • mybatis There is no getter for property named ‘*‘ in ‘class java.lang.String
  • Mac终端前总会出现 (base) 字样解决
  • RabbitMQ面试题大全含答案
  • Linux配置QT Creator环境:ubuntu中安装QT Creator环境
  • 机器学习深度学习——池化层
  • siMLPe:Human Motion Prediction
  • 详解——JS map()方法
  • leetcode做题笔记57