#include #define NO_IMPORT_ARRAY #include #include #include #include using namespace boost::python; using namespace gtsam; void exportLevenbergMarquardtOptimizer() { class_("GaussNewtonParams", init<>()) .def_readwrite("maxIterations", &GaussNewtonParams::maxIterations) .def_readwrite("relativeErrorTol", &GaussNewtonParams::relativeErrorTol); class_( "GaussNewtonOptimizer", init()) .def("optimize", &GaussNewtonOptimizer::optimize, return_value_policy()); class_("LevenbergMarquardtParams", init<>()) .def("setDiagonalDamping", &LevenbergMarquardtParams::setDiagonalDamping) .def("setlambdaFactor", &LevenbergMarquardtParams::setlambdaFactor) .def("setlambdaInitial", &LevenbergMarquardtParams::setlambdaInitial) .def("setlambdaLowerBound", &LevenbergMarquardtParams::setlambdaLowerBound) .def("setlambdaUpperBound", &LevenbergMarquardtParams::setlambdaUpperBound) .def("setLogFile", &LevenbergMarquardtParams::setLogFile) .def("setUseFixedLambdaFactor", &LevenbergMarquardtParams::setUseFixedLambdaFactor) .def("setVerbosityLM", &LevenbergMarquardtParams::setVerbosityLM); class_( "LevenbergMarquardtOptimizer", init()) .def("optimize", &LevenbergMarquardtOptimizer::optimize, return_value_policy()); class_("Marginals", init()) .def("marginalCovariance", &Marginals::marginalCovariance); }