Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
BIAS::CamPoseCalib Class Reference

this classs allows estimation of the internal (except skew) and external camera parameters by an iterative non-linear algorithm from given 2D-3D correspondences More...

#include <Geometry/CamPoseCalib.hh>

+ Inheritance diagram for BIAS::CamPoseCalib:
+ Collaboration diagram for BIAS::CamPoseCalib:

Public Member Functions

int AddCorr (const BIAS::Vector3< double > &x, const BIAS::Vector2< double > &y)
 add a corresponding point pair More...
 
int AddCorr (const BIAS::Vector3< double > &x, const BIAS::Vector2< double > &pointOnLine, const BIAS::Vector2< double > &normalOfLine)
 add a corresponding 3D-point 2D-line pair More...
 
void AddDebugLevel (const long int lv)
 
void AddDebugLevel (const std::string &name)
 
 CamPoseCalib ()
 
bool DebugLevelIsSet (const long int lv) const
 
bool DebugLevelIsSet (const std::string &name) const
 
int Estimate (unsigned int iterations=20)
 Does the calculation with a certain number of iterations. More...
 
double GetAvgError ()
 returns the avg error of the estimation, which is the average difference of the projected points to their corresponding image points . More...
 
void GetCov (BIAS::Matrix< double > &cov)
 returns the covarinace of the last estimate in the world coo system More...
 
int GetCoVarMatrix (BIAS::Matrix< double > &coVar)
 returns the covariance of the last estimate, which is (H=Hessian): H^{-1} * eps^T*eps * 1/(2n-p) The first 3 parameters are translation, then rotation. More...
 
int GetDebugLevel () const
 
std::ostream & GetDebugStream () const
 
void GetDebugStream (std::ostream &os) const
 
void GetP (BIAS::PMatrix &P)
 returns the estimated new projection matrix More...
 
BIAS::Vector< double > GetResult () const
 returns the result vector, corresponding to the covariance matrix More...
 
BIAS::RMatrix GetRotation () const
 this return the relative rotation from the initial camera orientation to the new estimated camera rotation More...
 
BIAS::Vector3< double > GetTranslation () const
 this returns the translation from the initial camera center to the new camera center More...
 
long int Name2DebugLevel (const std::string &name) const
 looks up a debuglevel in the internal map, returns 0 if not found More...
 
long int NewDebugLevel (const std::string &name)
 creates a new debuglevel More...
 
void PrintDebugLevel (std::ostream &os=std::cout) const
 
void RemoveDebugLevel (const long int lv)
 
void RemoveDebugLevel (const std::string &name)
 
void Reset ()
 clears the correspondences, such that u can do a new estimate, More...
 
void SetChangeEpsilon (double transEpsilon, double rotEpsilon)
 if the estimated translation in one iteration step is smaller than this value, iteration stops, default is 1E-9 More...
 
void SetDebugLevel (const long int lv)
 
void SetDebugLevel (const std::string &name)
 
void SetDebugStream (const std::ostream &os)
 
void SetEstimateFocal (unsigned char val)
 wether to estimate the focal length f also, default is NO More...
 
void SetEstimatePrincipal (bool yes)
 wether to estimate the principal point also, default is NO More...
 
void SetEstimateTranslation (const bool estimateTransX, const bool estimateTransY, const bool estimateTransZ)
 
void SetGroundTruth (BIAS::Vector3< double > optAxis, BIAS::Vector3< double > upVector, BIAS::Vector3< double > center)
 for analyzing only. More...
 
int SetInitialCamera (const BIAS::KMatrix &K)
 activates an automatic initial guess for the projection matrix, according to Christian Perwass' habil. More...
 
int SetInitialCamera (double fx, double fy, double cx, double cy)
 activates an automatic initial guess for the projection matrix, according to Christian Perwass' habil. More...
 
int SetInitialCamera (const BIAS::PMatrix &P)
 Set the initial cam yourself if you have a good guess. More...
 
int SetInitialCamera (double fx, double fy, double cx, double cy, const BIAS::RMatrix &R, const BIAS::Vector3< double > &C)
 Set the initial cam yourself if you have a good guess. More...
 
void SetLM (bool on)
 wether to do Levenberg-Maquardt estimation. More...
 
