【交替方向乘子法】ADMM和光谱近邻算子在高光谱宽带相位恢复中的应用于定量相位成像(Matlab代码实现)

本文介绍了一种针对光谱变化的对象和调制相位掩模的高光谱宽带相位恢复方法,使用了复数域ADMM算法和新型光谱近邻算子,有效处理了复数域光谱成分提取和噪声滤波问题,经模拟和物理测试验证了其有效性。

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

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

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

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

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、文章下载


💥1 概述

文献来源:

摘要:本文针对对象和调制相位掩模在光谱上变化的情况,开发了高光谱宽带相位恢复方法。所提出的迭代算法基于复数域版本的交替方向乘子法(ADMM)以及针对高斯和泊松多重强度观测导出的新型光谱近邻算子。这些近邻算子解决了两个问题。首先,从作为衍射图案光谱强度之和计算的总强度观测中提取了对象的复数域光谱分量。其次,对噪声观测进行滤波,折衷噪声强度观测及其预测对应物。模拟和物理测试证实了所提出的宽带高光谱相位恢复方法可以成功解决问题。

关键词:复数域逆成像、复值图像去噪、高光谱相位恢复、相位成像、复值正则化、光谱近邻算子、算法

📚2 运行结果

部分代码:

%% ------------ Draw figures ------------------------------------------
    if (rem(s,10) == 0)||s == 2
        figure(fig1);
            semilogy(squeeze(Relerrs(:,:))','lineWidth',1), grid on  %semilogy(1:numel(Relerrs),Relerrs)
            xlabel('Iteration'), ylabel('Relative error '),% legend(num2str(lambda_set'*1e9),'NumColumns',2),... 'Orientation','horizontal'
            title(['Relative errors vs. iteration count, T=',num2str(T),', K=',num2str(K) '. ' noise_type ', SNR=',num2str(mean(SNR),3) ' dB'])
            set(gca,'FontSize',12)
            lgnd = legend( num2str(lambda_set'*1e9,3)); % ,'Orientation','horizontal'
            title(lgnd,'\lambda, nm');
        
        figure(fig2);
        subplot 223, imshow(abs(xs(Nzp/2+(1:n1),Nzp/2+(1:n2),lambda_to_show)),[]), ...
            title('Reconstructed amplitude'), ...
            c = colorbar;
            c.Label.String = 'Amplitude, a.u.';
        subplot 224, imshow(angle(xs(Nzp/2+(1:n1),Nzp/2+(1:n2),lambda_to_show)),[]),
            title('Reconstructed phase'),
            c = colorbar;
            c.Label.String = 'Phase, rad';
           % sgt = sgtitle([noise_type ' SNR=' num2str(mean(SNR),3)  ' dB, \lambda=' num2str(lambda_set(lambda_to_show)*1e9,3) ' nm, {\it ERROR_{rel}}=' num2str(Relerrs(lambda_to_show,s),2), ', iter=' num2str(s)]);
            sgt.FontSize = 8;
        drawnow
    end
   fprintf ('\n iteration %u, %2.1f sec., mean relative error = %1.4f', s, toc, mean(Relerrs(lambda_to_show,s),1))
end
    
% figure(3), sliceViewer(abs(xs)), title('Reconstructed amplitude'),
% figure(4),sliceViewer(angle(xs)), title('Reconstructed phase')
fprintf ('\n End of reconstructions, mean relative error = %1.3g \n', mean(Relerrs(:,s)))

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码、文章下载

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值