数据采样时,采用笛卡尔欠采样方式对空间编码数据进行随机采样,确定欠采样率,对式子3-4中的参数λ1和λ2进行选择,L+S 方法能更有效地去除动态图像中的运动伪影调节参数 λ1和 λ2能够调节优化模型中低秩成分和稀疏成分的权重,改变 λ1和 λ2取值会造成低秩矩阵和稀疏矩阵之间信息的混杂,从而影响低秩矩阵和稀疏矩阵的重建结果。但是由于我们关注的是动态磁共振图像的整体,而不是单独的动态前景或静态背景,改变 λ1和 λ2取值不会造成整体信息的丢失,因此重建算法对 λ1和 λ2的取值要求不严格。(当 λ1和 λ2取值改变较小时不会对重建图像质量造成明显的影响,但是当 λ1和 λ2取值变化较大时,会使重建图像的质量明显下降。)

共三个图像:分别是心脏灌注图像、心脏影像、腹部动态图像

  1. 对心脏灌注图像进行低秩稀疏分解(Example1)
  • 加载欠采样数据
  • 输入观测采样信号(即输入观测矩阵kdata)
  • 重建信号,其中所用到的算法是L+S重建(即函数[L,S] = lps_ist(param))
  1. L+S重建
  1. 输入参数

欠采样K空间编码算子(参数E)、稀疏变换算子(参数T)、奇异值阙值(参数λL)、稀疏值阙值(参数λS);

  1. 迭代循环

奇异值软阈值提取低秩成分;软阈值提取稀疏成分;

当(Lk+Sk-Lk-1+Sk-1)的范数<参数tol*(Lk-1+Sk-1的范数)停止迭代;

  1. 输出L、S的值。

算法流程步骤

Example1 图像低秩稀疏处理流程

心脏灌注图像低秩稀疏处理

Example1 L+S重建算法流程图

L+S重建流程图

程序部分

部分程序代码用法

  1. Function

用来定义函数,一般一个函数放在一个.m文件里。

假设定义比如最简单的一个函数如y=a+b。

例:function y=myfunction(a,b)

y=a+b;

保存为一个m文件myfunction.m,调用方式如下。

num=myfunction(3,4);

这样就可以由函数中的y=a+b得到num的值是3+4=7。

  1. Reshape

b=reshape(a,m,n)与reshape(a,[m,n])

把矩阵a以列为单位,拆分,形成一个一列的向量,在间隔新的矩阵的行数,选值,形成新的要求的矩阵。若对向量b进行reshape也可还原成原矩阵b的结构。

  1. zeros(m,n)

生成m×n全零阵

  1. [U,S,V]=svd(A)

参数说明:A:要进行SVD分解的矩阵,且A不必为方阵。

概括地说,U、S、V返回SVD的分解的结果;

U:A的奇异向量组成的矩阵,AA’的正交单位特征向量组成U。

S:对角矩阵,对角元素是A的奇异值,非负且按降序排列。

V:A的奇异向量组成的矩阵,A’A的正交单位特征向量组成V

  1. Diag

X = diag(v,k)

v为向量,X为矩阵

以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

例:

>> v=[1 2 3];

>> x=diag(v,-1)

x =

0     0     0     0

1     0     0     0

0     2     0     0

0     0     3     0

v=diag(X,k)

X为矩阵,v为向量

取矩阵X的第K条对角线元素为向量v

例:

>> aa=randn(3,3)

aa =

-1.3282   -1.7925    0.4092

-0.3803    0.5858   -0.4684

-0.9560    0.7356    0.8292

>> diag(aa)

ans =

-1.3282

0.5858

0.8292

>> diag(aa,1)

ans =

-1.7925

-0.4684

>> diag(aa,2)

ans =

0.4092

(6)  Abs

数值的绝对值和复数的幅值

基本用法:y=abs(x)函数对数组元素进行绝对值处理的函数。

函数的定义域包括复数。

对于复数x=a+b*i,有abs(x)=a2+b2。

(7)  Isnan

判断数组中的元素是否为无穷大

tf=isnan(A):返回一个与A相同维数的数组,若A的元素为NaN(非数值),在对应位置上返回逻辑1(真),否则返回逻辑0(假)。对虚数z,如果z的实部或虚部都是NaN,那么isnan函数返回逻辑1,如果实部和虚部都是inf,则返回逻辑0。

(8) TempFFT

实现三个维度的时间FFT变换

调用子程序

主程序调用此函数[L,S] = lps_ist(param),此函数的定义位于 lps_ist.m 文件中,,通过修改文件名可以实现直接被调用.m文件。

其功能即是实现欠采样数据的L+S重建,在实验流程图中有很详细的介绍。

程序实现

所给参考代码所处的图像如下:

心脏灌注图像

心脏影像