void SetVariances (const std::vector< BIAS::Matrix2x2< double > > &variances)
 If uncertainties for the 2D points is available set them here. More...
 
void SetWeighting (double k, int func=1)
 optional: do robust estimation, if the error is larger than k, an outlier is assumed
More...
 
void SetWeights (const std::vector< double > &weights)
 optional: set weights for each correspondence. More...
 
void SetWeightsLine (const std::vector< double > &weights)
 
void ShowDebugLevel (std::ostream &os=std::cout) const
 prints all internally known debuglevels More...
 
int TransformVec (const BIAS::Vector< double > &src, BIAS::Vector< double > &dst)
 
 ~CamPoseCalib ()
 

Static Public Member Functions

static long int GetGlobalDebugLevel ()
 
static void SetGlobalDebugLevel (long int lev)
 

Protected Member Functions

int AddConstraints2DLine_ ()
 adds rows for 3D-point-2D-point corrs More...
 
int ApplyCoVariances_ ()
 
int ApplySolution_ (BIAS::Vector< double > &result)
 helper function for Estimate More...
 
long ConsumeNextFreeDebuglevel_ ()
 returns the next available debuglevel More...
 
int CreateEquationSys_ ()
 helper function for Estimate, creates the Jacobi matrix More...
 
int CreateSecDMatrix_ ()
 
double GetAvgSquaredWeightedError_ ()
 returns the avg error of the estimation, which is the weighted average squared difference of the projected points to their corresponding image point More...
 
int GuessInitialCam_ ()
 
void outputPose_ (int iteration)
 
int SetWeightsByError_ ()
 for robust estimation More...
 
int Solve_ (BIAS::Matrix< double > &J, BIAS::Vector< double > &eps, BIAS::Vector< double > &result)
 
int SolveLM_ (BIAS::Matrix< double > &J, BIAS::Vector< double > &eps, BIAS::Vector< double > &result, unsigned int iterations)
 

Protected Attributes

long int _liDebugLevel
 
long int _liNextDebugLevel
 new concept, debuglevel are managed here in the debug class More...
 
std::map< std::string, long int > _String2Debuglevel
 
BIAS::Vector3< double > avgModel_
 
BIAS::Vector3< double > avgRay_
 
const bool calcSecD_
 
BIAS::Vector3< double > camC_
 
BIAS::PMatrix camP_
 
BIAS::RMatrix camR_
 
BIAS::RMatrix camRT_
 
BIAS::Vector3< double > center_
 
BIAS::Matrix< double > coVarMat_
 
double cx_
 
double cy_
 
bool doLM_
 for LM algorithm extension More...
 
double errorIncreaseForLM_
 
int estimateF_
 
bool estimatePrincipal_
 
bool estimateTransX_
 
bool estimateTransY_
 
bool estimateTransZ_
 
bool initialGuess_
 
bool initialized_
 
std::vector< BIAS::Vector3
< double > > 
initialMps_
 
std::vector< BIAS::Vector3
< double > > 
initialMpsLine_
 
double initMu_
 
double lastError_
 
BIAS::RMatrix lastRot_
 
double minDepthModel_
 
std::vector< BIAS::Vector3
< double > > 
mps_
 
std::vector< BIAS::Vector3
< double > > 
mpsLine_
 
double mu_
 
BIAS::Vector3< double > origAvgModel_
 
std::vector< BIAS::Vector3
< double > > 
origMps_
 
std::vector< BIAS::Vector3
< double > > 
origMpsLine_
 
double outlierError_
 
int paramToEst_
 
BIAS::RMatrix resultR_
 
BIAS::Vector3< double > resultTrans_
 
int robustFunc_
 
double rotChangeEpsilon_
 
double scaleNumStabiltity_
 
BIAS::Matrix< double > secDMatrix_
 
BIAS::Matrix< double > solveMatrix_
 
BIAS::Vector< double > solveVector_
 
BIAS::SVD svd_
 
double sx_
 
double sy_
 
std::vector< BIAS::Vector2
< double > > 
tps_
 
std::vector< BIAS::Vector2
< double > > 
tpsLineNormal_
 
std::vector< BIAS::Vector2
< double > > 
tpsLinePoint_
 
