【核磁共振T1映射】基于NLLS的新型算法从 SPGR 信号准确精确估计高分辨率的T1加权图像研究(Matlab代码实现)

 👨‍🎓个人主页

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

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

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

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

目录

💥1 概述

研究背景

研究目的

研究方法

研究结果

研究意义

结论与展望

📚2 运行结果

🎉3 文献来源

🌈4 Matlab代码实现


💥1 概述

在定量磁共振T1映射中,可变翻转角(VFA)稳态破坏梯度召回波(SPGR)成像技术很受欢迎,因为它在临床可行的时间内提供了一系列高分辨率的T1加权图像。已经提出了从这些加权图像估计T1图的快速线性方法,例如DESPOT1和迭代加权线性最小二乘(IRWLLS)。更准确的非线性最小二乘 (NLLS) 估计器正在发挥作用,但这些估计通常要慢得多,需要仔细初始化。在这项工作中,我们提出了NOVIFAST,一种基于NLLS的新型算法,专门针对VFA SPGR T1映射量身定制。利用SPGR模型的特定结构,推导了一种计算高效、准确、精确的T1地图估计器。模拟和体内人脑实验表明,与传统的基于梯度的NLLS估计器相比,NOVIFAST的速度提高了1倍,同时保持了高精度和准确度。此外,NOVIFAST比VARPRO方法的有效实施快八倍。此外,NOVIFAST被证明对初始化具有鲁棒性。

以下是关于基于NLLS(非线性最小二乘)的新型算法从SPGR(稳态破坏梯度召回波)信号准确精确估计高分辨率的T1加权图像的研究文档概要:

研究背景

在定量磁共振T1映射中,可变翻转角(VFA)SPGR成像技术因其能提供一系列高分辨率的T1加权图像而在临床中得到广泛应用。然而,从这些加权图像中准确估计T1图仍然是一个挑战。尽管已经提出了如DESPOT1和迭代加权线性最小二乘(IRWLLS)等快速线性方法,但更准确的NLLS估计器通常要慢得多,且需要仔细初始化。

研究目的

本研究旨在提出一种基于NLLS的新型算法,专门针对VFA SPGR T1映射量身定制,以提高T1地图的估计效率和准确性。

研究方法

  1. 算法开发:研究者开发了NOVIFAST算法,该算法利用SPGR模型的特定结构,推导了一种计算高效、准确、精确的T1地图估计器。
  2. 模拟实验:通过模拟实验验证NOVIFAST算法的性能,包括其速度、准确性和对初始化的鲁棒性。
  3. 体内实验:进行体内人脑实验,进一步验证NOVIFAST算法在实际应用中的效果。

研究结果

  1. 速度提升:模拟和体内人脑实验表明,与传统的基于梯度的NLLS估计器相比,NOVIFAST的速度提高了1倍,同时保持了高精度和准确度。
  2. 鲁棒性:NOVIFAST算法对初始化具有鲁棒性,这意味着即使在不同的初始化条件下,算法也能稳定地产生准确的T1地图。
  3. 对比其他方法:此外,NOVIFAST比VARPRO方法的有效实施快八倍,进一步证明了其在实际应用中的优势。

研究意义

本研究提出的NOVIFAST算法为VFA SPGR T1映射提供了一种新的、高效的解决方案。该算法不仅提高了T1地图的估计速度,还保持了高精度和准确度,为临床诊断和治疗提供了有力支持。

结论与展望

本研究成功开发了基于NLLS的新型算法NOVIFAST,用于从VFA SPGR信号准确精确估计高分辨率的T1加权图像。未来研究可以进一步探索该算法在其他磁共振成像技术中的应用,以及如何提高其在实际临床环境中的适应性和泛化能力。

📚2 运行结果

​ 

​ 

​ 主函数代码:

clear all;  clc; close all;
warning off
addpath('./data')
load('slicePhantom.mat')

%% we choose a range of possible SNR
SNR90=[200,300,400,600,700,1000,inf];
itermax=15;

for n=1:numel(alpha)
    S(:,:,n)=Kgt.*(1-exp(-TR./T1gt)).*sind(alpha(n))./(1-exp(-TR./T1gt).*cosd(alpha(n)));
