Fix Solver::Summary when line search is used.
Also enable line search in bundle_adjuster.
Change-Id: Ic4343a4334b9f5a6fdeab38d4e3e1f6932bbc601
diff --git a/internal/ceres/solver_impl.cc b/internal/ceres/solver_impl.cc
index 8b8395c..1696e3a 100644
--- a/internal/ceres/solver_impl.cc
+++ b/internal/ceres/solver_impl.cc
@@ -624,10 +624,11 @@
original_options.line_search_direction_type;
summary->max_lbfgs_rank = original_options.max_lbfgs_rank;
summary->line_search_type = original_options.line_search_type;
- summary->num_parameter_blocks = problem_impl->NumParameterBlocks();
- summary->num_parameters = problem_impl->NumParameters();
- summary->num_residual_blocks = problem_impl->NumResidualBlocks();
- summary->num_residuals = problem_impl->NumResiduals();
+ summary->num_parameter_blocks = original_program->NumParameterBlocks();
+ summary->num_parameters = original_program->NumParameters();
+ summary->num_residual_blocks = original_program->NumResidualBlocks();
+ summary->num_residuals = original_program->NumResiduals();
+ summary->num_effective_parameters = original_program->NumEffectiveParameters();
// Empty programs are usually a user error.
if (summary->num_parameter_blocks == 0) {
@@ -717,6 +718,8 @@
summary->num_parameter_blocks_reduced = reduced_program->NumParameterBlocks();
summary->num_parameters_reduced = reduced_program->NumParameters();
summary->num_residual_blocks_reduced = reduced_program->NumResidualBlocks();
+ summary->num_effective_parameters_reduced =
+ reduced_program->NumEffectiveParameters();
summary->num_residuals_reduced = reduced_program->NumResiduals();
if (summary->num_parameter_blocks_reduced == 0) {