double transChangeEpsilon_
 
BIAS::Vector3< double > truthCenter_
 
BIAS::Vector3< double > truthOptAxis_
 
BIAS::Vector3< double > truthUpVec_
 
std::vector< BIAS::Matrix2x2
< double > > 
variances_
 
std::vector< double > weights_
 
std::vector< double > weightsLine_
 

Static Protected Attributes

static std::ostream _zDebugStream
 
static long int GlobalDebugLevel = 0
 

Detailed Description

this classs allows estimation of the internal (except skew) and external camera parameters by an iterative non-linear algorithm from given 2D-3D correspondences

A linearisation of the rotation is used therefore more than one iteration is necessary. Iteration stops if the change drops below minChange or if a maximum of iterations is reached, while the default iterations of Estimate() are more than enough usually.
Minimum number of correspondences are 4, while the model points may even lie on one plane. It may also work with only 3 correspondences, but not guaranteed!

usage:

see also example ExampleCamPoseCalib.cc

Author
Daniel Grest, Dec 2004
Examples:
ExampleCamPoseCalib.cpp.

Definition at line 86 of file CamPoseCalib.hh.

Constructor & Destructor Documentation

CamPoseCalib::CamPoseCalib ( )
BIAS::CamPoseCalib::~CamPoseCalib ( )
inline

Definition at line 90 of file CamPoseCalib.hh.

Member Function Documentation

int CamPoseCalib::AddConstraints2DLine_ ( )
protected
int CamPoseCalib::AddCorr ( const BIAS::Vector3< double > &  x,
const BIAS::Vector2< double > &  y 
)

add a corresponding point pair

Examples:
ExampleCamPoseCalib.cpp.

Definition at line 537 of file CamPoseCalib.cpp.

References origMps_, and tps_.

int CamPoseCalib::AddCorr ( const BIAS::Vector3< double > &  x,
const BIAS::Vector2< double > &  pointOnLine,
const BIAS::Vector2< double > &  normalOfLine 
)

add a corresponding 3D-point 2D-line pair

Definition at line 1364 of file CamPoseCalib.cpp.

References origMpsLine_, tpsLineNormal_, and tpsLinePoint_.

void BIAS::Debug::AddDebugLevel ( const long int  lv)
inlineinherited
void BIAS::Debug::AddDebugLevel ( const std::string &  name)
inlineinherited

Definition at line 362 of file Debug.hh.

int CamPoseCalib::ApplyCoVariances_ ( )
protected
int CamPoseCalib::ApplySolution_ ( BIAS::Vector< double > &  result)
protected
long BIAS::Debug::ConsumeNextFreeDebuglevel_ ( )
inlineprotectedinherited

returns the next available debuglevel

Author
woelk 09/2006

Definition at line 521 of file Debug.hh.

int CamPoseCalib::CreateEquationSys_ ( )
protected

helper function for Estimate, creates the Jacobi matrix

Definition at line 239 of file CamPoseCalib.cpp.

References cx_, cy_, estimateF_, estimatePrincipal_, estimateTransX_, estimateTransY_, estimateTransZ_, minDepthModel_, mps_, solveMatrix_, solveVector_, sx_, sy_, and tps_.

Referenced by Estimate().

int CamPoseCalib::CreateSecDMatrix_ ( )
protected
bool BIAS::Debug::DebugLevelIsSet ( const long int  lv) const
inlineinherited
bool BIAS::Debug::DebugLevelIsSet ( const std::string &  name) const
inlineinherited

Definition at line 350 of file Debug.hh.

int CamPoseCalib::Estimate ( unsigned int  iterations = 20)

Does the calculation with a certain number of iterations.

Less iterations may speed up the processing, but may result in a more inaccurate estimation.
If LM is active(default), in each iteration there may be the same amount of LM iterations, such that the total number of function evaluation is up to iterations^2

Returns
0=ok(epsilon reached), <0:error, >0: maxiter reached, -5: all image points are on a line
Examples:
ExampleCamPoseCalib.cpp.

Definition at line 90 of file CamPoseCalib.cpp.

