gtsam  4.0.0
gtsam::noiseModel::mEstimator::GemanMcClure Class Reference

Detailed Description

GemanMcClure implements the "Geman-McClure" robust error model (Zhang97ivc).

Note that Geman-McClure weight function uses the parameter c == 1.0, but here it's allowed to use different values, so we actually have the generalized Geman-McClure from (Agarwal15phd).

+ Inheritance diagram for gtsam::noiseModel::mEstimator::GemanMcClure:

Public Member Functions

 GemanMcClure (double c=1.0, const ReweightScheme reweight=Block)
virtual double weight (double error) const
virtual void print (const std::string &s) const
virtual bool equals (const Base &expected, double tol=1e-8) const
- Public Member Functions inherited from gtsam::noiseModel::mEstimator::Base
 Base (const ReweightScheme reweight=Block)
virtual double residual (double error) const
double sqrtWeight (double error) const
Vector weight (const Vector &error) const
 produce a weight vector according to an error vector and the implemented robust function
Vector sqrtWeight (const Vector &error) const
 square root version of the weight function
void reweight (Vector &error) const
 reweight block matrices and a vector according to their weight implementation
void reweight (std::vector< Matrix > &A, Vector &error) const
void reweight (Matrix &A, Vector &error) const
void reweight (Matrix &A1, Matrix &A2, Vector &error) const
void reweight (Matrix &A1, Matrix &A2, Matrix &A3, Vector &error) const

Static Public Member Functions

static shared_ptr Create (double k, const ReweightScheme reweight=Block)

Public Types

typedef boost::shared_ptr< GemanMcClureshared_ptr
- Public Types inherited from gtsam::noiseModel::mEstimator::Base
enum  ReweightScheme { Scalar, Block }
typedef boost::shared_ptr< Baseshared_ptr

Protected Attributes

double c_
- Protected Attributes inherited from gtsam::noiseModel::mEstimator::Base
ReweightScheme reweight_
 the rows can be weighted independently according to the error or uniformly with the norm of the right hand side


class boost::serialization::access
 Serialization function.

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