gramods
|
The PoseRegistrationEstimator is a utility for estimating the base of a tracking system's coordinates, i e registration of the tracking system into room or display system coordinates. More...
#include <PoseRegistrationEstimator.hh>
Classes | |
struct | Impl |
Public Member Functions | |
void | addActualPosition (Eigen::Vector3f p) |
Adds a known calibration point, in room coordinates. More... | |
void | performRegistration () |
Force registration estimation. More... | |
bool | getRegistration (Eigen::Matrix4f *RAW, Eigen::Matrix4f *UNIT) |
Extract registration matrix, either raw or without scaling. More... | |
![]() | |
SampleCollector (Impl *impl=nullptr) | |
void | update (clock::time_point time, size_t frame) |
Updates the internal states. More... | |
void | setController (std::shared_ptr< Controller > controller) |
Sets the controller to use for reading tracker samples. More... | |
void | addTrackerPosition (Eigen::Vector3f p) |
Adds a tracker position. More... | |
void | addTrackerOrientation (Eigen::Quaternionf o) |
Adds a tracker orientation. More... | |
void | setSamplesPerSecond (float n) |
Sets the frequency at which samples are collected when the controller button is pressed. More... | |
void | setWarningThreshold (float d) |
Sets the data offset required to trigger a warning. More... | |
void | setInlierThreshold (float r) |
Set the maximum positional distance from the average allowed for a sample to be included in the average. More... | |
void | setOrientationWarningThreshold (float d) |
Sets the data offset required to trigger a warning. More... | |
void | setOrientationInlierThreshold (float r) |
Set the maximum orientational distance (in radians) from the average allowed for a sample to be included in the average. More... | |
const std::vector< Eigen::Vector3f > & | getTrackerPositions () const |
Returns the current list of tracker positions. More... | |
const std::vector< Eigen::Quaternionf > & | getTrackerOrientations () const |
Returns the current list of tracker orientations. More... | |
void | traverse (Visitor *visitor) override |
Propagates the specified visitor. More... | |
![]() | |
Object () | |
Initializes internal data. More... | |
virtual | ~Object () |
Cleaning up internal data. More... | |
virtual void | initialize () |
Called to initialize the Object. More... | |
virtual void | accept (Visitor *visitor) |
Calls the visitors apply method with this as argument. More... | |
virtual std::string | getDefaultKey () |
Returns the default key for the Object when automatically instantiated in a Configuration, i.e. More... | |
bool | isInitialized () |
Returns true if the Object is initialized. More... | |
![]() | |
Updateable (int priority=0) | |
Configures the Updateable properties to the specified priority. More... | |
Static Public Attributes | |
static gramods::gmCore::OFactory::OFactoryInformation | _gm_ofi |
![]() | |
static gramods::gmCore::OFactory::OFactoryInformation | _gm_ofi |
Additional Inherited Members | |
![]() | |
typedef std::chrono::steady_clock | clock |
![]() | |
static Eigen::Vector3f | getAverage (std::vector< Eigen::Vector3f > samples, float *stddev=nullptr, float *maxdev=nullptr, float inlier_dist=-1.f, size_t *inlier_count=nullptr) |
Calculates and returns the average point of a set of samples. More... | |
static Eigen::Quaternionf | getAverage (std::vector< Eigen::Quaternionf > samples, float *stddev=nullptr, float *maxdev=nullptr, float inlier_dist=-1.f, size_t *inlier_count=nullptr) |
Calculates and returns the average point of a set of samples. More... | |
![]() | |
static void | updateAll (clock::time_point t=clock::now(), std::optional< size_t > frame=std::nullopt) |
Updates all currently instanciated updateable objects. More... | |
![]() | |
std::unique_ptr< Impl > | _impl |
The PoseRegistrationEstimator is a utility for estimating the base of a tracking system's coordinates, i e registration of the tracking system into room or display system coordinates.
The utility is used by marking, with the tracking device, the position of known, pre-specified positions in the room or display system.
void gramods::gmTrack::PoseRegistrationEstimator::addActualPosition | ( | Eigen::Vector3f | p | ) |
Adds a known calibration point, in room coordinates.
XML-attribute: actualPosition
bool gramods::gmTrack::PoseRegistrationEstimator::getRegistration | ( | Eigen::Matrix4f * | RAW, |
Eigen::Matrix4f * | UNIT | ||
) |
Extract registration matrix, either raw or without scaling.
Returns true if there is a registration, false otherwise.
void gramods::gmTrack::PoseRegistrationEstimator::performRegistration | ( | ) |
Force registration estimation.
This is needed only if the component is used non-interactively.