-
Nicola Vigano authored
Signed-off-by:
Nicola Vigano <nicola.vigano@esrf.fr>
Nicola Vigano authoredSigned-off-by:
Nicola Vigano <nicola.vigano@esrf.fr>
gt6DUpdateDualDetector.m 789 B
function p = gt6DUpdateDualDetector(p, bls, proj_bls, sigma1, sigma1_1, use_c_function)
% function p = gt6DUpdateDualDetector(p, bls, proj_bls, sigma1, sigma1_1, [use_c_function])
%
if (~exist('use_c_function', 'var'))
use_c_function = true;
end
if (use_c_function)
p = gt6DUpdateDualDetector_c(p, bls, proj_bls, sigma1, sigma1_1);
% % Or equivalently
% proj_bls = internal_cell_sub_assign(proj_bls, bls);
% proj_bls = internal_cell_prod_assign(proj_bls, sigma1);
% p = internal_cell_sum_assign(p, proj_bls);
% p = internal_cell_prod_assign(p, sigma1_1);
else
for n = 1:numel(p)
p{n} = p{n} + sigma1{n} .* (proj_bls{n} - bls{n});
p{n} = p{n} .* sigma1_1{n};
end
end
end