欠采样dMRI图像矩阵的低秩稀疏分解相关推荐

  1. 图像降噪算法——低秩聚类:WNNM算法

    图像降噪算法--低秩聚类:WNNM算法 图像降噪算法--低秩聚类:WNNM算法 1. 基本原理 2. matlab代码 3. 结论 图像降噪算法--低秩聚类:WNNM算法 同样是为了完善自己知识版图的 ...

  2. MATLAB可视化实战系列(四十二)-图像特征提取-使用低秩 SVD 进行图像压缩实例

    使用低秩 SVD 的图像压缩 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) ...

  3. 矩阵低秩张量分解_TKDE 2020 | CTRR:组稀疏约束的紧凑张量环回归

    论文标题:Smooth Compact Tensor Ring Regression论文作者:Jiani Liu, Ce Zhu, Yipeng Liu论文链接:https://ieeexplore. ...

  4. MicroNet: 低秩近似分解卷积以及超强激活函数,碾压MobileNet | 2020新文分析

    论文提出应对极低计算量场景的轻量级网络MicroNet,包含两个核心思路Micro-Factorized convolution和Dynamic Shift-Max,Micro-Factorized ...

  5. 矩阵低秩张量分解_【线性代数】张量-张量的计算

    本来吧,觉得张量这个东西稍微混一混假装知道个大概就行了.昨天拿到角动量那一章的讲义以后我发现事情并没有那么简单--总而言之,欠下的东西早晚要还的--碎碎念到此结束,进入正题.张量专题初步计划是分三个板 ...

  6. matlab矩阵的低秩分解,低秩分解的matlab代码看不懂,分解的两个矩阵在哪呀??...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 有四个文件:demo.m function [] = demo() %This routine demonstrates an example of us ...

  7. 【图像重建】基于matlab字典学习KSVD图像低秩重建【含Matlab源码 1762期】

    ⛄一.低秩稀疏图像重建简介 1 矩阵的低秩稀疏分解理论 从数学上讲, 矩阵的秩反应了矩阵的固有属性, 矩阵的低秩性是指矩阵的秩相对于矩阵的行数和列数而言很小.低秩矩阵稀疏分解模型是将已知矩阵M (M∈ ...

  8. 低秩矩阵的应用--背景建模

    背景建模是从拍摄的视频中分离出背景和前景. 由于背景的视频基本是不变的,所以如果把每帧当做一个矩阵的一列那么,矩阵是低秩的,所以低秩矩阵的恢复来恢复出背景. 今天主要完成了,在自己的数据库让进行背景和 ...

  9. 推荐系统之---如何理解低秩矩阵?

    1.说明 在推荐系统中有有一种推荐方式:LFM,也叫隐因子分解.这中推荐方式在Netflix公司的百万美金大赛中可以说是大放异彩.但是在这里面涉及到一个假设.假设评分矩阵是低秩的(Low rank). ...

  10. 机器学习——低秩矩阵分解中低秩的意义、矩阵填补、交叉验证

    在研读论文<Matrix completion by deep matrix factorization>时,遇到了一些不明白的知识点,花费了大量时间在网上查阅相关资料,终于找到了能够让自 ...

最新文章

  1. java隐藏控件_Android控件的显示和隐藏
  2. 私藏的7个实用工具,干货多到爆炸!
  3. 不同的二叉搜索树-战胜100%的Java用户
  4. 进阶阿里架构师:算法、编程语言、数据库、架构设计!书单推荐!
  5. formdata 接受参数中带有class 对象_浅析JAVA中的反射机制及对Servlet的优化
  6. Merkle Tree与区块链
  7. HTML DOM教程 18-HTML DOM Body 对象
  8. linux操作系统实用教程课后答案,Linux操作系统案例教程课后习题答案
  9. Mybatis源码分析(一) | 如何调试Mybatis源码
  10. 汽车自动驾驶技术与产品研发仿真测试软件—panosim(一)
  11. 笔记本计算机并行口什么开启,笔记本连接电脑台式机的方法
  12. 职场泥潭,这样的IT公司绝对不宜久留
  13. ORB-SLAM3论文翻译
  14. docker配置加速器的几种方案
  15. RHCE-ansible第二次实验,通过ansible远程yum安装
  16. 因机构系统维护服务暂不可用_因合作方系统维护,暂时无法使用是什么意思?...
  17. python迅雷远程下载页面_迅雷远程下载 linux
  18. JAVA通过COM接口操作PPT
  19. The King’s Ups and Downs HDU - 4489(计数+dp)
  20. 我不怕未知的困难,我只怕身边没有你

热门文章

  1. 西门子软件测试教程 博客,西门子视频教程合集
  2. visio指向插图任意位置和任意改变箭头形状
  3. biopython有什么用_Biopython介绍
  4. ubuntu下鼠标右键新建文档
  5. java中int与byte相互转换
  6. 实现了一个跨平台的 YUV 文件图片查看器
  7. 软件项目开发成本经常用到的估算方法
  8. jsmind 线条_jsmind/2.options.md at master · hizzgdev/jsmind · GitHub
  9. Halcon颜色分类-阈值分区法
  10. 看懂Oracle的执行计划