diff --git a/README.md b/README.md index 68bae879e1..381b56ba3d 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,10 @@ GTSAM 4 will introduce several new features, most notably Expressions and a pyth Also, GTSAM 4 introduces traits, a C++ technique that allows optimizing with non-GTSAM types. That opens the door to retiring geometric types such as Point2 and Point3 to pure Eigen types, which we will also do. A significant change which will not trigger a compile error is that zero-initializing of Point2 and Point3 will be deprecated, so please be aware that this might render functions using their default constructor incorrect. +## Wrappers + +We provide support for [MATLAB](matlab/README.md) and [Python](cython/README.md) wrappers for GTSAM. Please refer to the linked documents for more details. + ## The Preintegrated IMU Factor GTSAM includes a state of the art IMU handling scheme based on diff --git a/cython/README.md b/cython/README.md index 6dcdd7c1ce..bc6e346d9d 100644 --- a/cython/README.md +++ b/cython/README.md @@ -1,6 +1,8 @@ +# Python Wrapper + This is the Cython/Python wrapper around the GTSAM C++ library. -# INSTALL +## Install - if you want to build the gtsam python library for a specific python version (eg 2.7), use the `-DGTSAM_PYTHON_VERSION=2.7` option when running `cmake` otherwise the default interpreter will be used. - If the interpreter is inside an environment (such as an anaconda environment or virtualenv environment) then the environment should be active while building gtsam. @@ -27,7 +29,7 @@ export PYTHONPATH=$PYTHONPATH: - if you run `setup.py` from the build directory rather than the installation directory, the script will warn you with the message: `setup.py is being run from an unexpected location`. Before `make install` is run, not all the components of the package have been copied across, so running `setup.py` from the build directory would result in an incomplete package. -# UNIT TESTS +## Unit Tests The Cython toolbox also has a small set of unit tests located in the test directory. To run them: @@ -37,11 +39,11 @@ test directory. To run them: python -m unittest discover ``` -# WRITING YOUR OWN SCRIPTS +## Writing Your Own Scripts See the tests for examples. -## Some important notes: +### Some Important Notes: - Vector/Matrix: + GTSAM expects double-precision floating point vectors and matrices. @@ -66,7 +68,7 @@ Examples: noiseGaussian = dynamic_cast_noiseModel_Gaussian_noiseModel_Base(noiseBase) ``` -# WRAPPING YOUR OWN PROJECT THAT USES GTSAM +## Wrapping Your Own Project That Uses GTSAM - Set PYTHONPATH to include ${GTSAM_CYTHON_INSTALL_PATH} + so that it can find gtsam Cython header: gtsam/gtsam.pxd @@ -88,8 +90,8 @@ wrap_and_install_library_cython("your_project_interface.h" #Optional: install_cython_scripts and install_cython_files. See GtsamCythonWrap.cmake. ``` -KNOWN ISSUES -============ +## KNOWN ISSUES + - Doesn't work with python3 installed from homebrew - size-related issue: can only wrap up to a certain number of classes: up to mEstimator! - Guess: 64 vs 32b? disutils Compiler flags? @@ -99,7 +101,7 @@ KNOWN ISSUES - support these constructors by default and declare "delete" for special classes? -# TODO +### TODO - [ ] allow duplication of parent' functions in child classes. Not allowed for now due to conflicts in Cython. - [ ] a common header for boost shared_ptr? (Or wait until everything is switched to std::shared_ptr in gtsam?) @@ -107,7 +109,7 @@ KNOWN ISSUES - [ ] Wrap fixed-size Matrices/Vectors? -# Completed/Cancelled: +### Completed/Cancelled: - [x] Fix Python tests: don't use " import * ": Bad style!!! (18-03-17 19:50) - [x] Unit tests for cython wrappers @done (18-03-17 18:45) -- simply compare generated files diff --git a/matlab/README-gtsam-toolbox.md b/matlab/README.md similarity index 98% rename from matlab/README-gtsam-toolbox.md rename to matlab/README.md index 66a02e9694..86e7d9fe07 100644 --- a/matlab/README-gtsam-toolbox.md +++ b/matlab/README.md @@ -1,6 +1,4 @@ -# GTSAM - Georgia Tech Smoothing and Mapping Library - -## MATLAB wrapper +# MATLAB Wrapper http://borg.cc.gatech.edu/projects/gtsam