diff --git a/zUtil_Deformation/Gt6DBlobReconstructor.m b/zUtil_Deformation/Gt6DBlobReconstructor.m index 0277ea06ffd63f8513a287b9cfcfbee7d523eeeb..8747ac178df8d1320ec7170b2217ecb1dff67aa4 100644 --- a/zUtil_Deformation/Gt6DBlobReconstructor.m +++ b/zUtil_Deformation/Gt6DBlobReconstructor.m @@ -28,7 +28,7 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector end properties (Constant) - possible_detector_norms = {'l2', 'kl'}; + possible_detector_norms = {'l2', 'kl', 'l1'}; possible_tv_norms = {'l12', 'l1', 'ln'}; possible_tv_strategies = {'groups', 'volume'}; end @@ -517,6 +517,11 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector p{n} = p{n} .* sigma_1{n}; end end + case 'l1' + for n = 1:numel(p) + p{n} = p{n} + sigma{n} .* (proj_bls{n} - self.blobs{n}); + p{n} = p{n} ./ max(1, abs(p{n})); + end end self.statistics.add_timestamp(toc(c), 'cp_dual_update_detector', 'cp_dual_detector_prox'); end