gtsam  4.1.0
gtsam
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)
 
double weight (double distance) const override
 
double loss (double distance) const override
 
void print (const std::string &s) const override
 
bool equals (const Base &expected, double tol=1e-8) const override
 
- Public Member Functions inherited from gtsam::noiseModel::mEstimator::Base
 Base (const ReweightScheme reweight=Block)
 
double sqrtWeight (double distance) 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
 

Friends

class boost::serialization::access
 Serialization function.
 

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