Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes
jafar::bundler::ViewsManager2 Class Reference

Class ViewsManager2, used to do ray intersections computing. More...


Detailed Description

Class ViewsManager2, used to do ray intersections computing.

the intersection point should be the 3D coordinates of the observed pixels.

Definition at line 24 of file viewsManager2.hpp.

#include <viewsManager2.hpp>

List of all members.

Public Member Functions

 ViewsManager2 (bool save=false)
 [default] constructor
 ViewsManager2 (const std::string &camCalibFile, jafar::camera::CameraType camType=jafar::camera::MONO, bool save=false)
 Constructor.
 ViewsManager2 (const jblas::vec &camParams, camera::CameraType camType=jafar::camera::MONO, bool save=false)
 Constructor.
 ~ViewsManager2 ()
 destructor
void setCamera (camera::CameraType camType, const std::string &camCalibFile)
 set camera from a calibration file
void setCamera (camera::CameraType camType, const jblas::vec &camParams)
 set camera from a vector of parameters
std::string camCalibFile () const
 get camera configuration file
void insert (jblas::vec2 pixel, geom::T3D *ref, size_t index=-1, const camera::CameraContainer &thisContainer=camera::CameraContainer())
 insert a new data tuple in the system.
void insertPixel (size_t index, const jblas::vec2 &pixel, const camera::CameraContainer &container=camera::CameraContainer())
 inserts a new pixel with view key in the system.
void insertReference (size_t index, geom::T3D *ref)
 inserts a T3D reference with view key index
void solve ()
 Methode to solve the system by means of LinearLeastSquares.
jblas::vec3 solution () const
 returns the computed solution of the system
double reprojectionError ()
 returns the mean reprojection error

Private Member Functions

void computeReprojectionError ()
 computes the mean reprojection error
geom::T3DrefByIndex (size_t _index) const
 returns the reference given

Private Attributes

jafar::camera::CameraContainer container
 camera container
jmath::VariableSizeLinearLeastSquares2 vlls
 Linear Least Square solver class.
jblas::vec3 center
 computed center (solution of the system)
double error
 mean reprojection error of the computed soltion
std::map< size_t, geom::T3D * > references
 map of the references sensor/world
std::map< size_t, jblas::vec2pixels
 map of the observed pixels
size_t counter
bool saveData
geom::T3DlastKnownLocation
bool one_camera

Constructor & Destructor Documentation

jafar::bundler::ViewsManager2::ViewsManager2 ( bool  save = false) [inline]

[default] constructor

Parameters:
save,:Save inserted data for reprojection errors computing use this one for the case you want multiple cameras

Definition at line 60 of file viewsManager2.hpp.

jafar::bundler::ViewsManager2::ViewsManager2 ( const std::string &  camCalibFile,
jafar::camera::CameraType  camType = jafar::camera::MONO,
bool  save = false 
) [inline]

Constructor.

Parameters:
camCalibFile,:Camera calibration file
camType,:Camera type amomg MONO, STEREO and PANO
Remarks:
the provided camera will be used for ALL the later inserted data ie you assume all your pixels come from the one source
Parameters:
save,:Save inserted data for reprojection errors computing

Definition at line 70 of file viewsManager2.hpp.

References setCamera().

jafar::bundler::ViewsManager2::ViewsManager2 ( const jblas::vec camParams,
camera::CameraType  camType = jafar::camera::MONO,
bool  save = false 
) [inline]

Constructor.

Parameters:
camParams,:Vector of intrinsics camera parameters
camType,:Camera type amomg MONO, STEREO and PANO
Remarks:
the provided camera will be used for ALL the later inserted data ie you assume all your pixels come from the one source
Parameters:
save,:Save inserted data for reprojection errors computing

Definition at line 85 of file viewsManager2.hpp.

References setCamera().


Member Function Documentation

void jafar::bundler::ViewsManager2::insert ( jblas::vec2  pixel,
geom::T3D ref,
size_t  index = -1,
const camera::CameraContainer thisContainer = camera::CameraContainer() 
)

insert a new data tuple in the system.

If a valid camera is provided and in multi cameras case the provided camera container will be used to compute the rays. If the camera is set and no valid camera is provided as a parameter then the previously set camera will be used.

Referenced by insertPixel().

void jafar::bundler::ViewsManager2::insertPixel ( size_t  index,
const jblas::vec2 pixel,
const camera::CameraContainer container = camera::CameraContainer() 
) [inline]

inserts a new pixel with view key in the system.

in multi camera case provide it with the right camera container or call camera setter before.

Definition at line 114 of file viewsManager2.hpp.

References container, insert(), JFR_PRED_ERROR, pixels, and jafar::bundler::BundlerException::VIEWSMANAGER_POS_NOT_FOUND.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:32 for Jafar by doxygen 1.7.6.1
LAAS-CNRS