Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
gtsam::noiseModel::mEstimator::GemanMcClure Class Reference

#include <LossFunctions.h>

Inheritance diagram for gtsam::noiseModel::mEstimator::GemanMcClure:
Inheritance graph
[legend]

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
 

Public Member Functions

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

Static Public Member Functions

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

Protected Attributes

double c_
 
- Protected Attributes inherited from gtsam::noiseModel::mEstimator::Base
ReweightScheme reweight_
 

Private Member Functions

template<class ARCHIVE >
void serialize (ARCHIVE &ar, const unsigned int)
 

Friends

class boost::serialization::access
 

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

Definition at line 285 of file LossFunctions.h.

Member Typedef Documentation

Definition at line 287 of file LossFunctions.h.

Constructor & Destructor Documentation

gtsam::noiseModel::mEstimator::GemanMcClure::GemanMcClure ( double  c = 1.0,
const ReweightScheme  reweight = Block 
)

Definition at line 310 of file LossFunctions.cpp.

gtsam::noiseModel::mEstimator::GemanMcClure::~GemanMcClure ( )
inlineoverride

Definition at line 290 of file LossFunctions.h.

Member Function Documentation

GemanMcClure::shared_ptr gtsam::noiseModel::mEstimator::GemanMcClure::Create ( double  k,
const ReweightScheme  reweight = Block 
)
static

Definition at line 337 of file LossFunctions.cpp.

bool gtsam::noiseModel::mEstimator::GemanMcClure::equals ( const Base expected,
double  tol = 1e-8 
) const
overridevirtual

Implements gtsam::noiseModel::mEstimator::Base.

Definition at line 331 of file LossFunctions.cpp.

double gtsam::noiseModel::mEstimator::GemanMcClure::loss ( double  distance) const
overridevirtual

Reimplemented from gtsam::noiseModel::mEstimator::Base.

Definition at line 321 of file LossFunctions.cpp.

void gtsam::noiseModel::mEstimator::GemanMcClure::print ( const std::string &  s = "") const
overridevirtual

Implements gtsam::noiseModel::mEstimator::Base.

Definition at line 327 of file LossFunctions.cpp.

template<class ARCHIVE >
void gtsam::noiseModel::mEstimator::GemanMcClure::serialize ( ARCHIVE &  ar,
const unsigned  int 
)
inlineprivate

Definition at line 304 of file LossFunctions.h.

double gtsam::noiseModel::mEstimator::GemanMcClure::weight ( double  distance) const
overridevirtual

Implements gtsam::noiseModel::mEstimator::Base.

Definition at line 314 of file LossFunctions.cpp.

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Serialization function

Definition at line 302 of file LossFunctions.h.

Member Data Documentation

double gtsam::noiseModel::mEstimator::GemanMcClure::c_
protected

Definition at line 298 of file LossFunctions.h.


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


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:59:10