From 75e7ebc79e86710c4cfb05b8af8e429146288c85 Mon Sep 17 00:00:00 2001
From: Daniil Kazantsev <dkazanc@hotmail.com>
Date: Mon, 3 Jul 2017 22:57:55 +0100
Subject: FISTA-GH bug fixed

---
 main_func/FISTA_REC.m | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

(limited to 'main_func')

diff --git a/main_func/FISTA_REC.m b/main_func/FISTA_REC.m
index ed74181..e21ba60 100644
--- a/main_func/FISTA_REC.m
+++ b/main_func/FISTA_REC.m
@@ -165,7 +165,7 @@ if (isfield(params,'slice'))
 else
     slice = 1;
 end
-if (isfield(params,'initilize'))
+if (isfield(params,'initialize'))
     % Create a data object for the reconstruction
     rec_id = astra_mex_data3d('create', '-vol', vol_geom);
     
@@ -215,7 +215,7 @@ if (lambdaR_L1 > 0)
         [sino_id, sino_updt] = astra_create_sino3d_cuda(X_t, proj_geom, vol_geom);
         
         for kkk = 1:anglesNumb
-            add_ring(:,kkk,:) =  sino(:,kkk,:) - alpha_ring.*r_x;
+            add_ring(:,kkk,:) =  squeeze(sino(:,kkk,:)) - alpha_ring.*r_x;
         end
         
         residual =  weights.*(sino_updt - add_ring);
@@ -223,9 +223,12 @@ if (lambdaR_L1 > 0)
         if (precondition == 1)
             residual = filtersinc(residual'); % filtering residual (Fourier preconditioning)
             residual = residual';
-        end
-        
+        end        
+
         vec = sum(residual,2);
+        if (SlicesZ > 1)
+            vec = squeeze(vec(:,1,:));
+        end
         
         r = r_x - (1./L_const).*vec;
         
-- 
cgit v1.2.3