References AddConstraints2DLine_(), ApplyCoVariances_(), ApplySolution_(), calcSecD_, camC_, camRT_, CreateEquationSys_(), CreateSecDMatrix_(), BIAS::Vector3< T >::Dist(), doLM_, estimateF_, estimatePrincipal_, estimateTransX_, estimateTransY_, estimateTransZ_, GetAvgError(), BIAS::RMatrixBase::GetRotationAxisAngle(), GuessInitialCam_(), initialGuess_, initialized_, initialMps_, initialMpsLine_, lastRot_, BIAS::Vector3< T >::Length(), mps_, mpsLine_, TNT::Vector< T >::newsize(), TNT::Matrix< T >::newsize(), TNT::Matrix< T >::num_cols(), TNT::Matrix< T >::num_rows(), origMps_, origMpsLine_, paramToEst_, resultR_, resultTrans_, robustFunc_, rotChangeEpsilon_, scaleNumStabiltity_, secDMatrix_, BIAS::Matrix3x3< T >::SetIdentity(), SetWeightsByError_(), BIAS::Vector< T >::SetZero(), BIAS::Matrix< T >::SetZero(), TNT::Vector< T >::size(), BIAS::SVD::Solve(), SolveLM_(), solveMatrix_, solveVector_, svd_, tps_, transChangeEpsilon_, BIAS::Matrix3x3< T >::Transpose(), variances_, weights_, and weightsLine_.

double CamPoseCalib::GetAvgError ( )

returns the avg error of the estimation, which is the average difference of the projected points to their corresponding image points .

Uses the Mahalanobis-distance, if variances are specified.

Examples:
ExampleCamPoseCalib.cpp.

Definition at line 744 of file CamPoseCalib.cpp.

References cx_, cy_, minDepthModel_, mps_, mpsLine_, sx_, sy_, tps_, tpsLineNormal_, tpsLinePoint_, and variances_.

Referenced by Estimate().

double CamPoseCalib::GetAvgSquaredWeightedError_ ( )
protected

returns the avg error of the estimation, which is the weighted average squared difference of the projected points to their corresponding image point

Definition at line 782 of file CamPoseCalib.cpp.

References cx_, cy_, minDepthModel_, mps_, mpsLine_, sx_, sy_, tps_, tpsLineNormal_, tpsLinePoint_, and weights_.

Referenced by GetCoVarMatrix(), and SolveLM_().

void CamPoseCalib::GetCov ( BIAS::Matrix< double > &  cov)

returns the covarinace of the last estimate in the world coo system

Author
woelk 04/2006

Definition at line 1130 of file CamPoseCalib.cpp.

References GetCoVarMatrix(), GetResult(), TNT::Matrix< T >::num_cols(), TNT::Matrix< T >::num_rows(), and BIAS::Vector< T >::Size().

int CamPoseCalib::GetCoVarMatrix ( BIAS::Matrix< double > &  coVar)

returns the covariance of the last estimate, which is (H=Hessian): H^{-1} * eps^T*eps * 1/(2n-p) The first 3 parameters are translation, then rotation.

The covariance is given in the camera coord system, not the world coord system ! Also see dissertation of Prof. Koch, page 67.

Author
grest, Jan. 2006
Examples:
ExampleCamPoseCalib.cpp.

Definition at line 1035 of file CamPoseCalib.cpp.

References coVarMat_, doLM_, GetAvgSquaredWeightedError_(), BIAS::SVD::Invert(), BIAS::Matrix< T >::MakeSymmetric(), mps_, TNT::Matrix< T >::num_cols(), TNT::Matrix< T >::num_rows(), and paramToEst_.

Referenced by GetCov().

int BIAS::Debug::GetDebugLevel ( ) const
inlineinherited
std::ostream& BIAS::Debug::GetDebugStream ( ) const
inlineinherited

Definition at line 405 of file Debug.hh.

void BIAS::Debug::GetDebugStream ( std::ostream &  os) const
inlineinherited

Definition at line 414 of file Debug.hh.

static long int BIAS::Debug::GetGlobalDebugLevel ( )
inlinestaticinherited

Definition at line 431 of file Debug.hh.

void CamPoseCalib::GetP ( BIAS::PMatrix P)

returns the estimated new projection matrix

Examples:
ExampleCamPoseCalib.cpp.

Definition at line 544 of file CamPoseCalib.cpp.

