【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代码实现

相关文章
|
3天前
|
算法
MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型
这段内容介绍了一个使用改进的麻雀搜索算法优化CNN-BiLSTM模型进行多输入单输出预测的程序。程序通过融合正余弦和柯西变异提升算法性能,主要优化学习率、正则化参数及BiLSTM的隐层神经元数量。它利用一段简单的风速数据进行演示,对比了改进算法与粒子群、灰狼算法的优化效果。代码包括数据导入、预处理和模型构建部分,并展示了优化前后的效果。建议使用高版本MATLAB运行。
|
5天前
|
存储 算法 数据可视化
基于harris角点和RANSAC算法的图像拼接matlab仿真
本文介绍了使用MATLAB2022a进行图像拼接的流程,涉及Harris角点检测和RANSAC算法。Harris角点检测寻找图像中局部曲率变化显著的点,RANSAC则用于排除噪声和异常点,找到最佳匹配。核心程序包括自定义的Harris角点计算函数,RANSAC参数设置,以及匹配点的可视化和仿射变换矩阵计算,最终生成全景图像。
|
5天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
5天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
5天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
5天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
5天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)
|
5天前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
5天前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

热门文章

最新文章

相关实验场景

更多