37#include <boost/smart_ptr/shared_ptr.hpp>
76 KernelFunctionTypeNONE, KernelFunctionTypeHUBER, KernelFunctionTypeTUKEY
96GTSAM_EXPORT std::vector<BinaryMeasurement<T>>
97parseMeasurements(
const std::string &filename,
98 const noiseModel::Diagonal::shared_ptr &model =
nullptr,
106GTSAM_EXPORT std::vector<typename BetweenFactor<T>::shared_ptr>
108 const noiseModel::Diagonal::shared_ptr &model =
nullptr,
109 size_t maxIndex = 0);
113typedef std::pair<size_t, Point2> IndexedLandmark;
114typedef std::pair<std::pair<size_t, size_t>,
Pose2> IndexedEdge;
121GTSAM_EXPORT boost::optional<IndexedPose>
parseVertexPose(std::istream& is,
122 const std::string& tag);
130 const std::string& tag);
137GTSAM_EXPORT boost::optional<IndexedEdge>
parseEdge(std::istream& is,
138 const std::string& tag);
144 std::pair<NonlinearFactorGraph::shared_ptr, Values::shared_ptr>;
154 std::pair<std::string, SharedNoiseModel> dataset,
size_t maxIndex = 0,
155 bool addNoise =
false,
173 size_t maxIndex = 0,
bool addNoise =
false,
bool smart =
true,
179 const Values& config,
const noiseModel::Diagonal::shared_ptr model,
180 const std::string& filename);
191readG2o(
const std::string& g2oFile,
const bool is3D =
false,
207 const Values& estimate,
const std::string& filename);
213using BetweenFactorPose2s = std::vector<BetweenFactor<Pose2>::shared_ptr>;
214GTSAM_EXPORT BetweenFactorPose2s
215parse2DFactors(
const std::string &filename,
216 const noiseModel::Diagonal::shared_ptr &model =
nullptr,
217 size_t maxIndex = 0);
219using BetweenFactorPose3s = std::vector<BetweenFactor<Pose3>::shared_ptr>;
220GTSAM_EXPORT BetweenFactorPose3s
221parse3DFactors(
const std::string &filename,
222 const noiseModel::Diagonal::shared_ptr &model =
nullptr,
223 size_t maxIndex = 0);
225using BinaryMeasurementsUnit3 = std::vector<BinaryMeasurement<Unit3>>;
226using BinaryMeasurementsPoint3 = std::vector<BinaryMeasurement<Point3>>;
227using BinaryMeasurementsRot3 = std::vector<BinaryMeasurement<Rot3>>;
229#ifdef GTSAM_ALLOW_DEPRECATED_SINCE_V42
230inline boost::optional<IndexedPose> GTSAM_DEPRECATED
231parseVertex(std::istream& is,
const std::string& tag) {
235GTSAM_EXPORT std::map<size_t, Pose3> GTSAM_DEPRECATED
236parse3DPoses(
const std::string& filename,
size_t maxIndex = 0);
238GTSAM_EXPORT std::map<size_t, Point3> GTSAM_DEPRECATED
239parse3DLandmarks(
const std::string& filename,
size_t maxIndex = 0);
242load2D_robust(
const std::string& filename,
243 const noiseModel::Base::shared_ptr& model,
size_t maxIndex = 0);
Typedefs for easier changing of types.
Concept check for values that can be used in unit tests.
Base class for all pinhole cameras.
Calibration used by Bundler.
A non-templated config holding any types of Manifold-group elements.
Factor Graph consisting of non-linear factors.
Binary measurement represents a measurement between two keys in a graph. A binary measurement is simi...
Global functions in a separate testing namespace.
Definition chartTesting.h:28
std::pair< NonlinearFactorGraph::shared_ptr, Values::shared_ptr > GraphAndValues
Return type for load functions, which return a graph and initial values.
Definition dataset.h:143
GraphAndValues load2D(const string &filename, SharedNoiseModel model, size_t maxIndex, bool addNoise, bool smart, NoiseFormat noiseFormat, KernelFunctionType kernelFunctionType)
Load TORO/G2O style graph files.
Definition dataset.cpp:500
GTSAM_EXPORT std::map< size_t, T > parseVariables(const std::string &filename, size_t maxIndex=0)
Parse variables in a line-based text format (like g2o) into a map.
void writeG2o(const NonlinearFactorGraph &graph, const Values &estimate, const string &filename)
This function writes a g2o file from NonlinearFactorGraph and a Values structure.
Definition dataset.cpp:630
std::pair< size_t, Pose2 > IndexedPose
Return type for auxiliary functions.
Definition dataset.h:112
GraphAndValues readG2o(const string &g2oFile, const bool is3D, KernelFunctionType kernelFunctionType)
This function parses a g2o file and stores the measurements into a NonlinearFactorGraph and the initi...
Definition dataset.cpp:615
GTSAM_EXPORT std::vector< typename BetweenFactor< T >::shared_ptr > parseFactors(const std::string &filename, const noiseModel::Diagonal::shared_ptr &model=nullptr, size_t maxIndex=0)
Parse BetweenFactors in a line-based text format (like g2o) into a vector of shared pointers.
KernelFunctionType
Robust kernel type to wrap around quadratic noise model.
Definition dataset.h:75
NoiseFormat
Indicates how noise parameters are stored in file.
Definition dataset.h:66
@ NoiseFormatGRAPH
default: toro-style order, but covariance matrix !
Definition dataset.h:69
@ NoiseFormatAUTO
Try to guess covariance matrix layout.
Definition dataset.h:71
@ NoiseFormatTORO
Information matrix, but inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr.
Definition dataset.h:68
@ NoiseFormatCOV
Covariance matrix C11, C12, C13, C22, C23, C33.
Definition dataset.h:70
@ NoiseFormatG2O
Information matrix I11, I12, I13, I22, I23, I33.
Definition dataset.h:67
boost::optional< IndexedLandmark > parseVertexLandmark(istream &is, const string &tag)
Parse G2O landmark vertex "id x y".
Definition dataset.cpp:185
noiseModel::Base::shared_ptr SharedNoiseModel
Aliases.
Definition NoiseModel.h:724
boost::optional< IndexedEdge > parseEdge(istream &is, const string &tag)
Parse TORO/G2O edge "id1 id2 x y yaw".
Definition dataset.cpp:291
boost::optional< IndexedPose > parseVertexPose(istream &is, const string &tag)
Parse TORO/G2O vertex "id x y yaw".
Definition dataset.cpp:165
GraphAndValues load3D(const string &filename)
Load TORO 3D Graph.
Definition dataset.cpp:916
void save2D(const NonlinearFactorGraph &graph, const Values &config, const noiseModel::Diagonal::shared_ptr model, const string &filename)
save 2d graph
Definition dataset.cpp:582
string createRewrittenFileName(const string &name)
Creates a temporary file name that needs to be ignored in .gitingnore for checking read-write opratio...
Definition dataset.cpp:97
string findExampleDataFile(const string &name)
Find the full path to an example dataset distributed with gtsam.
Definition dataset.cpp:62
A 2D pose (Point2,Rot2).
Definition Pose2.h:36
Definition NonlinearFactorGraph.h:55
A non-templated config holding any types of Manifold-group elements.
Definition Values.h:65
Convenience functions for serializing data structures via boost.serialization.
Data structure for dealing with Structure from Motion data.