File data_collector.hpp¶
Abstract interface DataCollector to collect data inside a specific library.
- License:
BSD 3-clause
- Copyright
Copyright (c) 2020, New York University and Max Planck Gesellschaft
-
namespace mim_estimation
-
namespace io_tools¶
-
class DataCollector
- #include <data_collector.hpp>
Subclassed by mim_estimation::io_tools::NonRtDataCollector
Public Functions
-
inline DataCollector()
-
inline virtual ~DataCollector()
-
virtual void addVariable(const double *data, const std::string &name, const std::string &units) = 0
virtual functions to add variables to data collection for different types
-
virtual void addVariable(const float *data, const std::string &name, const std::string &units) = 0
-
virtual void addVariable(const int *data, const std::string &name, const std::string &units) = 0
-
virtual void updateDataCollection() = 0
virtual function to update the collection with the recently added variables
-
virtual void stopDataCollection() = 0
-
virtual void startDataCollection() = 0
-
virtual bool isDataCollectionDone() = 0
virtual function to check whether data collection has completed:
-
void addVector(const Eigen::Ref<const Eigen::VectorXd> &data, const std::vector<std::string> &name, const std::vector<std::string> &units)
helper functions to unroll eigen vectors into simpler types that can be handled by the addVariable functions
arbitrary Eigen Vectors
-
void addVector(const Eigen::Ref<const Eigen::VectorXd> &data, const std::string &name, const std::vector<std::string> &extension, const std::vector<std::string> &units)
extension contains the list of strings to be appended to name for each elem of data
-
void addVector(const Eigen::Ref<const Eigen::VectorXd> &data, const std::string &name, const std::string &unit)
will just add 0,1,2..etc as extension to name
-
void addVector3d(const Eigen::Ref<const Eigen::Vector3d> &data, const std::string &name, const std::string &units)
the actual recorded names will be name_x, name_y, name_z
-
void addVector3d(const Eigen::Ref<const Eigen::Vector3d> &data, const std::string &name, const std::string &units, const std::string &extension)
the actual recorded names will be name_x, name_y, name_z plus extension
-
void addQuaternion(const Eigen::Ref<const Eigen::Vector4d> &data, const std::string &name)
the actual recorded names will be name_q0, name_q1, name_q2, name_q3 with units “-”
-
void addQuaternion(const Eigen::Quaterniond &data, const std::string &name)
the actual recorded names will be name_q0, name_q1, name_q2, name_q3 with units “-”
-
void addVector6d(const Eigen::Ref<const Eigen::Matrix<double, 6, 1>> &data, const std::string &name, const std::string &units)
the actual recorded names will have extension x,y,z,a,b,g
-
void addMatrix(const Eigen::Ref<const Eigen::MatrixXd> &data, const std::string &name, const std::string &unit)
arbitrary Eigen matrices (will just add matrix indes as extension to name, eg 11, 12, 21, 22
-
inline DataCollector()
-
class DataCollector
-
namespace io_tools¶