资源简介
一篇Trans 2区上论文 基于图像块低秩性的修复matlab代码
代码片段和文件信息
clc; clear all;
%% %%%%%%%%%%%%%%%%% k-t FOCUSS initialization %%%%%%%%%%%%%%%%%
% load k_space.mat
load(‘data\cardiac.mat‘);
Y = ifft(DS_k[]2);
disp(‘kt-FOCUSS start: ‘)
% % function setting
A = @(xmask) fft(x[]1).*mask;
AT = @(xmask) ifft(x.*mask[]1);
ATA = @(xmask) AT(A(xmask)mask);
% k-t FOCUSS parameters
[nYnXnT] = size(Y);
Mouter = 4;
Minner = 40;
factor = 0.5;
lambda_focuss = 0;
% % initialize by low resolution image
Low_resol_Y = Y; Low_resol_Y(num_low_phase+1:end-num_low_phase::) = 0;
% % run ktFOCUSS
recon_focuss = KTFOCUSS(AATYLow_resol_Ymaskfactorlambda_focuss Minner Mouter);
save(‘result\Recon_ktFOCUSS.mat‘ ‘recon_focuss‘);
%% %%%%%%%%%%%%%%%%% NLMC and Patch-based low-rank reg. %%%%%%%%%%%%%%%%%
% % compile NLMC & Patch Low rank file
% mex NLMC_2Dt_complex.cpp
% mex PatchLowrankReg2Dt_complex.cpp;
% % load pre-reconstructed data by k-t FOCUSS
load(‘result\Recon_ktFOCUSS.mat‘ ‘recon_focuss‘); % load k-t FOCUSS recon data.
X = recon_focuss;
alpha = 0.95; % relaxation parameter.
for OUTER = 1 : 10
% % NLMC
if OUTER == 1
px = 8; % patch size of x
py = 8; % patch size of y
ws = 10; % window variation size px+ws*2 ...
epsilon = 0.001;
X_NL = zeros(size(X));
for iframe = 1:nT
[tmp_re tmp_im] = NLMC_2Dt_complex(single(real(X(::iframe)))single(imag(X(::iframe)))single(real(ref))single(imag(ref))nXnYpxpywsepsilon);
X_NL(::iframe) = reshape(tmp_re + sqrt(-1)*tmp_imnXnY);
end
% % function setting
A = @(xmask) fft(x[]1).*mask;
AT = @(xmask) ifft(x.*mask[]1);
ATA = @(xmask) AT(A(xmask)mask);
Mouter = 4;
Minner = 40;
factor = 0.5;
lambda_focuss = 1;
Low_resol_Y = Y-A(X_NLmask);
Low_resol_Y(num_low_phase+1:end-num_low_phase::) = 0;
X_res = KTFOCUSS(AATY-A(X_NLmask)Low_resol_Ymaskfactorlambda_focuss Minner Mouter);
Recon_NLMC = X_NL;
Recon_NLMC_res = X_res;
save(‘result\Recon_NLMC.mat‘‘Recon_NLMC‘‘Recon_NLMC_res‘)
end
%% patch based low rank regularization.
if OUTER == 1
load (‘result\Recon_NLMC.mat‘)
X = Recon_NLMC + Recon_NLMC_res;
else
load([‘result\PL_outer‘int2str(OUTER-1)‘.mat‘]);
X = Recon_PL;
end
disp(‘Patch based low rank reg. start:‘);
% % Patch based low rank calculation
px = 2; % patch size of x
py = 2; % patch size of y
nt = 2; % number of frames for patch-temporal matrix
np = 2; % warning! “: not exceed 10.
ws = 2; % window variation size px+ws*2 ...
mu = 0.005; % thresholding parameter
nu = 0.003; % thresholding parameter
X = PatchLowrank2Dt_c(Xwspxpyntnpmunu);
%%%%% simple inversion
W = X; % W is patch-based low-rank processed image.
lambda_PL = 0.07;
X_sol2 = sqrt(nY)*ifft(1/sqrt(nY)*(Y+lambda_PL*fft(W[]1))./(lambda_PL+mask)[]1); % Refer the paper.
if OUTER == 1
Recon_PL = X_sol2;
else % Relaxation when outer
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-03-25 18:09 data\
文件 33789695 2015-03-25 19:49 data\cardiac.mat
文件 587 2013-10-23 15:30 KTFOCUSS.p
文件 4082 2015-03-25 20:23 main_PatchLow.m
文件 90604 2015-03-25 20:37 Manual for patch-ba
文件 5001 2013-03-12 22:46 NLMC_2Dt_complex.cpp
文件 11776 2015-03-25 18:34 NLMC_2Dt_complex.mexw64
文件 703 2013-03-14 16:23 PatchLowrank2Dt_c.m
文件 17231 2013-03-14 16:23 PatchLowrankReg2Dt_complex.cpp
文件 18944 2013-03-14 16:23 PatchLowrankReg2Dt_complex.mexw32
文件 22528 2015-03-25 14:22 PatchLowrankReg2Dt_complex.mexw64
目录 0 2015-03-25 20:31 result\
文件 1037 2015-03-25 13:59 run_PL.m
相关资源
- 最先提出深度学习算法hinton的自动编
- 作业车间调度问题文档 和matlab代码
- Rectangling Panoramic Images via Warping论文的
- adaboost 的matlab代码
- 基于HMM的语音识别MATLAB代码
- 斯坦福机器学习公开课CS229讲义作业及
- 人脸识别 MATLAB代码
- 卷积神经网络matlab代码下载153575
- BP神经网络的人脸识别matlab代码
- pegasos算法matlab代码
- 模式分类Pattern Classification第二版Dud
- RCNNfast-RCNN和faster-RCNN最全文献和matl
- 基于PCA与SVM的人脸识别matlab代码
- 机器学习基础教程 matlab代码+数据
- SDM的matlab代码
- 深度学习的matlab代码
- 凸优化matlab代码
- Grace水储量解算Matlab代码-20200321.zip
- 2020研究生数学建模——大雾能见度估
- 本征正交分解PODMatlab代码
- SMQT算法MATLAB代码
- 相干信号源DOA估计算法MATLAB代码
- 高斯过程回归matlab代码
- 《自适应滤波器原理及Matlab仿真应用
- 混沌计算程序包+matlab代码
- 电力系统潮流计算matlab代码
- 语音增强speech enhancement中英文版+书后
- PCA人脸识别matlab代码
- 图像质量评价matlab代码与参考文献大
- ICA独立成分分析的matlab代码
评论
共有 条评论