cython wrap unstable
parent
a6281e1932
commit
d18e638b08
|
@ -1 +1,2 @@
|
|||
from gtsam import *
|
||||
from gtsam import *
|
||||
from gtsam_unstable import *
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
from distutils.core import setup
|
||||
from distutils.extension import Extension
|
||||
from Cython.Build import cythonize
|
||||
import eigency
|
||||
|
||||
setup(
|
||||
ext_modules=cythonize(Extension(
|
||||
"gtsam_unstable",
|
||||
sources=["gtsam_unstable.pyx"],
|
||||
include_dirs = ["${CMAKE_SOURCE_DIR}", "${CMAKE_BINARY_DIR}",
|
||||
"${CMAKE_SOURCE_DIR}/gtsam/3rdparty/Eigen"
|
||||
] + eigency.get_includes(include_eigen=False),
|
||||
libraries=['gtsam', 'gtsam_unstable'],
|
||||
library_dirs=["${GTSAM_DIR}/../../"],
|
||||
language="c++",
|
||||
extra_compile_args=["-std=c++11"])),
|
||||
)
|
||||
|
|
@ -118,6 +118,20 @@ if (GTSAM_INSTALL_MATLAB_TOOLBOX)
|
|||
wrap_and_install_library(gtsam_unstable.h "gtsam" "" "${mexFlags}")
|
||||
endif(GTSAM_INSTALL_MATLAB_TOOLBOX)
|
||||
|
||||
# Cython wrap for gtsam_unstable
|
||||
# Create the matlab toolbox for the gtsam library
|
||||
if (GTSAM_INSTALL_CYTHON_TOOLBOX)
|
||||
# Set up codegen
|
||||
include(GtsamCythonWrap)
|
||||
|
||||
# Wrap
|
||||
wrap_and_install_library_cython("../gtsam_unstable/gtsam_unstable.h" # interface_header
|
||||
"from gtsam.gtsam cimport *" # extra imports
|
||||
"../cython/gtsam_unstable" # path to setup.py.in
|
||||
"${GTSAM_CYTHON_INSTALL_PATH}/gtsam" # install path
|
||||
)
|
||||
endif ()
|
||||
|
||||
# Build examples
|
||||
add_subdirectory(examples)
|
||||
|
||||
|
|
|
@ -276,7 +276,7 @@ class SimPolygon2D {
|
|||
// Nonlinear factors from gtsam, for our Value types
|
||||
#include <gtsam/slam/PriorFactor.h>
|
||||
template<T = {gtsam::PoseRTV}>
|
||||
virtual class PriorFactor : gtsam::NonlinearFactor {
|
||||
virtual class PriorFactor : gtsam::NoiseModelFactor {
|
||||
PriorFactor(size_t key, const T& prior, const gtsam::noiseModel::Base* noiseModel);
|
||||
|
||||
void serializable() const; // enabling serialization functionality
|
||||
|
@ -285,7 +285,7 @@ virtual class PriorFactor : gtsam::NonlinearFactor {
|
|||
|
||||
#include <gtsam/slam/BetweenFactor.h>
|
||||
template<T = {gtsam::PoseRTV}>
|
||||
virtual class BetweenFactor : gtsam::NonlinearFactor {
|
||||
virtual class BetweenFactor : gtsam::NoiseModelFactor {
|
||||
BetweenFactor(size_t key1, size_t key2, const T& relativePose, const gtsam::noiseModel::Base* noiseModel);
|
||||
|
||||
void serializable() const; // enabling serialization functionality
|
||||
|
@ -363,13 +363,13 @@ virtual class SmartRangeFactor : gtsam::NoiseModelFactor {
|
|||
|
||||
void addRange(size_t key, double measuredRange);
|
||||
gtsam::Point2 triangulate(const gtsam::Values& x) const;
|
||||
void print(string s) const;
|
||||
//void print(string s) const;
|
||||
|
||||
};
|
||||
|
||||
#include <gtsam/sam/RangeFactor.h>
|
||||
template<POSE, POINT>
|
||||
virtual class RangeFactor : gtsam::NonlinearFactor {
|
||||
virtual class RangeFactor : gtsam::NoiseModelFactor {
|
||||
RangeFactor(size_t key1, size_t key2, double measured, const gtsam::noiseModel::Base* noiseModel);
|
||||
|
||||
void serializable() const; // enabling serialization functionality
|
||||
|
@ -380,7 +380,7 @@ typedef gtsam::RangeFactor<gtsam::PoseRTV, gtsam::PoseRTV> RangeFactorRTV;
|
|||
|
||||
#include <gtsam/nonlinear/NonlinearEquality.h>
|
||||
template<T = {gtsam::PoseRTV}>
|
||||
virtual class NonlinearEquality : gtsam::NonlinearFactor {
|
||||
virtual class NonlinearEquality : gtsam::NoiseModelFactor {
|
||||
// Constructor - forces exact evaluation
|
||||
NonlinearEquality(size_t j, const T& feasible);
|
||||
// Constructor - allows inexact evaluation
|
||||
|
@ -391,7 +391,7 @@ virtual class NonlinearEquality : gtsam::NonlinearFactor {
|
|||
|
||||
#include <gtsam_unstable/dynamics/IMUFactor.h>
|
||||
template<POSE = {gtsam::PoseRTV}>
|
||||
virtual class IMUFactor : gtsam::NonlinearFactor {
|
||||
virtual class IMUFactor : gtsam::NoiseModelFactor {
|
||||
/** Standard constructor */
|
||||
IMUFactor(Vector accel, Vector gyro,
|
||||
double dt, size_t key1, size_t key2, const gtsam::noiseModel::Base* model);
|
||||
|
@ -409,7 +409,7 @@ virtual class IMUFactor : gtsam::NonlinearFactor {
|
|||
|
||||
#include <gtsam_unstable/dynamics/FullIMUFactor.h>
|
||||
template<POSE = {gtsam::PoseRTV}>
|
||||
virtual class FullIMUFactor : gtsam::NonlinearFactor {
|
||||
virtual class FullIMUFactor : gtsam::NoiseModelFactor {
|
||||
/** Standard constructor */
|
||||
FullIMUFactor(Vector accel, Vector gyro,
|
||||
double dt, size_t key1, size_t key2, const gtsam::noiseModel::Base* model);
|
||||
|
@ -425,13 +425,11 @@ virtual class FullIMUFactor : gtsam::NonlinearFactor {
|
|||
size_t key2() const;
|
||||
};
|
||||
|
||||
|
||||
#include <gtsam_unstable/dynamics/DynamicsPriors.h>
|
||||
virtual class DHeightPrior : gtsam::NonlinearFactor {
|
||||
DHeightPrior(size_t key, double height, const gtsam::noiseModel::Base* model);
|
||||
};
|
||||
|
||||
|
||||
virtual class DRollPrior : gtsam::NonlinearFactor {
|
||||
/** allows for explicit roll parameterization - uses canonical coordinate */
|
||||
DRollPrior(size_t key, double wx, const gtsam::noiseModel::Base* model);
|
||||
|
@ -439,12 +437,10 @@ virtual class DRollPrior : gtsam::NonlinearFactor {
|
|||
DRollPrior(size_t key, const gtsam::noiseModel::Base* model);
|
||||
};
|
||||
|
||||
|
||||
virtual class VelocityPrior : gtsam::NonlinearFactor {
|
||||
VelocityPrior(size_t key, Vector vel, const gtsam::noiseModel::Base* model);
|
||||
};
|
||||
|
||||
|
||||
virtual class DGroundConstraint : gtsam::NonlinearFactor {
|
||||
// Primary constructor allows for variable height of the "floor"
|
||||
DGroundConstraint(size_t key, double height, const gtsam::noiseModel::Base* model);
|
||||
|
@ -470,6 +466,7 @@ virtual class PendulumFactor1 : gtsam::NonlinearFactor {
|
|||
Vector evaluateError(const gtsam::LieScalar& qk1, const gtsam::LieScalar& qk, const gtsam::LieScalar& v) const;
|
||||
};
|
||||
|
||||
#include <gtsam_unstable/dynamics/Pendulum.h>
|
||||
virtual class PendulumFactor2 : gtsam::NonlinearFactor {
|
||||
/** Standard constructor */
|
||||
PendulumFactor2(size_t vk1, size_t vk, size_t qKey, double dt, double L, double g);
|
||||
|
@ -492,18 +489,17 @@ virtual class PendulumFactorPk1 : gtsam::NonlinearFactor {
|
|||
};
|
||||
|
||||
#include <gtsam_unstable/dynamics/SimpleHelicopter.h>
|
||||
|
||||
virtual class Reconstruction : gtsam::NonlinearFactor {
|
||||
virtual class Reconstruction : gtsam::NoiseModelFactor {
|
||||
Reconstruction(size_t gKey1, size_t gKey, size_t xiKey, double h);
|
||||
|
||||
Vector evaluateError(const gtsam::Pose3& gK1, const gtsam::Pose3& gK, const gtsam::Vector6& xiK) const;
|
||||
Vector evaluateError(const gtsam::Pose3& gK1, const gtsam::Pose3& gK, Vector xiK) const;
|
||||
};
|
||||
|
||||
virtual class DiscreteEulerPoincareHelicopter : gtsam::NonlinearFactor {
|
||||
virtual class DiscreteEulerPoincareHelicopter : gtsam::NoiseModelFactor {
|
||||
DiscreteEulerPoincareHelicopter(size_t xiKey, size_t xiKey_1, size_t gKey,
|
||||
double h, Matrix Inertia, Vector Fu, double m);
|
||||
|
||||
Vector evaluateError(const gtsam::Vector6& xiK, const gtsam::Vector6& xiK_1, const gtsam::Pose3& gK) const;
|
||||
Vector evaluateError(Vector xiK, Vector xiK_1, const gtsam::Pose3& gK) const;
|
||||
};
|
||||
|
||||
//*************************************************************************
|
||||
|
@ -640,13 +636,13 @@ virtual class DiscreteEulerPoincareHelicopter : gtsam::NonlinearFactor {
|
|||
// slam
|
||||
//*************************************************************************
|
||||
#include <gtsam_unstable/slam/RelativeElevationFactor.h>
|
||||
virtual class RelativeElevationFactor: gtsam::NonlinearFactor {
|
||||
virtual class RelativeElevationFactor: gtsam::NoiseModelFactor {
|
||||
RelativeElevationFactor();
|
||||
RelativeElevationFactor(size_t poseKey, size_t pointKey, double measured,
|
||||
const gtsam::noiseModel::Base* model);
|
||||
|
||||
double measured() const;
|
||||
void print(string s) const;
|
||||
//void print(string s) const;
|
||||
};
|
||||
|
||||
#include <gtsam_unstable/slam/DummyFactor.h>
|
||||
|
@ -655,20 +651,20 @@ virtual class DummyFactor : gtsam::NonlinearFactor {
|
|||
};
|
||||
|
||||
#include <gtsam_unstable/slam/InvDepthFactorVariant1.h>
|
||||
virtual class InvDepthFactorVariant1 : gtsam::NonlinearFactor {
|
||||
virtual class InvDepthFactorVariant1 : gtsam::NoiseModelFactor {
|
||||
InvDepthFactorVariant1(size_t poseKey, size_t landmarkKey, const gtsam::Point2& measured, const gtsam::Cal3_S2* K, const gtsam::noiseModel::Base* model);
|
||||
};
|
||||
|
||||
#include <gtsam_unstable/slam/InvDepthFactorVariant2.h>
|
||||
virtual class InvDepthFactorVariant2 : gtsam::NonlinearFactor {
|
||||
virtual class InvDepthFactorVariant2 : gtsam::NoiseModelFactor {
|
||||
InvDepthFactorVariant2(size_t poseKey, size_t landmarkKey, const gtsam::Point2& measured, const gtsam::Cal3_S2* K, const gtsam::Point3& referencePoint, const gtsam::noiseModel::Base* model);
|
||||
};
|
||||
|
||||
#include <gtsam_unstable/slam/InvDepthFactorVariant3.h>
|
||||
virtual class InvDepthFactorVariant3a : gtsam::NonlinearFactor {
|
||||
virtual class InvDepthFactorVariant3a : gtsam::NoiseModelFactor {
|
||||
InvDepthFactorVariant3a(size_t poseKey, size_t landmarkKey, const gtsam::Point2& measured, const gtsam::Cal3_S2* K, const gtsam::noiseModel::Base* model);
|
||||
};
|
||||
virtual class InvDepthFactorVariant3b : gtsam::NonlinearFactor {
|
||||
virtual class InvDepthFactorVariant3b : gtsam::NoiseModelFactor {
|
||||
InvDepthFactorVariant3b(size_t poseKey1, size_t poseKey2, size_t landmarkKey, const gtsam::Point2& measured, const gtsam::Cal3_S2* K, const gtsam::noiseModel::Base* model);
|
||||
};
|
||||
|
||||
|
@ -685,7 +681,7 @@ class Mechanization_bRn2 {
|
|||
static gtsam::Mechanization_bRn2 initialize(Matrix U, Matrix F, double g_e);
|
||||
gtsam::Mechanization_bRn2 correct(Vector dx) const;
|
||||
gtsam::Mechanization_bRn2 integrate(Vector u, double dt) const;
|
||||
void print(string s) const;
|
||||
//void print(string s) const;
|
||||
};
|
||||
|
||||
#include <gtsam_unstable/slam/AHRS.h>
|
||||
|
@ -695,19 +691,17 @@ class AHRS {
|
|||
pair<gtsam::Mechanization_bRn2, gtsam::GaussianDensity*> integrate(const gtsam::Mechanization_bRn2& mech, gtsam::GaussianDensity* state, Vector u, double dt);
|
||||
pair<gtsam::Mechanization_bRn2, gtsam::GaussianDensity*> aid(const gtsam::Mechanization_bRn2& mech, gtsam::GaussianDensity* state, Vector f, bool Farrel);
|
||||
pair<gtsam::Mechanization_bRn2, gtsam::GaussianDensity*> aidGeneral(const gtsam::Mechanization_bRn2& mech, gtsam::GaussianDensity* state, Vector f, Vector f_expected, const gtsam::Rot3& increment);
|
||||
void print(string s) const;
|
||||
//void print(string s) const;
|
||||
};
|
||||
|
||||
// Tectonic SAM Factors
|
||||
|
||||
#include <gtsam_unstable/slam/TSAMFactors.h>
|
||||
#include <gtsam/nonlinear/NonlinearFactor.h>
|
||||
|
||||
//typedef gtsam::NoiseModelFactor2<gtsam::Pose2, gtsam::Point2> NLPosePose;
|
||||
virtual class DeltaFactor : gtsam::NoiseModelFactor {
|
||||
DeltaFactor(size_t i, size_t j, const gtsam::Point2& measured,
|
||||
const gtsam::noiseModel::Base* noiseModel);
|
||||
void print(string s) const;
|
||||
//void print(string s) const;
|
||||
};
|
||||
|
||||
//typedef gtsam::NoiseModelFactor4<gtsam::Pose2, gtsam::Pose2, gtsam::Pose2,
|
||||
|
@ -715,7 +709,7 @@ virtual class DeltaFactor : gtsam::NoiseModelFactor {
|
|||
virtual class DeltaFactorBase : gtsam::NoiseModelFactor {
|
||||
DeltaFactorBase(size_t b1, size_t i, size_t b2, size_t j,
|
||||
const gtsam::Point2& measured, const gtsam::noiseModel::Base* noiseModel);
|
||||
void print(string s) const;
|
||||
//void print(string s) const;
|
||||
};
|
||||
|
||||
//typedef gtsam::NoiseModelFactor4<gtsam::Pose2, gtsam::Pose2, gtsam::Pose2,
|
||||
|
@ -723,7 +717,7 @@ virtual class DeltaFactorBase : gtsam::NoiseModelFactor {
|
|||
virtual class OdometryFactorBase : gtsam::NoiseModelFactor {
|
||||
OdometryFactorBase(size_t b1, size_t i, size_t b2, size_t j,
|
||||
const gtsam::Pose2& measured, const gtsam::noiseModel::Base* noiseModel);
|
||||
void print(string s) const;
|
||||
//void print(string s) const;
|
||||
};
|
||||
|
||||
#include <gtsam/geometry/Cal3DS2.h>
|
||||
|
|
Loading…
Reference in New Issue