#include <FunctorizedFactor.h>

Public Member Functions | |
| NonlinearFactor::shared_ptr | clone () const override |
| Vector | evaluateError (const T ¶ms, boost::optional< Matrix & > H=boost::none) const override |
| FunctorizedFactor () | |
| FunctorizedFactor (Key key, const R &z, const SharedNoiseModel &model, const std::function< R(T, boost::optional< Matrix & >)> func) | |
| ~FunctorizedFactor () override | |
Testable | |
| void | print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| print More... | |
| bool | equals (const NonlinearFactor &other, double tol=1e-9) const override |
Public Member Functions inherited from gtsam::NoiseModelFactor1< T > | |
| NoiseModelFactor1 () | |
| NoiseModelFactor1 (const SharedNoiseModel &noiseModel, Key key1) | |
| ~NoiseModelFactor1 () override | |
| Key | key () const |
| Vector | unwhitenedError (const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const override |
Public Member Functions inherited from gtsam::NoiseModelFactor | |
| shared_ptr | cloneWithNewNoiseModel (const SharedNoiseModel newNoise) const |
| size_t | dim () const override |
| bool | equals (const NonlinearFactor &f, double tol=1e-9) const override |
| double | error (const Values &c) const override |
| boost::shared_ptr< GaussianFactor > | linearize (const Values &x) const override |
| const SharedNoiseModel & | noiseModel () const |
| access to the noise model More... | |
| NoiseModelFactor () | |
| template<typename CONTAINER > | |
| NoiseModelFactor (const SharedNoiseModel &noiseModel, const CONTAINER &keys) | |
| void | print (const std::string &s="", const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| Vector | unweightedWhitenedError (const Values &c) const |
| double | weight (const Values &c) const |
| Vector | whitenedError (const Values &c) const |
| ~NoiseModelFactor () override | |
Public Member Functions inherited from gtsam::NonlinearFactor | |
| NonlinearFactor () | |
| template<typename CONTAINER > | |
| NonlinearFactor (const CONTAINER &keys) | |
| virtual | ~NonlinearFactor () |
| virtual bool | active (const Values &) const |
| shared_ptr | rekey (const std::map< Key, Key > &rekey_mapping) const |
| shared_ptr | rekey (const KeyVector &new_keys) const |
Public Member Functions inherited from gtsam::Factor | |
| virtual | ~Factor ()=default |
| Default destructor. More... | |
| Key | front () const |
| First key. More... | |
| Key | back () const |
| Last key. More... | |
| const_iterator | find (Key key) const |
| find More... | |
| const KeyVector & | keys () const |
| Access the factor's involved variable keys. More... | |
| const_iterator | begin () const |
| const_iterator | end () const |
| size_t | size () const |
| virtual void | printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const |
| print only keys More... | |
| KeyVector & | keys () |
| iterator | begin () |
| iterator | end () |
Private Types | |
| using | Base = NoiseModelFactor1< T > |
Private Member Functions | |
| template<class ARCHIVE > | |
| void | serialize (ARCHIVE &ar, const unsigned int) |
Private Attributes | |
| std::function< R(T, boost::optional< Matrix & >)> | func_ |
| functor instance More... | |
| R | measured_ |
| value that is compared with functor return value More... | |
| SharedNoiseModel | noiseModel_ |
| noise model More... | |
Friends | |
| class | boost::serialization::access |
Additional Inherited Members | |
Public Types inherited from gtsam::NoiseModelFactor1< T > | |
| typedef T | X |
Public Types inherited from gtsam::NoiseModelFactor | |
| typedef boost::shared_ptr< This > | shared_ptr |
Public Types inherited from gtsam::NonlinearFactor | |
| typedef boost::shared_ptr< This > | shared_ptr |
Public Types inherited from gtsam::Factor | |
| typedef KeyVector::const_iterator | const_iterator |
| Const iterator over keys. More... | |
| typedef KeyVector::iterator | iterator |
| Iterator over keys. More... | |
Protected Types inherited from gtsam::NoiseModelFactor1< T > | |
| typedef NoiseModelFactor | Base |
| typedef NoiseModelFactor1< T > | This |
Protected Types inherited from gtsam::NoiseModelFactor | |
| typedef NonlinearFactor | Base |
| typedef NoiseModelFactor | This |
Protected Types inherited from gtsam::NonlinearFactor | |
| typedef Factor | Base |
| typedef NonlinearFactor | This |
Protected Member Functions inherited from gtsam::NoiseModelFactor | |
| NoiseModelFactor (const SharedNoiseModel &noiseModel) | |
Protected Member Functions inherited from gtsam::Factor | |
| Factor () | |
| template<typename CONTAINER > | |
| Factor (const CONTAINER &keys) | |
| template<typename ITERATOR > | |
| Factor (ITERATOR first, ITERATOR last) | |
| bool | equals (const This &other, double tol=1e-9) const |
| check equality More... | |
Static Protected Member Functions inherited from gtsam::Factor | |
| template<typename CONTAINER > | |
| static Factor | FromKeys (const CONTAINER &keys) |
| template<typename ITERATOR > | |
| static Factor | FromIterators (ITERATOR first, ITERATOR last) |
Protected Attributes inherited from gtsam::NoiseModelFactor | |
| SharedNoiseModel | noiseModel_ |
Protected Attributes inherited from gtsam::Factor | |
| KeyVector | keys_ |
| The keys involved in this factor. More... | |
Factor which evaluates provided unary functor and uses the result to compute error with respect to the provided measurement.
Template parameters are
| R | The return type of the functor after evaluation. |
| T | The argument type for the functor. |
Example: Key key = Symbol('X', 0); auto model = noiseModel::Isotropic::Sigma(9, 1);
/// Functor that takes a matrix and multiplies every element by m class MultiplyFunctor { double m_; ///< simple multiplier public: MultiplyFunctor(double m) : m_(m) {} Matrix operator()(const Matrix &X, OptionalJacobian<-1, -1> H = boost::none) const { if (H) *H = m_ * Matrix::Identity(X.rows()*X.cols(), X.rows()*X.cols()); return m_ * X; } };
Matrix measurement = Matrix::Identity(3, 3); double multiplier = 2.0;
FunctorizedFactor<Matrix, Matrix> factor(keyX, measurement, model, MultiplyFunctor(multiplier));
Definition at line 59 of file FunctorizedFactor.h.
|
private |
Definition at line 61 of file FunctorizedFactor.h.
|
inline |
default constructor - only use for serialization
Definition at line 69 of file FunctorizedFactor.h.
|
inline |
Construct with given x and the parameters of the basis
| key | Factor key |
| z | Measurement object of same type as that returned by functor |
| model | Noise model |
| func | The instance of the functor object |
Definition at line 78 of file FunctorizedFactor.h.
|
inlineoverride |
Definition at line 82 of file FunctorizedFactor.h.
|
inlineoverridevirtual |
Reimplemented from gtsam::NonlinearFactor.
Definition at line 85 of file FunctorizedFactor.h.
|
inlineoverridevirtual |
Check if two factors are equal
Reimplemented from gtsam::NonlinearFactor.
Definition at line 110 of file FunctorizedFactor.h.
|
inlineoverridevirtual |
Override this method to finish implementing a unary factor. If the optional Matrix reference argument is specified, it should compute both the function evaluation and its derivative in X.
Implements gtsam::NoiseModelFactor1< T >.
Definition at line 90 of file FunctorizedFactor.h.
|
inlineoverridevirtual |
|
inlineprivate |
Definition at line 122 of file FunctorizedFactor.h.
|
friend |
Serialization function
Definition at line 120 of file FunctorizedFactor.h.
|
private |
functor instance
Definition at line 65 of file FunctorizedFactor.h.
|
private |
value that is compared with functor return value
Definition at line 63 of file FunctorizedFactor.h.
|
private |
noise model
Definition at line 64 of file FunctorizedFactor.h.