43 #ifndef INCLUDE_OKVIS_FRAMESYNCHRONIZER_HPP_
44 #define INCLUDE_OKVIS_FRAMESYNCHRONIZER_HPP_
85 std::shared_ptr<okvis::CameraMeasurement> &frame);
139 std::vector<std::pair<std::shared_ptr<okvis::MultiFrame>,
size_t> >
frameBuffer_;
bool detectionEndedForMultiFrame(uint64_t multiFrameId)
Inform the synchronizer that a frame in the multiframe has completed keypoint detection and descripti...
Definition: FrameSynchronizer.cpp:113
double timeTol_
Timestamp tolerance to classify multiple frames as being part of the same multiframe.
Definition: FrameSynchronizer.hpp:137
Header file for the MultiFrame class.
okvis::Time lastCompletedFrameTimestamp_
Timestamp of the last multiframe that returned true in detectionCompletedForAllCameras().
Definition: FrameSynchronizer.hpp:144
size_t numCameras_
Number of cameras for easy access.
Definition: FrameSynchronizer.hpp:135
This file contains the templated measurement structs, structs encapsulating Sensor data and related t...
std::shared_ptr< okvis::MultiFrame > addNewFrame(std::shared_ptr< okvis::CameraMeasurement > &frame)
Adds a new frame to the internal buffer and returns the Multiframe containing the frame...
Definition: FrameSynchronizer.cpp:81
uint64_t lastCompletedFrameId_
ID of the last multiframe that returned true in detectionCompletedForAllCameras().
Definition: FrameSynchronizer.hpp:146
bool findFrameByTime(const okvis::Time ×tamp, int &position) const
Find a multiframe in the buffer that has a timestamp within the tolerances of the given one...
Definition: FrameSynchronizer.cpp:149
virtual ~FrameSynchronizer()
Trivial destructor.
Definition: FrameSynchronizer.cpp:69
#define OKVIS_DEFINE_EXCEPTION(exceptionName, exceptionParent)
Macro for defining an exception with a given parent.
Definition: assert_macros.hpp:52
This file contains some useful assert macros.
Struct to combine all parameters and settings.
Definition: Parameters.hpp:280
FrameSynchronizer(okvis::VioParameters ¶meters)
Constructor. Calls init().
Definition: FrameSynchronizer.cpp:54
bool detectionCompletedForAllCameras(uint64_t multiFrameId)
This will return true if the internal counter on how many times detectionEndedForMultiFrame() has bee...
Definition: FrameSynchronizer.cpp:126
Header file for the VioInterface class.
void init(okvis::VioParameters ¶meters)
Initialise the synchronizer with new parameters. Is called in the constructor.
Definition: FrameSynchronizer.cpp:73
This class combines multiple frames with the same or similar timestamp into one multiframe.
Definition: FrameSynchronizer.hpp:60
int bufferPosition_
Position of the newest multiframe in the buffer.
Definition: FrameSynchronizer.hpp:141
Time representation. May either represent wall clock time or ROS clock time.
Definition: Time.hpp:187
This file contains struct definitions that encapsulate parameters and settings.
okvis::VioParameters parameters_
Copy of the parameters and settings.
Definition: FrameSynchronizer.hpp:133
bool findFrameById(uint64_t mfId, int &position) const
returns true if a frame with multiframe id mfId is found and sets position to its frame buffer positi...
Definition: FrameSynchronizer.cpp:164
std::vector< std::pair< std::shared_ptr< okvis::MultiFrame >, size_t > > frameBuffer_
Circular buffer containing a multiframe pointer and a counter for how many times detection has comple...
Definition: FrameSynchronizer.hpp:139