From 51c18ea9c943aa41fd1e77534367f6ff02609ce9 Mon Sep 17 00:00:00 2001 From: Ander Biguri Date: Thu, 2 Sep 2021 12:25:02 +0200 Subject: [PATCH] Fix bug introduced in previous commit --- MATLAB/Algorithms/OS_ASD_POCS.m | 62 +++++++++++++++++---------------- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/MATLAB/Algorithms/OS_ASD_POCS.m b/MATLAB/Algorithms/OS_ASD_POCS.m index d2c63282..0abc2b06 100644 --- a/MATLAB/Algorithms/OS_ASD_POCS.m +++ b/MATLAB/Algorithms/OS_ASD_POCS.m @@ -270,9 +270,9 @@ warning('TIGRE: Verbose mode not available for older versions than MATLAB R2014b'); verbose=false; end - % Lambda - % ========================================================================= - % Its called beta in OS_ASD_POCS + % Lambda + % ========================================================================= + % Its called beta in OS_ASD_POCS case 'lambda' if default beta=1; @@ -282,8 +282,8 @@ end beta=val; end - % Lambda reduction - % ========================================================================= + % Lambda reduction + % ========================================================================= case 'lambda_red' if default beta_red=0.99; @@ -293,8 +293,8 @@ end beta_red=val; end - % Initial image - % ========================================================================= + % Initial image + % ========================================================================= case 'init' if default || strcmp(val,'none') f0=zeros(geo.nVoxel','single'); @@ -304,12 +304,13 @@ else error('TIGRE:OS_ASD_POCS:InvalidInput','Invalid init') end - if strcmp(val,'image') - initwithimage=1; % it is used (10 lines below) - continue; - end - if isempty(res) - error('TIGRE:OS_ASD_POCS:InvalidInput','Invalid Init option') + if strcmp(val,'image') + initwithimage=1; % it is used (10 lines below) + continue; + end + if isempty(res) + error('TIGRE:OS_ASD_POCS:InvalidInput','Invalid Init option') + end end % % % % % % % ERROR case 'initimg' @@ -318,53 +319,54 @@ end if exist('initwithimage','var') if isequal(size(val),geo.nVoxel') - res=single(val); + f0=single(val); else error('TIGRE:OS_ASD_POCS:InvalidInput','Invalid image for initialization'); end end - % Number of iterations of TV - % ========================================================================= + + % Number of iterations of TV + % ========================================================================= case 'tviter' if default ng=20; else ng=val; end - % TV hyperparameter - % ========================================================================= + % TV hyperparameter + % ========================================================================= case 'alpha' if default alpha=0.002; % 0.2 else alpha=val; end - % TV hyperparameter redution - % ========================================================================= + % TV hyperparameter redution + % ========================================================================= case 'alpha_red' if default alpha_red=0.95; else alpha_red=val; end - % Maximum update ratio - % ========================================================================= + % Maximum update ratio + % ========================================================================= case 'ratio' if default rmax=0.95; else rmax=val; end - % Maximum L2 error to have a "good image" - % ========================================================================= + % Maximum L2 error to have a "good image" + % ========================================================================= case 'maxl2err' if default epsilon=im3Dnorm(FDK(proj,geo,angles),'L2')*0.2; %heuristic else epsilon=val; end - % Block size for OS-SART - % ========================================================================= + % Block size for OS-SART + % ========================================================================= case 'blocksize' if default block_size=20; @@ -374,8 +376,8 @@ end block_size=val; end - % Order strategy - % ========================================================================= + % Order strategy + % ========================================================================= case 'orderstrategy' if default OrderStrategy='random'; @@ -388,8 +390,8 @@ else nonneg=val; end - % Image Quality Measure - % ========================================================================= + % Image Quality Measure + % ========================================================================= case 'qualmeas' if default QualMeasOpts={};