【MCTV】通过非凸总变异最小化重建凸 MR 脑图像(Matlab代码实现)

简介: 【MCTV】通过非凸总变异最小化重建凸 MR 脑图像(Matlab代码实现)

💥1 概述

针对于核磁共振(MR)图像重构中由于欠采样导致的重构图像不够完整、边缘模糊以及噪声残留等问题,提出了一种基于L2正则的非凸全变差正则重构模型。首先,以Moreau包络和最小最大凹罚函数为工具构造L2范数的非凸正则;然后,将其应用于全变差正则上来构造各向同性的非凸全变差正则稀疏重构模型。所提的非凸正则可以有效地避免凸正则中对较大非零元欠估计现象,能够更有效地重构目标的边缘轮廓;同时,在一定条件下可以保证目标函数的整体凸性,从而最后可以利用交替方向乘子法(ADMM)对模型进行求解。仿真实验对若干MR图像在不同的采样模板和采样率下进行了重构。实验结果均表明,与几种典型的图像重构方法相比,所提模型性能更优,相对误差明显降低,峰值信噪比(PSNR)有明显改善,较经典的L1非凸正则重构模型提升了大约4 dB,并且重构后的图像视觉效果显著提升,有效地保留了原始图像的边缘细节。图像分割是一个经典难题,至今没有一个通用的有效分割方法,也不存在一个分割的评价标准。应用MRI图像进行脑组织自动和有效的分割对诊断、病理研究、放疗和外科手术计划的制定、手术导航、计算机辅助诊断等各方面均有着极其重要的意义。磁共振脑图像比普通图像要复杂,组织边界不清晰,用通用方法无法实现良好的分割。对目前应用于脑组织分割并取得良好效果的分割方法给予综合论述,并分析了脑组织分割的发展。本文绘制了电视和MCTV的重建结果以及错误图像。演示图为:(a)原始大脑图像;(b) 采样率为30%,采样半径为0.1的随机模板;(c) 使用标准电视处罚重建图像;(d) 使用MCTV处罚重建图像;(e) (a)和(c)之间的区别;(f) (a)和(d)之间的区别。


📚2 运行结果

部分代码:

% main file
% Yilin Liu, Aug 7, 2018
clc; clear all; close all
load brain_image
I_org = a5;
% I_org = imread('brain.bmp');   % Brain2
% I_org = im2double(rgb2gray(I_org));
% I_org = phantom(256);          % Shepp Logan
[m, n] = size(I_org);
scale = sqrt(m * n);
load Umask_random_03_01    % Random sampling with 30% sampling rate and 0.1 sampling radius
R_0 = Umask;
% load Umask_Cartesian_70  % Cartesian sampling with 70 readout lines
% R_0 = Umask;
% load Umask_radial_10     % Radial sampling with 10 trajectory lines
% R_0 = Umask;
R = fftshift(R_0);
Y = R.*fft2(I_org) / scale;  % k-space data
lamda  = 0.0001;  % total variation penalty parameter
rho    = 150;  % augmented Lagrangian parameter
numItr = 100;  % maximum times of iteration
rectol = 1e-4;  % stopping tolerance
I_res = rec_tv(R, Y, lamda, rho, numItr, rectol);
I_res2 = rec_mctv(R, Y, lamda, rho, numItr, rectol);
ReErr = norm(abs(I_org(:)) - abs(I_res(:))) / norm(abs(I_org(:)));
ReErr2 = norm(abs(I_org(:)) - abs(I_res2(:))) / norm(abs(I_org(:)));
PSNR = psnr(I_org, abs(I_res));
PSNR2 = psnr(I_org, abs(I_res2));
fprintf('The relative error of TV reconstruction result is %.4f.\n', ReErr)
fprintf('The relative error of MCTV reconstruction result is %.4f.\n', ReErr2)
fprintf('The PSNR of TV reconstruction result is %.4f.\n', PSNR)
fprintf('The PSNR of MCTV reconstruction result is %.4f.\n', PSNR2)
plot_res(I_org, R_0, I_res, I_res2);

🎉3 参考文献

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


