summaryrefslogtreecommitdiffstats
path: root/main_func
diff options
context:
space:
mode:
authorDaniil Kazantsev <dkazanc@hotmail.com>2017-07-03 22:57:55 +0100
committerDaniil Kazantsev <dkazanc@hotmail.com>2017-07-03 22:57:55 +0100
commit75e7ebc79e86710c4cfb05b8af8e429146288c85 (patch)
tree3d6abaccb81c44df111605474c117fb2bc6570a9 /main_func
parent329a104d4cb5ba50a59fb80e58de0453ba49f075 (diff)
downloadregularization-75e7ebc79e86710c4cfb05b8af8e429146288c85.tar.gz
regularization-75e7ebc79e86710c4cfb05b8af8e429146288c85.tar.bz2
regularization-75e7ebc79e86710c4cfb05b8af8e429146288c85.tar.xz
regularization-75e7ebc79e86710c4cfb05b8af8e429146288c85.zip
FISTA-GH bug fixed
Diffstat (limited to 'main_func')
-rw-r--r--main_func/FISTA_REC.m11
1 files changed, 7 insertions, 4 deletions
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;