gramods
Classes | Public Member Functions | Static Public Attributes | List of all members
gramods::gmTrack::PoseRegistrationEstimator Class Reference

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>

Inheritance diagram for gramods::gmTrack::PoseRegistrationEstimator:
Inheritance graph
[legend]
Collaboration diagram for gramods::gmTrack::PoseRegistrationEstimator:
Collaboration graph
[legend]

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...
 
- Public Member Functions inherited from gramods::gmTrack::SampleCollector
 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...
 
- Public Member Functions inherited from gramods::gmCore::Object
 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...
 
- Public Member Functions inherited from gramods::gmCore::Updateable
 Updateable (int priority=0)
 Configures the Updateable properties to the specified priority. More...
 

Static Public Attributes

static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 
- Static Public Attributes inherited from gramods::gmTrack::SampleCollector
static gramods::gmCore::OFactory::OFactoryInformation _gm_ofi
 

Additional Inherited Members

- Public Types inherited from gramods::gmCore::Updateable
typedef std::chrono::steady_clock clock
 
- Static Public Member Functions inherited from gramods::gmTrack::SampleCollector
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 Public Member Functions inherited from gramods::gmCore::Updateable
static void updateAll (clock::time_point t=clock::now(), std::optional< size_t > frame=std::nullopt)
 Updates all currently instanciated updateable objects. More...
 
- Protected Attributes inherited from gramods::gmTrack::SampleCollector
std::unique_ptr< Impl_impl
 

Detailed Description

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.

Member Function Documentation

◆ addActualPosition()

void gramods::gmTrack::PoseRegistrationEstimator::addActualPosition ( Eigen::Vector3f  p)

Adds a known calibration point, in room coordinates.

XML-attribute: actualPosition

◆ getRegistration()

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.

◆ performRegistration()

void gramods::gmTrack::PoseRegistrationEstimator::performRegistration ( )

Force registration estimation.

This is needed only if the component is used non-interactively.


The documentation for this class was generated from the following files: