gtsam/gtsam_unstable/slam/serialization.h

63 lines
2.0 KiB
C
Raw Normal View History

/**
* @file serialization.h
*
* @brief Global functions for performing serialization, designed for use with matlab
2019-02-11 22:39:48 +08:00
*
* @date Jun 12, 2013
* @author Alex Cunningham
*/
#pragma once
#include <gtsam/nonlinear/NonlinearFactorGraph.h>
namespace gtsam {
// Serialize/Deserialize a NonlinearFactorGraph
2013-06-21 01:08:30 +08:00
std::string serializeGraph(const NonlinearFactorGraph& graph);
2013-06-21 01:08:30 +08:00
NonlinearFactorGraph::shared_ptr deserializeGraph(const std::string& serialized_graph);
2013-06-21 01:08:30 +08:00
std::string serializeGraphXML(const NonlinearFactorGraph& graph,
const std::string& name = "graph");
2013-06-21 01:08:30 +08:00
NonlinearFactorGraph::shared_ptr deserializeGraphXML(const std::string& serialized_graph,
const std::string& name = "graph");
// Serialize/Deserialize a Values
2013-06-21 01:08:30 +08:00
std::string serializeValues(const Values& values);
2013-06-21 01:08:30 +08:00
Values::shared_ptr deserializeValues(const std::string& serialized_values);
2013-06-21 01:08:30 +08:00
std::string serializeValuesXML(const Values& values, const std::string& name = "values");
2013-06-21 01:08:30 +08:00
Values::shared_ptr deserializeValuesXML(const std::string& serialized_values,
const std::string& name = "values");
// Serialize to/from files
// serialize functions return true if successful
// Filename arguments include path
// Serialize
2013-06-21 01:08:30 +08:00
bool serializeGraphToFile(const NonlinearFactorGraph& graph, const std::string& fname);
bool serializeGraphToXMLFile(const NonlinearFactorGraph& graph,
const std::string& fname, const std::string& name = "graph");
2013-06-21 01:08:30 +08:00
bool serializeValuesToFile(const Values& values, const std::string& fname);
bool serializeValuesToXMLFile(const Values& values,
const std::string& fname, const std::string& name = "values");
// Deserialize
2013-06-21 01:08:30 +08:00
NonlinearFactorGraph::shared_ptr deserializeGraphFromFile(const std::string& fname);
NonlinearFactorGraph::shared_ptr deserializeGraphFromXMLFile(const std::string& fname,
const std::string& name = "graph");
2013-06-21 01:08:30 +08:00
Values::shared_ptr deserializeValuesFromFile(const std::string& fname);
Values::shared_ptr deserializeValuesFromXMLFile(const std::string& fname,
const std::string& name = "values");
} // \namespace gtsam