Lines Matching refs:Options
69 "Options are: levenberg_marquardt, dogleg.");
70 DEFINE_string(dogleg, "traditional_dogleg", "Options are: traditional_dogleg,"
76 DEFINE_string(blocks_for_inner_iterations, "automatic", "Options are: "
79 DEFINE_string(linear_solver, "sparse_schur", "Options are: "
82 DEFINE_string(preconditioner, "jacobi", "Options are: "
86 "Options are: suite_sparse and cx_sparse.");
88 "Options are: eigen and lapack.");
89 DEFINE_string(ordering, "automatic", "Options are: automatic, user.");
123 void SetLinearSolver(Solver::Options* options) {
125 &options->linear_solver_type));
127 &options->preconditioner_type));
130 &options->sparse_linear_algebra_library_type));
133 &options->dense_linear_algebra_library_type));
134 options->num_linear_solver_threads = FLAGS_num_threads;
137 void SetOrdering(BALProblem* bal_problem, Solver::Options* options) {
146 if (options->use_inner_iterations) {
149 options->inner_iteration_ordering = new ParameterBlockOrdering;
151 options->inner_iteration_ordering->AddElementToGroup(cameras + camera_block_size * i, 0);
155 options->inner_iteration_ordering = new ParameterBlockOrdering;
157 options->inner_iteration_ordering->AddElementToGroup(points + point_block_size * i, 0);
161 options->inner_iteration_ordering = new ParameterBlockOrdering;
163 options->inner_iteration_ordering->AddElementToGroup(cameras + camera_block_size * i, 0);
166 options->inner_iteration_ordering->AddElementToGroup(points + point_block_size * i, 1);
170 options->inner_iteration_ordering = new ParameterBlockOrdering;
172 options->inner_iteration_ordering->AddElementToGroup(cameras + camera_block_size * i, 1);
175 options->inner_iteration_ordering->AddElementToGroup(points + point_block_size * i, 0);
191 // This can either be done by specifying Options::ordering_type =
195 // Options::num_eliminate_blocks.
219 options->linear_solver_ordering = ordering;
222 void SetMinimizerOptions(Solver::Options* options) {
223 options->max_num_iterations = FLAGS_num_iterations;
224 options->minimizer_progress_to_stdout = true;
225 options->num_threads = FLAGS_num_threads;
226 options->eta = FLAGS_eta;
227 options->max_solver_time_in_seconds = FLAGS_max_solver_time;
228 options->use_nonmonotonic_steps = FLAGS_nonmonotonic_steps;
230 options->minimizer_type = ceres::LINE_SEARCH;
234 &options->trust_region_strategy_type));
235 CHECK(StringToDoglegType(FLAGS_dogleg, &options->dogleg_type));
236 options->use_inner_iterations = FLAGS_inner_iterations;
240 Solver::Options* options) {
241 SetMinimizerOptions(options);
242 SetLinearSolver(options);
243 SetOrdering(bal_problem, options);
320 Solver::Options options;
321 SetSolverOptionsFromFlags(&bal_problem, &options);
322 options.solver_log = FLAGS_solver_log;
323 options.gradient_tolerance = 1e-16;
324 options.function_tolerance = 1e-16;
326 Solve(options, &problem, &summary);