[1]Liu, Y., Du, H., Wang, Z. & Mei, W. Convex MR brain image reconstruction via non-convex total variation minimization.International Journal of Imaging Systems and Technology (2018).doi: 10.1002/ima.22275


[2]汪红志,聂生东.MR脑图像组织分割的方法[J].国外医学.生物医学工程分册,2005(05):50-54.


🌈4 Matlab代码实现

相关文章
|
1月前
|
算法 数据安全/隐私保护
织物图像的配准和拼接算法的MATLAB仿真,对比SIFT,SURF以及KAZE
本项目展示了织物瑕疵检测中的图像拼接技术,使用SIFT、SURF和KAZE三种算法。通过MATLAB2022a实现图像匹配、配准和拼接,最终检测并分类织物瑕疵。SIFT算法在不同尺度和旋转下保持不变性;SURF算法提高速度并保持鲁棒性;KAZE算法使用非线性扩散滤波器构建尺度空间,提供更先进的特征描述。展示视频无水印,代码含注释及操作步骤。
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
174 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
2月前
|
算法 数据可视化 数据安全/隐私保护
基于LK光流提取算法的图像序列晃动程度计算matlab仿真
该算法基于Lucas-Kanade光流方法,用于计算图像序列的晃动程度。通过计算相邻帧间的光流场并定义晃动程度指标(如RMS),可量化图像晃动。此版本适用于Matlab 2022a,提供详细中文注释与操作视频。完整代码无水印。
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
122 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
86 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
4月前
|
算法
基于粒子群优化的图像融合算法matlab仿真
这是一个基于粒子群优化(PSO)的图像融合算法,旨在将彩色模糊图像与清晰灰度图像融合成彩色清晰图像。在MATLAB2022a中测试,算法通过PSO求解最优融合权值参数,经过多次迭代更新粒子速度和位置,以优化融合效果。核心代码展示了PSO的迭代过程及融合策略。最终,使用加权平均法融合图像,其中权重由PSO计算得出。该算法体现了PSO在图像融合领域的高效性和融合质量。
|
5月前
|
机器学习/深度学习 算法 固态存储
m基于深度学习的卫星遥感图像轮船检测系统matlab仿真,带GUI操作界面
在MATLAB 2022a中,使用GoogLeNet对卫星遥感图像进行轮船检测,展示了高效的目标识别。GoogLeNet的Inception架构结合全局平均池化增强模型泛化性。核心代码将图像切块并分类,预测为轮船的部分被突出显示,体现了深度学习在复杂场景检测中的应用。
399 8
|
5月前
|
算法 计算机视觉 异构计算
基于FPGA的图像一维FFT变换IFFT逆变换verilog实现,包含tb测试文件和MATLAB辅助验证
```markdown ## FPGA 仿真与 MATLAB 显示 - 图像处理的 FFT/IFFT FPGA 实现在 Vivado 2019.2 中仿真,结果通过 MATLAB 2022a 展示 - 核心代码片段:`Ddddddddddddddd` - 理论:FPGA 实现的一维 FFT/IFFT,加速数字信号处理,适用于高计算需求的图像应用,如压缩、滤波和识别 ```
|
5月前
|
算法 计算机视觉
基于Chan-Vese算法的图像边缘提取matlab仿真
**算法预览展示了4幅图像,从边缘检测到最终分割,体现了在matlab2022a中应用的Chan-Vese水平集迭代过程。核心代码段用于更新水平集并显示迭代效果,最后生成分割结果及误差曲线。Chan-Vese模型(2001)是图像分割的经典方法,通过最小化能量函数自动检测平滑区域和清晰边界的图像分割,适用于复杂环境,广泛应用于医学影像和机器视觉。**
|
5月前
|
算法 调度
基于变异混合蛙跳算法的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图
**摘要:** 实现变异混合蛙跳算法的MATLAB2022a版车间调度优化程序,支持动态调整工件和机器数,输出甘特图。核心算法结合SFLA与变异策略,解决Job-Shop Scheduling Problem,最小化总完成时间。SFLA模拟蛙群行为,分组进行局部搜索和全局信息交换。变异策略增强全局探索,避免局部最优。程序初始化随机解,按规则更新,经多次迭代和信息交换后终止。

热门文章

最新文章