Commit Graph

10357 Commits (b8de033bd0510367a044d0fddfa32127d7d61819)

Author SHA1 Message Date
Ellon Mendes 6196f95301 Wrap Cal3_S2 to python 2015-12-02 13:35:16 +01:00
Ellon Mendes 818db17392 Wrap symbol to python 2015-12-02 13:35:16 +01:00
Ellon Mendes 982d81e1c9 Add python version of SFMdata as gtsam.examples submodule
The gtsam.examples submodule should be loaded explicitely:
>>> import gtsam.examples
2015-12-02 13:35:16 +01:00
Ellon Mendes 0e134c09db Wrap PinholeCameraCal3_S2 to python 2015-12-02 13:35:16 +01:00
Ellon Mendes ade8ab4053 Remove old files which content was was already moved to other src files 2015-12-02 13:35:16 +01:00
Ellon Mendes 05f6237f71 Define NO_IMPORT_ARRAY in all cpp files before including NumpyEigenConverter.hpp
This fixes the segmentation fault when converting numpy and Eigen.

The reason is that NumpyEigenConverter.hpp includes numpy/arrayobject.h, and for
the numpy's C-API to work in multiple files we need to define NO_IMPORT_ARRAY
before including numpy/arrayobject.h in all the source files but the one that
defines the module initialization (exportgtsam.cpp in out case), as explained
here:
http://docs.scipy.org/doc/numpy/reference/c-api.array.html#importing-the-api

Note that PY_ARRAY_UNIQUE_SYMBOL, also needed to work multifile, is already
defined on NumpyEigenConverter.hpp.
2015-12-02 13:35:15 +01:00
Ellon Mendes c140a784fe Add constness to matrices and vectors 2015-12-02 13:35:15 +01:00
Ellon Mendes d76ed71c99 Move my developments to the handwritten structure of files that existed before
There's a problem with numpy_eigen causing a segmentation fault.
2015-12-02 13:35:15 +01:00
Ellon Mendes ffae37a675 Revert python module to use old handwritten files
Just noticed several handwritten files here. I'm reverting the python module to
use these handwritten files to later add the files I was wrapping to the same
framework.

Classes from geometry were wrapped for an old C++ interface, so several
boost python's .def(...) were commented out.

Conflicts:
	python/gtsam/.gitignore
2015-12-02 13:35:15 +01:00
Ellon Mendes 7680b533ac Wrap basic functions of NonlinearFactorGraph and ISAM2
While here, change method names for python convention on PEP0008
2015-12-02 13:35:15 +01:00
Ellon Mendes b10f7386c5 Wrap prior factors 2015-12-02 13:35:15 +01:00
Ellon Mendes 72a800f70f Add inheritance to from NonlinearFactor to BetweenFactor.
Nonlinear factor is pure virtual, so we need to declare a wrapper, even
if we don't export anything from it.

Also, we don't make explicit all the chain of inheritance from BetweenFactor,
since it looks like exporting inheritance directly from NonlinearFactor allows
adding it to NonlinearFactorGraph.
2015-12-02 13:35:15 +01:00
Ellon Mendes 828b230e17 Add overloads for named constructors on noiseModel module 2015-12-02 13:35:15 +01:00
Ellon Mendes 9a97248ee4 Put classes in namespaces close to gtsam's C++ interface 2015-12-02 13:35:15 +01:00
Ellon Mendes 6684f69d0a Fix inheritance problem on python wrapping of noise models 2015-12-02 13:35:15 +01:00
Ellon Mendes 72d73c6721 Add slam as submodule of gtsam python module 2015-12-02 13:35:15 +01:00
Ellon Mendes e0b8d87695 Wrap Values::insert and Values::at for Point3, Rot3, and Pose3 2015-12-02 13:35:15 +01:00
Ellon Mendes 7cfd57339a Add nonlinear submodule of gtsam python module 2015-12-02 13:35:15 +01:00
Ellon Mendes ff1cd140bb Register convertion between numpy and eigen in a separated submodule 2015-12-02 13:35:14 +01:00
Ellon Mendes a0064f3aab Add geometry submodule of python module 2015-12-02 13:35:14 +01:00
Ellon Mendes 977d4aa54f Add 'bases' for noiseModel classes
While here, add comments and TODOs
2015-12-02 13:35:14 +01:00
Ellon Mendes 96d6b79f5e Start organizing python module
Organize gtsam modules into submodules. Start with a handwritten noiseModel
module.

Conflicts:
	CMakeLists.txt