References camC_, camR_, BIAS::PMatrix::Compose(), cx_, cy_, GetRotation(), GetTranslation(), BIAS::Matrix3x3< T >::SetIdentity(), sx_, and sy_.

Vector< double > CamPoseCalib::GetResult ( ) const

returns the result vector, corresponding to the covariance matrix

Author
woelk 03/2006

Definition at line 556 of file CamPoseCalib.cpp.

References camC_, camR_, GetRotation(), BIAS::RMatrixBase::GetRotationAnglesXYZ(), and GetTranslation().

Referenced by GetCov().

BIAS::RMatrix BIAS::CamPoseCalib::GetRotation ( ) const
inline

this return the relative rotation from the initial camera orientation to the new estimated camera rotation

Examples:
ExampleCamPoseCalib.cpp.

Definition at line 201 of file CamPoseCalib.hh.

References BIAS::Matrix3x3< T >::Transpose().

Referenced by GetP(), GetResult(), and outputPose_().

BIAS::Vector3<double> BIAS::CamPoseCalib::GetTranslation ( ) const
inline

this returns the translation from the initial camera center to the new camera center

Examples:
ExampleCamPoseCalib.cpp.

Definition at line 207 of file CamPoseCalib.hh.

Referenced by GetP(), GetResult(), outputPose_(), and TransformVec().

int CamPoseCalib::GuessInitialCam_ ( )
protected
long int BIAS::Debug::Name2DebugLevel ( const std::string &  name) const
inlineinherited

looks up a debuglevel in the internal map, returns 0 if not found

Author
woelk 09/2006

Definition at line 454 of file Debug.hh.

long int BIAS::Debug::NewDebugLevel ( const std::string &  name)
inlineinherited
void CamPoseCalib::outputPose_ ( int  iteration)
protected
void BIAS::Debug::PrintDebugLevel ( std::ostream &  os = std::cout) const
inlineinherited

Definition at line 383 of file Debug.hh.

void BIAS::Debug::RemoveDebugLevel ( const long int  lv)
inlineinherited

Definition at line 369 of file Debug.hh.

void BIAS::Debug::RemoveDebugLevel ( const std::string &  name)
inlineinherited

Definition at line 376 of file Debug.hh.

void CamPoseCalib::Reset ( )
void BIAS::CamPoseCalib::SetChangeEpsilon ( double  transEpsilon,
double  rotEpsilon 
)
inline

if the estimated translation in one iteration step is smaller than this value, iteration stops, default is 1E-9

Definition at line 153 of file CamPoseCalib.hh.

void BIAS::Debug::SetDebugLevel ( const long int  lv)
inlineinherited
void BIAS::Debug::SetDebugLevel ( const std::string &  name)
inlineinherited

Definition at line 325 of file Debug.hh.

void BIAS::Debug::SetDebugStream ( const std::ostream &  os)
inlineinherited

Definition at line 398 of file Debug.hh.

void BIAS::CamPoseCalib::SetEstimateFocal ( unsigned char  val)
inline

wether to estimate the focal length f also, default is NO

Parameters
val0 NO, 1 YES, 2 BOTH

Definition at line 135 of file CamPoseCalib.hh.

void BIAS::CamPoseCalib::SetEstimatePrincipal ( bool  yes)
inline

wether to estimate the principal point also, default is NO

Examples:
ExampleCamPoseCalib.cpp.

Definition at line 139 of file CamPoseCalib.hh.

void BIAS::CamPoseCalib::SetEstimateTranslation ( const bool  estimateTransX,
const bool  estimateTransY,
const bool  estimateTransZ 
)
inline

Definition at line 143 of file CamPoseCalib.hh.

static void BIAS::Debug::SetGlobalDebugLevel ( long int  lev)
inlinestaticinherited

Definition at line 424 of file Debug.hh.

void BIAS::CamPoseCalib::SetGroundTruth ( BIAS::Vector3< double >  optAxis,
BIAS::Vector3< double >  upVector,
BIAS::Vector3< double >  center 
)
inline

for analyzing only.

Set the known groundtruth, used in outputPose_()

Definition at line 240 of file CamPoseCalib.hh.

int CamPoseCalib::SetInitialCamera ( const BIAS::KMatrix K)

