Image Component Library (ICL)
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
icl::geom::SQFitter Class Reference

#include <SQFitter.h>

Classes

struct  eulerPosError
 Structure, that contains the error function for the euler angles and position parameters. More...
 
struct  shapeError
 Structure, that contains the error function for the shape parameters. More...
 

Public Types

typedef icl::math::LevenbergMarquardtFitter< float > LM
 Levenberg-Marquardt. More...
 

Public Member Functions

 SQFitter (icl::utils::SmartPtr< Vec > camCenter=utils::SmartPtr< Vec >())
 Constructor. More...
 
bool fit (icl::geom::PointCloudObject &pcObj, const std::string &sShapePreference="bsc", size_t maxNumPoints=0)
 fits superquadrics into given point cloud, considering only given number of points More...
 
const SQParamsgetParams () const
 returns the last calculated parameters More...
 
void setCameraCenter (const Vec &c)
 changes the camera center More...
 

Private Member Functions

void fitSQ (LM::Matrix &Mx, math::Vec3 &viewDir, const std::string &sShapePreference)
 internal function, that fits a superquadric into given point cloud More...
 
void preProcess (LM::Matrix &Mx, math::Vec3 &viewDir, const std::string &sShapePreference, icl::math::FixedMatrix< float, 3, 3 > &R, math::Vec3 &center, math::Vec3 &size, math::Vec3 &origin, float &scale)
 internal function, that prepares some data for fitting of superquadrics More...
 
LM::Result fitShape (int i, icl::math::FixedMatrix< float, 3, 3 > &R, LM::Matrix &Mx, SQParams &params, math::Vec3 &size, math::Vec3 &euler)
 internal function, that determines the shape parameters More...
 

Private Attributes

SQFitter::shapeError sError
 structure containing an error function More...
 
SQFitter::eulerPosError ePError
 structure containing an error function More...
 
LM::FunctionMat sErrorFunc
 error function for the shape More...
 
LM::FunctionMat ePErrorFunc
 error function for the euler angles and the position More...
 
LM shapeLM
 Levenberg-Marquardt for the shape. More...
 
LM eulerPosLM
 Levenberg-Marquardt for the euler angles and the position. More...
 
SQParams params
 last solution More...
 
icl::utils::SmartPtr< VeccamCenter
 camera center More...
 

Member Typedef Documentation

◆ LM

Levenberg-Marquardt.

Constructor & Destructor Documentation

◆ SQFitter()

icl::geom::SQFitter::SQFitter ( icl::utils::SmartPtr< Vec camCenter = utils::SmartPtrVec >())

Constructor.

Member Function Documentation

◆ fit()

bool icl::geom::SQFitter::fit ( icl::geom::PointCloudObject pcObj,
const std::string &  sShapePreference = "bsc",
size_t  maxNumPoints = 0 
)

fits superquadrics into given point cloud, considering only given number of points

◆ fitShape()

LM::Result icl::geom::SQFitter::fitShape ( int  i,
icl::math::FixedMatrix< float, 3, 3 > &  R,
LM::Matrix Mx,
SQParams params,
math::Vec3 size,
math::Vec3 euler 
)
private

internal function, that determines the shape parameters

◆ fitSQ()

void icl::geom::SQFitter::fitSQ ( LM::Matrix Mx,
math::Vec3 viewDir,
const std::string &  sShapePreference 
)
private

internal function, that fits a superquadric into given point cloud

◆ getParams()

const SQParams& icl::geom::SQFitter::getParams ( ) const
inline

returns the last calculated parameters

◆ preProcess()

void icl::geom::SQFitter::preProcess ( LM::Matrix Mx,
math::Vec3 viewDir,
const std::string &  sShapePreference,
icl::math::FixedMatrix< float, 3, 3 > &  R,
math::Vec3 center,
math::Vec3 size,
math::Vec3 origin,
float &  scale 
)
private

internal function, that prepares some data for fitting of superquadrics

◆ setCameraCenter()

void icl::geom::SQFitter::setCameraCenter ( const Vec c)

changes the camera center

Member Data Documentation

◆ camCenter

icl::utils::SmartPtr<Vec> icl::geom::SQFitter::camCenter
private

camera center

◆ ePError

SQFitter::eulerPosError icl::geom::SQFitter::ePError
private

structure containing an error function

◆ ePErrorFunc

LM::FunctionMat icl::geom::SQFitter::ePErrorFunc
private

error function for the euler angles and the position

◆ eulerPosLM

LM icl::geom::SQFitter::eulerPosLM
private

Levenberg-Marquardt for the euler angles and the position.

◆ params

SQParams icl::geom::SQFitter::params
private

last solution

◆ sError

SQFitter::shapeError icl::geom::SQFitter::sError
private

structure containing an error function

◆ sErrorFunc

LM::FunctionMat icl::geom::SQFitter::sErrorFunc
private

error function for the shape

◆ shapeLM

LM icl::geom::SQFitter::shapeLM
private

Levenberg-Marquardt for the shape.


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