end


for snr=1:numel(SNR90)
    for iter=0:itermax
        %% We add noise
        K=mean(  Kgt(mask==1)./(SNR90(snr)*sigma_map(mask==1)));
        sigma_map2=K*sigma_map;
        sigma=repmat(sigma_map2,1,1,size(S,3));
        W=sigma.*(randn(size(S))+1i*randn(size(S)));
        im=abs(S+W);
        %% NOVIFAST's parameter definition
        ini=[0.2,1000]; %K [] and T1 [ms] initial constant maps for NOVIFAST 
        if iter==0
            T1=ini(2).*mask;
        else
            options=struct('Direct',iter); %If field 'Direct' is given, it means NOVIFAST is run in a blind mode, i.e., no convergence criterion. Just 5 iter are done.
            [K, T1] = novifast_image( im, alpha, TR, options, mask );
        end
        Erraray(snr,iter+1)=100*mean(abs(T1gt(mask==1)-T1(mask==1))./T1gt(mask==1));
        T1array(:,:,snr,iter+1)=T1;
    end
end

for snr=1:numel(SNR90)
    str=['SNR_{90} = ', num2str(SNR90(snr))];
    STR{snr}=str;
    T1snr=[];
    for iter=0:itermax
     T1snr=cat(2,T1snr,squeeze(T1array(:,:,snr,iter+1)));
    end
    T1array2(:,:,snr)=T1snr;
end

T1array3=[];
for snr=1:numel(SNR90)
    T1array3=cat(1,T1array3,squeeze(T1array2(:,:,snr)));
end
 
T1gtarray3=repmat(T1gt.*mask,[numel(SNR90),itermax+1]);
T1array3_margin=padarray(T1array3,[0,50],0,'pre');
T1array3_margin=padarray(T1array3_margin,[50,0],0,'pre');
 
figure(1)
imshow(T1array3_margin,[0,5000])
title('Estimated T_1 maps [ms] for several SNRs and iterations')
colorbar

for n=1:numel(SNR90)
    text(10, 103+(n-1)*114,'SNR_{90}','fontsize',11,'Color','red');
    text(10, 123+(n-1)*114, num2str(SNR90(n)),'fontsize',11,'Color','red');
end
for iter=0:itermax
    text(87+(iter)*94, 29,'k = ','fontsize',11,'Color','red');
    text(87+(iter)*94, 49, num2str(iter),'fontsize',11,'Color','red');
end

Error_map=100*abs(T1array3-T1gtarray3)./T1gtarray3;
Error_map_margin=padarray(Error_map,[0,50],0,'pre');
Error_map_margin=padarray(Error_map_margin,[50,0],0,'pre');

figure(2)
imshow(Error_map_margin,[0,50])
title('Relative error T_1 maps [%] for several SNRs and iterations')
colormap hot
colorbar

for n=1:numel(SNR90)
    text(2, 103+(n-1)*114,'SNR_{90}','fontsize',11,'Color','green');
    text(2, 123+(n-1)*114, num2str(SNR90(n)),'fontsize',12,'Color','green');
end
for iter=0:itermax
    text(87+(iter)*94, 29,'k = ','fontsize',11,'Color','green');
    text(87+(iter)*94, 49, num2str(iter),'fontsize',11,'Color','green');
end

figure(3)
plot(0:itermax,Erraray')
xlabel('k (iterations)')
ylabel('|T1_{gt} - T1^k| /  T1_{gt}')
title('Relative error T_1 [%] for several SNRs and iterations')
legend(STR,'location','NorthEast','Position',[0.610731323691343 0.461340323166312 0.161308516638466 0.438044662309368]);

🎉3 文献来源

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

[1] Ramos-Llordén, G., Vegas-Sánchez-Ferrero, G., Björk, M., Vanhevel, F., Parizel, P. M., San José Estépar, R., den Dekker, A. J., and Sijbers, J., "NOVIFAST: a fast algorithm for accurate and precise VFA MRI T1 mapping,"
IEEE Trans. Med. Imag., in press, DOI: 10.1109/TMI.2018.2833288

🌈4 Matlab代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值