diff options
author | Folkert Bleichrodt <F.Bleichrodt@cwi.nl> | 2016-03-14 13:18:02 +0100 |
---|---|---|
committer | Folkert Bleichrodt <F.Bleichrodt@cwi.nl> | 2016-03-14 13:18:02 +0100 |
commit | 6205f3fcc68be3d49fa5b47a02a65c21ffc53930 (patch) | |
tree | 251bb894027b1531fdf181c430fd426b8c07f12d /matlab | |
parent | 5a81584cb37fe578d5985b8e78b511076fa75b1c (diff) | |
download | astra-6205f3fcc68be3d49fa5b47a02a65c21ffc53930.tar.gz astra-6205f3fcc68be3d49fa5b47a02a65c21ffc53930.tar.bz2 astra-6205f3fcc68be3d49fa5b47a02a65c21ffc53930.tar.xz astra-6205f3fcc68be3d49fa5b47a02a65c21ffc53930.zip |
Removed regression from opTomo
Diffstat (limited to 'matlab')
-rw-r--r-- | matlab/tools/opTomo.m | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/matlab/tools/opTomo.m b/matlab/tools/opTomo.m index 33c8565..04b3634 100644 --- a/matlab/tools/opTomo.m +++ b/matlab/tools/opTomo.m @@ -176,12 +176,23 @@ classdef opTomo < opSpot if issparse(x) x = full(x); end + + if isa(x, 'double') + isdouble = true; + x = single(x); + else + isdouble = false; + end % the multiplication y = op.funHandle(op, x, mode); % make sure output is column vector y = y(:); + + if isdouble + y = double(y); + end end % multiply @@ -206,11 +217,7 @@ classdef opTomo < opSpot astra_mex_algorithm('iterate', op.fp_alg_id); % retrieve Matlab array - if isa(x, 'single') - y = astra_mex_data2d('get_single', op.sino_id); - else - y = astra_mex_data2d('get', op.sino_id); - end + y = astra_mex_data2d('get_single', op.sino_id); else % x is passed as a vector, reshape it into a sinogram. x = reshape(x, op.proj_size); @@ -222,11 +229,7 @@ classdef opTomo < opSpot astra_mex_algorithm('iterate', op.bp_alg_id); % retrieve Matlab array - if isa(x, 'single') - y = astra_mex_data2d('get_single', op.vol_id); - else - y = astra_mex_data2d('get', op.vol_id); - end + y = astra_mex_data2d('get_single', op.vol_id); end end % opTomo_intrnl2D |