activates an automatic initial guess for the projection matrix, according to Christian Perwass' habil.

Examples:
ExampleCamPoseCalib.cpp.

Definition at line 529 of file CamPoseCalib.cpp.

References cx_, cy_, initialGuess_, sx_, and sy_.

int CamPoseCalib::SetInitialCamera ( double  fx,
double  fy,
double  cx,
double  cy 
)

activates an automatic initial guess for the projection matrix, according to Christian Perwass' habil.

Definition at line 1192 of file CamPoseCalib.cpp.

References cx_, cy_, initialGuess_, sx_, and sy_.

int CamPoseCalib::SetInitialCamera ( const BIAS::PMatrix P)

Set the initial cam yourself if you have a good guess.

Definition at line 516 of file CamPoseCalib.cpp.

References camC_, camP_, camR_, camRT_, cx_, cy_, BIAS::PMatrix::GetC(), BIAS::PMatrix::GetK(), BIAS::PMatrix::GetR(), sx_, sy_, and BIAS::Matrix3x3< T >::Transpose().

int CamPoseCalib::SetInitialCamera ( double  fx,
double  fy,
double  cx,
double  cy,
const BIAS::RMatrix R,
const BIAS::Vector3< double > &  C 
)

Set the initial cam yourself if you have a good guess.

Definition at line 503 of file CamPoseCalib.cpp.

References camC_, camR_, camRT_, cx_, cy_, sx_, sy_, and BIAS::Matrix3x3< T >::Transpose().

void BIAS::CamPoseCalib::SetLM ( bool  on)
inline

wether to do Levenberg-Maquardt estimation.

This guarantees an error decrease in each iteration, but takes more time, default is on

Definition at line 130 of file CamPoseCalib.hh.

void BIAS::CamPoseCalib::SetVariances ( const std::vector< BIAS::Matrix2x2< double > > &  variances)
inline

If uncertainties for the 2D points is available set them here.

Expects the already inverted CoVariances, one for each 2D point.

Definition at line 179 of file CamPoseCalib.hh.

void BIAS::CamPoseCalib::SetWeighting ( double  k,
int  func = 1 
)
inline

optional: do robust estimation, if the error is larger than k, an outlier is assumed

Parameters
func,:choose the M-Estimator(google for it) function
0 is Fair- function, 1 is Huber function and 2 is Tukey function
Examples:
ExampleCamPoseCalib.cpp.

Definition at line 171 of file CamPoseCalib.hh.

void BIAS::CamPoseCalib::SetWeights ( const std::vector< double > &  weights)
inline

optional: set weights for each correspondence.


Definition at line 160 of file CamPoseCalib.hh.

int CamPoseCalib::SetWeightsByError_ ( )
protected
void BIAS::CamPoseCalib::SetWeightsLine ( const std::vector< double > &  weights)
inline

Definition at line 163 of file CamPoseCalib.hh.

void BIAS::Debug::ShowDebugLevel ( std::ostream &  os = std::cout) const
inlineinherited

prints all internally known debuglevels

Author
woelk 09/2006

Definition at line 496 of file Debug.hh.

int CamPoseCalib::Solve_ ( BIAS::Matrix< double > &  J,
BIAS::Vector< double > &  eps,
BIAS::Vector< double > &  result 
)
protected

Definition at line 422 of file CamPoseCalib.cpp.

References BIAS::SVD::Solve(), and svd_.

int CamPoseCalib::SolveLM_ ( BIAS::Matrix< double > &  J,
BIAS::Vector< double > &  eps,
BIAS::Vector< double > &  result,
unsigned int  iterations 
)
protected
int CamPoseCalib::TransformVec ( const BIAS::Vector< double > &  src,
BIAS::Vector< double > &  dst 
)

Member Data Documentation

long int BIAS::Debug::_liDebugLevel
protectedinherited

Definition at line 510 of file Debug.hh.

Referenced by BIAS::Debug::operator=(), and BIAS::ImageBase::operator=().

long int BIAS::Debug::_liNextDebugLevel
protectedinherited

new concept, debuglevel are managed here in the debug class

Definition at line 516 of file Debug.hh.

Referenced by BIAS::Debug::operator=().

