gtsam/timing/timeOneCameraExpression.cpp

59 lines
1.4 KiB
C++
Raw Permalink Normal View History

2014-10-06 19:57:37 +08:00
/* ----------------------------------------------------------------------------
2019-02-11 22:39:48 +08:00
* GTSAM Copyright 2010, Georgia Tech Research Corporation,
2014-10-06 19:57:37 +08:00
* Atlanta, Georgia 30332-0415
* All Rights Reserved
* Authors: Frank Dellaert, et al. (see THANKS for the full author list)
* See LICENSE for the license information
* -------------------------------------------------------------------------- */
/**
* @file timeOneCameraExpression.cpp
* @brief time CalibratedCamera derivatives
* @author Frank Dellaert
* @date October 3, 2014
*/
2014-12-28 23:37:54 +08:00
#include <gtsam/slam/expressions.h>
#include <gtsam/nonlinear/ExpressionFactor.h>
2014-10-10 23:17:20 +08:00
#include "timeLinearize.h"
2014-10-06 19:57:37 +08:00
2014-10-15 17:01:27 +08:00
using namespace std;
using namespace gtsam;
2014-11-02 21:35:32 +08:00
#define time timeSingleThreaded
2014-10-06 19:57:37 +08:00
int main() {
// Create leaves
Pose3_ x(1);
Point3_ p(2);
Cal3_S2_ K(3);
// Some parameters needed
Point2 z(-17, 30);
SharedNoiseModel model = noiseModel::Unit::Create(2);
// Create values
Values values;
values.insert(1, Pose3());
values.insert(2, Point3(0, 0, 1));
values.insert(3, Cal3_S2());
2014-10-09 19:00:56 +08:00
// ExpressionFactor
2014-10-06 19:57:37 +08:00
// Oct 3, 2014, Macbook Air
// 20.3 musecs/call
//#define TERNARY
NonlinearFactor::shared_ptr f = std::make_shared<ExpressionFactor<Point2> >
2014-10-08 00:10:53 +08:00
#ifdef TERNARY
2014-10-10 23:17:20 +08:00
(model, z, project3(x, p, K));
2014-10-08 00:10:53 +08:00
#else
2019-05-17 02:33:58 +08:00
(model, z, uncalibrate(K, project(transformTo(x, p))));
2014-10-08 00:10:53 +08:00
#endif
2014-10-10 23:17:20 +08:00
time("timing:", f, values);
2014-10-06 19:57:37 +08:00
return 0;
}