【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(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.mzph.cn/news/46727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx防盗链

防盗链介绍 通过二次访问,请求头中带有referer,的方式不允许访问静态资源。 我们只希望用户通过反向代理服务器才可以拿到我们的静态资源,不希望别的服务器通过二次请求拿到我们的静态资源。 盗链是指在自己的页面上展示一些并不在自己服务…

badgerdb里面的事务

事务的ACID A 原子性(Atomicity) 多步骤操作,只能是两种状态,要么所有的步骤都成功执行,要么所有的步骤都不执行,举例说明就是小明向小红转账30元的场景,拆分成两个步骤,步骤1&#…

【Windows系统编程】06.HotFixHook与进程通信(详解HotFixHook)

上一讲讲到的InlineHook,每次Hook的时候,都要读写两次内存(先Hook,再还原)这种Hook方式,性能比较低,今天我们讲的这种Hook方式,可以说是InlineHook的升级版本 HotFix(热…

公众号11周年,终于向公域流量打开了大门

是的,在这篇文章要发布之前,看了下日期,才惊觉明天就是公众号11周年了。 时间真的过得飞快,总觉得10周年刚过不久。 已经11年的公众号,或许少了很多关注,或许很多目光也被视频号夺去了。 但让人欣喜的是…

前馈神经网络dropout实例

直接看代码。 (一)手动实现 import torch import torch.nn as nn import numpy as np import torchvision import torchvision.transforms as transforms import matplotlib.pyplot as plt#下载MNIST手写数据集 mnist_train torchvision.datasets.MN…

基于开源模型搭建实时人脸识别系统(四):人脸质量

续人脸识别实战之基于开源模型搭建实时人脸识别系统(三):人脸关键点、对齐模型概览与模型选型_CodingInCV的博客-CSDN博客 不论对于静态的人脸识别还是动态的人脸识别,我们都会面临一个问题,就是输入的人脸图像的质量可…

使用 OpenTelemetry 构建可观测性 04 - 收集器

在之前的博文中,我们讨论了如何使用 SDK 和链路追踪生产者来导出进程中的遥测数据。尽管有多种类型的导出器可供选择,但其中一个常见的目标是将数据导出到 OpenTelemetry Collector。本篇文章将深入探讨收集器以及如何使用它。 选 OTel Collector 还是…

Eduma主题 - 线上教育WordPress主题/网站

Eduma主题 – 线上教育WordPress主题是为教育网站、LMS、培训中心、课程中心、学院、大学、学校、幼儿园而制作的。基于我们使用以前的主题eLearning WP构建WordPress LMS的经验,Education WP是下一代,也是围绕WordPress最好的教育主题之一,它…

一个炫酷的头像悬停效果 2

基于上次翻译的 🔥🔥一个炫酷的头像悬停效果 收获了不少同学的喜欢,原作者近期进行了优化升级。本文将升级后的核心实现过程进行梳理讲解,如果没看过第一期的推荐先看看第一期的实现过程。升级后的效果如下图所示。 gif动画效果如…

Baklib是比语雀、Notion、石墨文档更好用的在线知识库管理工具

在当今信息爆炸的时代,如何高效地管理和利用知识成为了每个人都面临的问题。在线知识库管理工具应运而生,帮助用户整理、存储和共享知识。在这篇文章中,我将介绍一个更好用的在线知识库管理工具——Baklib,并探讨它相对于其他知识…

Spring系列篇--关于IOC【控制反转】的详解

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Spring的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.什么是Spring 二.Spring的特点 三.什…

【O2O领域】Axure外卖订餐骑手端APP原型图,外卖众包配送原型设计图

作品概况 页面数量:共 110 页 兼容软件:Axure RP 9/10,不支持低版本 应用领域:外卖配送、生鲜配送 作品申明:页面内容仅用于功能演示,无实际功能 作品特色 本品为外卖订餐骑手端APP原型设计图&#x…

Datawhale Django 后端开发入门 Task05 DefaultRouter、自定义函数

一、DefaultRouter是Django REST framework中提供的一个路由器类,用于自动生成URL路由。路由器是将URL与视图函数或视图集关联起来的一种机制。Django REST framework的路由器通过简单的配置可以自动生成标准的URL路由,从而减少了手动编写URL路由的工作量…

Redis Lua脚本执行原理和语法示例

Redis Lua脚本语法示例 文章目录 Redis Lua脚本语法示例0. 前言参考资料 1. Redis 执行Lua脚本原理1.1. 对Redis源码中嵌入Lua解释器的简要解析:1.2. Redis Lua 脚本缓存机制 2. Redis Lua脚本示例1.1. 场景示例1. 请求限流2. 原子性地从一个list移动元素到另一个li…

基于郊狼算法优化的BP神经网络(预测应用) - 附代码

基于郊狼算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于郊狼算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.郊狼优化BP神经网络2.1 BP神经网络参数设置2.2 郊狼算法应用 4.测试结果:5.Matlab代码 摘要…

【深入解析:数据结构栈的魅力与应用】

本章重点 栈的概念及结构 栈的实现方式 数组实现栈接口 栈面试题目 概念选择题 一、栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数…

指针(一)【C语言进阶版】

大家好,我是深鱼~ 【前言】: 指针的主题,在初阶指针章节已经接触过了,我们知道了指针的概念: 1.指针就是个变量,用来存放地址,地址的唯一标识一块内存空间(指针变量)&a…

【云原生|Docker系列第3篇】Docker镜像的入门实践

欢迎来到Docker入门系列的第三篇博客!在前两篇博客中,我们已经了解了什么是Docker以及如何安装和配置它。本篇博客将重点介绍Docker镜像的概念,以及它们之间的关系。我们还将学习如何拉取、创建、管理和分享Docker镜像,这是使用Do…

jenkins同一jar包部署到多台服务器

文章目录 安装插件配置ssh服务构建完成后执行 没有部署过可以跟这个下面的步骤先部署一遍,我这篇主要讲jenkins同一jar包部署到多台服务器 【Jenkins】部署Springboot项目https://blog.csdn.net/qq_39017153/article/details/131901613 安装插件 Publish Over SSH 这…

stm32g070的PD0/PD2 PA8和PB15

目前在用STM32G070做项目,其中PD2TIMER3去模拟PWM,PD0用作按键检测,测试发现PD0低电平检测没有问题,高电平检测不到,电路图如下图所示: 用万用表测试电平,高电平1.0V左右,首先怀疑硬…