std::map<std::string, long int> BIAS::Debug::_String2Debuglevel
protectedinherited

Definition at line 517 of file Debug.hh.

Referenced by BIAS::Debug::operator=().

std::ostream BIAS::Debug::_zDebugStream
staticprotectedinherited

Definition at line 511 of file Debug.hh.

Referenced by BIAS::Debug::operator=().

BIAS::Vector3<double> BIAS::CamPoseCalib::avgModel_
protected

Definition at line 339 of file CamPoseCalib.hh.

BIAS::Vector3<double> BIAS::CamPoseCalib::avgRay_
protected

Definition at line 339 of file CamPoseCalib.hh.

const bool BIAS::CamPoseCalib::calcSecD_
protected

Definition at line 323 of file CamPoseCalib.hh.

Referenced by Estimate(), and SolveLM_().

BIAS::Vector3<double> BIAS::CamPoseCalib::camC_
protected
BIAS::PMatrix BIAS::CamPoseCalib::camP_
protected

Definition at line 337 of file CamPoseCalib.hh.

Referenced by SetInitialCamera().

BIAS::RMatrix BIAS::CamPoseCalib::camR_
protected
BIAS::RMatrix BIAS::CamPoseCalib::camRT_
protected

Definition at line 336 of file CamPoseCalib.hh.

Referenced by Estimate(), GuessInitialCam_(), and SetInitialCamera().

BIAS::Vector3<double> BIAS::CamPoseCalib::center_
protected

Definition at line 339 of file CamPoseCalib.hh.

BIAS::Matrix<double> BIAS::CamPoseCalib::coVarMat_
protected

Definition at line 325 of file CamPoseCalib.hh.

Referenced by GetCoVarMatrix(), and SolveLM_().

double BIAS::CamPoseCalib::cx_
protected
double BIAS::CamPoseCalib::cy_
protected
bool BIAS::CamPoseCalib::doLM_
protected

for LM algorithm extension

Definition at line 350 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), Estimate(), and GetCoVarMatrix().

double BIAS::CamPoseCalib::errorIncreaseForLM_
protected

Definition at line 354 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), and SolveLM_().

int BIAS::CamPoseCalib::estimateF_
protected
bool BIAS::CamPoseCalib::estimatePrincipal_
protected
bool BIAS::CamPoseCalib::estimateTransX_
protected
bool BIAS::CamPoseCalib::estimateTransY_
protected
bool BIAS::CamPoseCalib::estimateTransZ_
protected
long int BIAS::Debug::GlobalDebugLevel = 0
staticprotectedinherited

Definition at line 513 of file Debug.hh.

bool BIAS::CamPoseCalib::initialGuess_
protected

Definition at line 310 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), Estimate(), Reset(), and SetInitialCamera().

bool BIAS::CamPoseCalib::initialized_
protected

Definition at line 341 of file CamPoseCalib.hh.

Referenced by Estimate(), and Reset().

std::vector<BIAS::Vector3<double> > BIAS::CamPoseCalib::initialMps_
protected

Definition at line 299 of file CamPoseCalib.hh.

Referenced by ApplySolution_(), Estimate(), and Reset().

std::vector<BIAS::Vector3<double> > BIAS::CamPoseCalib::initialMpsLine_
protected

Definition at line 303 of file CamPoseCalib.hh.

Referenced by ApplySolution_(), Estimate(), and Reset().

double BIAS::CamPoseCalib::initMu_
protected

Definition at line 352 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), Reset(), and SolveLM_().

double BIAS::CamPoseCalib::lastError_
protected

Definition at line 353 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), Reset(), and SolveLM_().

BIAS::RMatrix BIAS::CamPoseCalib::lastRot_
protected

Definition at line 355 of file CamPoseCalib.hh.

Referenced by Estimate(), and SolveLM_().

double BIAS::CamPoseCalib::minDepthModel_
protected
std::vector<BIAS::Vector3<double> > BIAS::CamPoseCalib::mps_
protected
std::vector<BIAS::Vector3<double> > BIAS::CamPoseCalib::mpsLine_
protected
double BIAS::CamPoseCalib::mu_
protected

Definition at line 351 of file CamPoseCalib.hh.

Referenced by Reset(), and SolveLM_().

BIAS::Vector3<double> BIAS::CamPoseCalib::origAvgModel_
protected

Definition at line 339 of file CamPoseCalib.hh.

std::vector<BIAS::Vector3<double> > BIAS::CamPoseCalib::origMps_
protected

Definition at line 299 of file CamPoseCalib.hh.

Referenced by AddCorr(), Estimate(), GuessInitialCam_(), and Reset().

std::vector<BIAS::Vector3<double> > BIAS::CamPoseCalib::origMpsLine_
protected

Definition at line 303 of file CamPoseCalib.hh.

Referenced by AddCorr(), Estimate(), and Reset().

double BIAS::CamPoseCalib::outlierError_
protected

Definition at line 344 of file CamPoseCalib.hh.

Referenced by SetWeightsByError_().

int BIAS::CamPoseCalib::paramToEst_
protected

Definition at line 327 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), Estimate(), and GetCoVarMatrix().

BIAS::RMatrix BIAS::CamPoseCalib::resultR_
protected

Definition at line 336 of file CamPoseCalib.hh.

Referenced by ApplySolution_(), Estimate(), Reset(), SolveLM_(), and TransformVec().

BIAS::Vector3<double> BIAS::CamPoseCalib::resultTrans_
protected

Definition at line 335 of file CamPoseCalib.hh.

Referenced by ApplySolution_(), Estimate(), Reset(), and SolveLM_().

int BIAS::CamPoseCalib::robustFunc_
protected

Definition at line 345 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), Estimate(), and SetWeightsByError_().

double BIAS::CamPoseCalib::rotChangeEpsilon_
protected

Definition at line 306 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), and Estimate().

double BIAS::CamPoseCalib::scaleNumStabiltity_
protected

Definition at line 314 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), Estimate(), and TransformVec().

BIAS::Matrix<double> BIAS::CamPoseCalib::secDMatrix_
protected

Definition at line 320 of file CamPoseCalib.hh.

Referenced by CreateSecDMatrix_(), Estimate(), and SolveLM_().

BIAS::Matrix<double> BIAS::CamPoseCalib::solveMatrix_
protected
BIAS::Vector<double> BIAS::CamPoseCalib::solveVector_
protected
BIAS::SVD BIAS::CamPoseCalib::svd_
protected

Definition at line 317 of file CamPoseCalib.hh.

Referenced by Estimate(), and Solve_().

double BIAS::CamPoseCalib::sx_
protected
double BIAS::CamPoseCalib::sy_
protected
std::vector<BIAS::Vector2<double> > BIAS::CamPoseCalib::tps_
protected
std::vector<BIAS::Vector2<double> > BIAS::CamPoseCalib::tpsLineNormal_
protected
std::vector<BIAS::Vector2<double> > BIAS::CamPoseCalib::tpsLinePoint_
protected
double BIAS::CamPoseCalib::transChangeEpsilon_
protected

Definition at line 306 of file CamPoseCalib.hh.

Referenced by CamPoseCalib(), and Estimate().

BIAS::Vector3<double> BIAS::CamPoseCalib::truthCenter_
protected

Definition at line 297 of file CamPoseCalib.hh.

Referenced by outputPose_().

BIAS::Vector3<double> BIAS::CamPoseCalib::truthOptAxis_
protected

Definition at line 297 of file CamPoseCalib.hh.

Referenced by outputPose_().

BIAS::Vector3<double> BIAS::CamPoseCalib::truthUpVec_
protected

Definition at line 297 of file CamPoseCalib.hh.

Referenced by outputPose_().

std::vector<BIAS::Matrix2x2<double> > BIAS::CamPoseCalib::variances_
protected

Definition at line 347 of file CamPoseCalib.hh.

Referenced by ApplyCoVariances_(), Estimate(), and GetAvgError().

std::vector<double> BIAS::CamPoseCalib::weights_
protected

Definition at line 316 of file CamPoseCalib.hh.

Referenced by Estimate(), GetAvgSquaredWeightedError_(), and SetWeightsByError_().

std::vector<double> BIAS::CamPoseCalib::weightsLine_
protected

Definition at line 316 of file CamPoseCalib.hh.

Referenced by Estimate(), and SetWeightsByError_().


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