2015-12-02 13:35:14 +01:00
Ellon Mendes 2dbe7fa2e9 Add numpy_eigen as a 3rd party library.
This commit adds a simple version of numpy_eigen, copied from
gtborg/numpy_eigen commit 255c09efb82496, and with a fix released in the commit
9a75383733b3dc4bc2bb0649053949ad2bec9326 of Scheizer-Messer/numpy_eigen
(https://github.com/ethz-asl/Schweizer-Messer/tree/master/numpy_eigen)

Conflicts:
	CMakeLists.txt
	gtsam/CMakeLists.txt
2015-12-02 13:35:14 +01:00
Andrew Melim 6a34fa0a22 Markdown readme 2015-12-02 13:35:14 +01:00
Andrew Melim dca285a9d8 Remove library 2015-12-02 13:35:14 +01:00
Andrew Melim 20f5c46507 Reworked python directory structure. Added readme on constructing python module. Added first unit test for point2. Everything needed to get it passing is also here, including some renaming of variables and emitted library names
Conflicts:
	cmake/GtsamPythonWrap.cmake
	python/handwritten/examples/OdometeryExample.py
	wrap/Module.cpp
2015-12-02 13:35:14 +01:00
Andrew Melim 4e00f70e82 Updating cmake build 2015-12-02 13:35:14 +01:00
Andrew Melim def2f1a91c Installation script for python Distutils for python package. Installs to default python dist-packages location call : python setup.py install 2015-12-02 13:35:14 +01:00
Andrew Melim 414e6b58f9 Finally fixed templates, moved into single library for simplicity, add noisemodels, nonlinear 2015-12-02 13:35:14 +01:00
Andrew Melim d0efbadac8 Example on how to wrap templated classes such as factors 2015-12-02 13:35:14 +01:00
Andrew Melim 2455780829 Rot2, Pose2, Point2 now all work fairly well in Python. See Pose2.cpp for examples on method overloading and auto-declarations 2015-12-02 13:35:14 +01:00
Andrew Melim ec934770f3 Initial stages of python wrapping. Issues with method overloading, boost optionals. Testing with Point2 only now 2015-12-02 13:35:13 +01:00
cbeall3 6ea0644559 Smallest commit ever to properly shut up warnings! Wunused-local-typedef -> Wunused-local-typedefs 2015-12-01 10:39:23 -05:00
Frank Dellaert bf99e7d930 Merged in feature/tiny_improvements (pull request #198)
Some tiny improvements
2015-11-15 18:49:29 -08:00
dellaert a51b4bb7ab Reverted change 2015-11-15 16:37:54 -08:00
dellaert 8563fc30b4 Some tiny improvements 2015-11-12 13:03:03 -08:00
Chris Beall 776b15a5a9 Merged in feature/eigen-3.2.7 (pull request #197)
Update to Eigen 3.2.7
2015-11-10 14:53:14 -05:00
cbeall3 b40db44470 Update to Eigen 3.2.7 2015-11-10 12:50:25 -05:00
Frank Dellaert f1f6b82e15 Merged in fix/Unit3MutexCopy (pull request #194)
Attempt to fix TBB issue
2015-10-26 22:25:07 -07:00
cbeall3 66e1619214 Attempt to fix TBB issue 2015-10-26 22:14:52 -04:00
Frank Dellaert 35b6986d32 Merged in feature/c++11 (pull request #193)
Make C++ 11 the default
2015-10-26 17:04:08 -07:00
cbeall3 44aaf9ad95 Switch to vector for noise model caching 2015-10-25 18:31:44 -04:00
cbeall3 7e462b997f Cache A and b in addition to noise model for damped system 2015-10-25 16:55:42 -04:00
Duy-Nguyen Ta 5f396856f3 Merge remote-tracking branch 'origin/feature/FixFixedValues' into feature/Feature/FixedValues
Conflicts:
	gtsam/nonlinear/Values-inl.h
2015-10-24 10:08:53 -04:00
Frank Dellaert 2f1b60fa9d Merged in feature/MatrixPrinting (pull request #105)
Use Eigen::format for printing matrices
2015-10-22 13:14:43 -07:00
lvzhaoyang 0b2d4f1182 feature: change rowPrefix to an indent. Now all columns are aligned 2015-10-22 15:04:53 -04:00
lvzhaoyang 8379ab16c7 Merged 'develop'. 2015-10-22 14:11:05 -04:00
Frank Dellaert 242b3ef9f0 Merged in unit3_push_upstream (pull request #192)
Unit3 improvements
2015-10-21 14:54:55 -07:00
dellaert 570abece53 Fixed Eigen assert 2015-10-21 14:15:31 -07:00
Frank aa42501737 Undid overzealous merge 2015-10-21 10:55:31 -07:00