Skip to content
Snippets Groups Projects
Commit d50bbb44 authored by Nicola Vigano's avatar Nicola Vigano
Browse files

6D-Reconstruction: changed dual TV behavior to return -div instead of div.

parent e4b78ed9
No related branches found
No related tags found
No related merge requests found
......@@ -393,7 +393,7 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector
% Computing update dual TV
self.statistics.tic('cp_dual_update_tv');
[divq, q] = gt6DUpdateDualTV(q, nextEnhancedSolution, 1, self.algo_ops_c_functions, self.num_threads);
[mdivq, q] = gt6DUpdateDualTV(q, nextEnhancedSolution, 1, self.algo_ops_c_functions, self.num_threads);
self.statistics.toc('cp_dual_update_tv');
% Computing update primal
......@@ -409,7 +409,7 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector
timing_bs = timing_bs + bs_time;
[self.currentSolution{n}, nextEnhancedSolution{n}, app_time] ...
= gt6DUpdatePrimal(self.currentSolution{n}, v, -divq, tau{n}, self.algo_ops_c_functions, self.num_threads);
= gt6DUpdatePrimal(self.currentSolution{n}, v, mdivq, tau{n}, self.algo_ops_c_functions, self.num_threads);
timing_app = timing_app + app_time;
clear v
end
......@@ -505,7 +505,7 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector
% Computing update dual TV
self.statistics.tic('cp_dual_update_tv');
[div_tv, q_tv] = gt6DUpdateDualTV(q_tv, nextEnhancedSolution, 1, self.algo_ops_c_functions, self.num_threads);
[mdiv_tv, q_tv] = gt6DUpdateDualTV(q_tv, nextEnhancedSolution, 1, self.algo_ops_c_functions, self.num_threads);
self.statistics.toc('cp_dual_update_tv');
% Computing update dual l1
......@@ -526,7 +526,7 @@ classdef Gt6DBlobReconstructor < Gt6DVolumeToBlobProjector
timing_bs = timing_bs + bs_time;
[self.currentSolution{n}, nextEnhancedSolution{n}, app_time] ...
= gt6DUpdatePrimal(self.currentSolution{n}, v, q_l1{n}-div_tv, tau{n}, self.algo_ops_c_functions, self.num_threads);
= gt6DUpdatePrimal(self.currentSolution{n}, v, q_l1{n}+mdiv_tv, tau{n}, self.algo_ops_c_functions, self.num_threads);
timing_app = timing_app + app_time;
clear v
end
......
function [divq, q] = gt6DUpdateDualTV(q, new_enh_sol, lambda, use_c_function, num_threads)
function [mdivq, q] = gt6DUpdateDualTV(q, new_enh_sol, lambda, use_c_function, num_threads)
% function q = gt6DUpdateDualTV(q, new_enh_sol, lambda, use_c_function)
%
......@@ -21,5 +21,8 @@ function [divq, q] = gt6DUpdateDualTV(q, new_enh_sol, lambda, use_c_function, nu
end
end
divq = gtMathsDivergence(q);
% Let's try to at least mark them for deletion
clear sES dsES
mdivq = -gtMathsDivergence(q);
end
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment