Image Component Library (ICL)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
icl::geom::SoftPosit Class Reference

#include <SoftPosit.h>

List of all members.

Public Member Functions

 SoftPosit ()
 ~SoftPosit ()
void init ()
math::DynMatrix< icl64fgetRotationMat ()
math::DynMatrix< icl64fgetTranslation ()
int numMatches (math::DynMatrix< icl64f > &assignMat)
void softPosit (math::DynMatrix< icl64f > imagePts, math::DynMatrix< icl64f > worldPts, double beta0, int noiseStd, math::DynMatrix< icl64f > initRot, math::DynMatrix< icl64f > initTrans, double focalLength, math::DynMatrix< icl64f > center=math::DynMatrix< icl64f >(2, 0), bool draw=true)
void softPosit (math::DynMatrix< icl64f > imagePts, math::DynMatrix< icl64f > imageAdj, math::DynMatrix< icl64f > worldPts, math::DynMatrix< icl64f > worldAdj, double beta0, int noiseStd, math::DynMatrix< icl64f > initRot, math::DynMatrix< icl64f > initTrans, double focalLength, qt::ICLDrawWidget &w, math::DynMatrix< icl64f > center=math::DynMatrix< icl64f >(2, 0), bool draw=true)
void softPosit (std::vector< utils::Point32f > imagePts, std::vector< math::FixedColVector< double, 3 > > worldPts, double beta0, int noiseStd, math::DynMatrix< icl64f > initRot, math::DynMatrix< icl64f > initTrans, double focalLength, math::DynMatrix< icl64f > center=math::DynMatrix< icl64f >(2, 0))
void softPosit (std::vector< utils::Point32f > imagePts, math::DynMatrix< icl64f > imageAdj, std::vector< math::FixedColVector< double, 3 > > worldPts, math::DynMatrix< icl64f > worldAdj, double beta0, int noiseStd, math::DynMatrix< icl64f > initRot, math::DynMatrix< icl64f > initTrans, double focalLength, qt::ICLDrawWidget &w, math::DynMatrix< icl64f > center=math::DynMatrix< icl64f >(2, 0), bool draw=true)
void proj3dto2d (math::DynMatrix< icl64f > pts3d, math::DynMatrix< icl64f > &rot, math::DynMatrix< icl64f > &trans, double flength, int objdim, math::DynMatrix< icl64f > &center, math::DynMatrix< icl64f > &pts2d)
bool isNullMatrix (const math::DynMatrix< icl64f > &M)
void visualize (const math::DynMatrix< icl64f > &imagePts, const math::DynMatrix< icl64f > &projWorldPts, unsigned int delay=200)
void visualize (qt::ICLDrawWidget &w, const math::DynMatrix< icl64f > &imagePts, const math::DynMatrix< icl64f > &imageAdj, const math::DynMatrix< icl64f > &projWorldPts, const math::DynMatrix< icl64f > &worldAdj, unsigned int delay=200)

Private Member Functions

math::DynMatrix< icl64f > & cross (math::DynMatrix< icl64f > &x, math::DynMatrix< icl64f > &y, math::DynMatrix< icl64f > &r)
void maxPosRatio (math::DynMatrix< icl64f > &assignMat, math::DynMatrix< icl64f > &pos, math::DynMatrix< icl64f > &ratios)
math::DynMatrix< icl64f > & sinkhornImp (math::DynMatrix< icl64f > &M)
double cond (math::DynMatrix< icl64f > &A)
double max (math::DynMatrix< icl64f > s)

Private Attributes

unsigned int nbWorldPts
unsigned int nbImagePts
math::DynMatrix< icl64fcenteredImage
math::DynMatrix< icl64fdistMat
math::DynMatrix< icl64fassignMat
double beta
double betaFinal
qt::ICLDrawWidgetdw
math::DynMatrix< icl64fiAdj
math::DynMatrix< icl64fwAdj
math::DynMatrix< icl64fd
math::DynMatrix< icl64fw
std::vector< math::DynMatrix
< icl64f > > 
P
std::vector< math::DynMatrix
< icl64f > > 
p
math::DynMatrix< icl64fL
math::DynMatrix< icl64finvL
math::DynMatrix< icl64fU
math::DynMatrix< icl64fs
math::DynMatrix< icl64fV
math::DynMatrix< icl64fsvdResult
math::DynMatrix< icl64feye2_2
math::DynMatrix< icl64fr1T
math::DynMatrix< icl64fr2T
math::DynMatrix< icl64fr3T
math::DynMatrix< icl64fprojectedU
math::DynMatrix< icl64fprojectedV
math::DynMatrix< icl64freplicatedProjectedU
math::DynMatrix< icl64freplicatedProjectedV
math::DynMatrix< icl64fcol1
math::DynMatrix< icl64fwkxj
math::DynMatrix< icl64fcol2
math::DynMatrix< icl64fwkyj
math::DynMatrix< icl64fpts2d
math::DynMatrix< icl64fsummedByColAssign
math::DynMatrix< icl64fweightedUi
math::DynMatrix< icl64fweightedVi
math::DynMatrix< icl64fR1
math::DynMatrix< icl64fR2
math::DynMatrix< icl64fR3
math::DynMatrix< icl64fROT
math::DynMatrix< icl64fT
double Tz
double Tx
double Ty
double sumNonslack
double sum
double alpha
bool draw

Static Private Attributes

static const double betaUpdate
static const double betaZero

Constructor & Destructor Documentation


Member Function Documentation

double icl::geom::SoftPosit::cond ( math::DynMatrix< icl64f > &  A) [private]
double icl::geom::SoftPosit::max ( math::DynMatrix< icl64f s) [private]
void icl::geom::SoftPosit::maxPosRatio ( math::DynMatrix< icl64f > &  assignMat,
math::DynMatrix< icl64f > &  pos,
math::DynMatrix< icl64f > &  ratios 
) [private]
void icl::geom::SoftPosit::proj3dto2d ( math::DynMatrix< icl64f pts3d,
math::DynMatrix< icl64f > &  rot,
math::DynMatrix< icl64f > &  trans,
double  flength,
int  objdim,
math::DynMatrix< icl64f > &  center,
math::DynMatrix< icl64f > &  pts2d 
)
void icl::geom::SoftPosit::softPosit ( math::DynMatrix< icl64f imagePts,
math::DynMatrix< icl64f worldPts,
double  beta0,
int  noiseStd,
math::DynMatrix< icl64f initRot,
math::DynMatrix< icl64f initTrans,
double  focalLength,
math::DynMatrix< icl64f center = math::DynMatrixicl64f >(2, 0),
bool  draw = true 
)
void icl::geom::SoftPosit::softPosit ( math::DynMatrix< icl64f imagePts,
math::DynMatrix< icl64f imageAdj,
math::DynMatrix< icl64f worldPts,
math::DynMatrix< icl64f worldAdj,
double  beta0,
int  noiseStd,
math::DynMatrix< icl64f initRot,
math::DynMatrix< icl64f initTrans,
double  focalLength,
qt::ICLDrawWidget w,
math::DynMatrix< icl64f center = math::DynMatrixicl64f >(2, 0),
bool  draw = true 
)
void icl::geom::SoftPosit::softPosit ( std::vector< utils::Point32f imagePts,
std::vector< math::FixedColVector< double, 3 > >  worldPts,
double  beta0,
int  noiseStd,
math::DynMatrix< icl64f initRot,
math::DynMatrix< icl64f initTrans,
double  focalLength,
math::DynMatrix< icl64f center = math::DynMatrixicl64f >(2, 0) 
)
void icl::geom::SoftPosit::softPosit ( std::vector< utils::Point32f imagePts,
math::DynMatrix< icl64f imageAdj,
std::vector< math::FixedColVector< double, 3 > >  worldPts,
math::DynMatrix< icl64f worldAdj,
double  beta0,
int  noiseStd,
math::DynMatrix< icl64f initRot,
math::DynMatrix< icl64f initTrans,
double  focalLength,
qt::ICLDrawWidget w,
math::DynMatrix< icl64f center = math::DynMatrixicl64f >(2, 0),
bool  draw = true 
)
void icl::geom::SoftPosit::visualize ( const math::DynMatrix< icl64f > &  imagePts,
const math::DynMatrix< icl64f > &  projWorldPts,
unsigned int  delay = 200 
)
void icl::geom::SoftPosit::visualize ( qt::ICLDrawWidget w,
const math::DynMatrix< icl64f > &  imagePts,
const math::DynMatrix< icl64f > &  imageAdj,
const math::DynMatrix< icl64f > &  projWorldPts,
const math::DynMatrix< icl64f > &  worldAdj,
unsigned int  delay = 200 
)

Member Data Documentation

double icl::geom::SoftPosit::alpha [private]
double icl::geom::SoftPosit::beta [private]
const double icl::geom::SoftPosit::betaUpdate [static, private]
const double icl::geom::SoftPosit::betaZero [static, private]
unsigned int icl::geom::SoftPosit::nbImagePts [private]
unsigned int icl::geom::SoftPosit::nbWorldPts [private]
double icl::geom::SoftPosit::sum [private]
double icl::geom::SoftPosit::Tx [private]
double icl::geom::SoftPosit::Ty [private]
double icl::geom::SoftPosit::Tz [private]

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