| 58 | } |
| 59 | |
| 60 | FactorGraphConfig::FactorGraphConfig() |
| 61 | { |
| 62 | /** set useful default options */ |
| 63 | SolverConfig.minimizer_type = ceres::MinimizerType::TRUST_REGION; |
| 64 | SolverConfig.trust_region_strategy_type = ceres::TrustRegionStrategyType::DOGLEG; |
| 65 | SolverConfig.dogleg_type = ceres::DoglegType::SUBSPACE_DOGLEG; |
| 66 | SolverConfig.linear_solver_type = ceres::LinearSolverType::SPARSE_NORMAL_CHOLESKY; |
| 67 | SolverConfig.use_nonmonotonic_steps = true; |
| 68 | SolverConfig.num_threads = std::thread::hardware_concurrency(); |
| 69 | SolverConfig.max_num_iterations = 100; |
| 70 | SolverConfig.max_solver_time_in_seconds = 10.0; |
| 71 | SolverConfig.minimizer_progress_to_stdout = true; |
| 72 | |
| 73 | /** debugging is simpler with one thread */ |
| 74 | #ifndef NDEBUG |
| 75 | SolverConfig.num_threads = 1; |
| 76 | #endif // NDEBUG |
| 77 | } |
| 78 | |
| 79 | bool FactorGraphConfig::ParseErrorModelFromYAML(YAML::Node ErrorModelNode, ErrorModelConfig &Model) |
| 80 | { |
nothing calls this directly
no outgoing calls
no test coverage detected