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

#include <SQFitter.h>

List of all members.

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.

Public Member Functions

 SQFitter (icl::utils::SmartPtr< Vec > camCenter=utils::SmartPtr< Vec >())
 Constructor.
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
const SQParamsgetParams () const
 returns the last calculated parameters
void setCameraCenter (const Vec &c)
 changes the camera center

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
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
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

Private Attributes

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

Member Typedef Documentation

Levenberg-Marquardt.


Constructor & Destructor Documentation

Constructor.


Member Function Documentation

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

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

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

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

returns the last calculated parameters

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

changes the camera center


Member Data Documentation

camera center

structure containing an error function

error function for the euler angles and the position

Levenberg-Marquardt for the euler angles and the position.

last solution

structure containing an error function

error function for the shape

Levenberg-Marquardt for the shape.


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