Skip to content

Commit

Permalink
Merge pull request #113 from borglab/features/docs-update
Browse files Browse the repository at this point in the history
README Update
  • Loading branch information
ProfFan authored Sep 18, 2019
2 parents 675f27b + 5e387d1 commit d3305d2
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 12 deletions.
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 11 additions & 9 deletions cython/README.md
Original file line number Diff line number Diff line change
@@ -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.
Expand All @@ -27,7 +29,7 @@ export PYTHONPATH=$PYTHONPATH:<GTSAM_CYTHON_INSTALL_PATH>
- 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:
Expand All @@ -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.
Expand All @@ -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
Expand All @@ -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?
Expand All @@ -99,15 +101,15 @@ 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?)
- [ ] inner namespaces ==> inner packages?
- [ ] Wrap fixed-size Matrices/Vectors?


# Completed/Cancelled:
### Completed/Cancelled:

- [x] Fix Python tests: don't use " import <package> * ": Bad style!!! (18-03-17 19:50)
- [x] Unit tests for cython wrappers @done (18-03-17 18:45) -- simply compare generated files
Expand Down
4 changes: 1 addition & 3 deletions matlab/README-gtsam-toolbox.md → matlab/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# GTSAM - Georgia Tech Smoothing and Mapping Library

## MATLAB wrapper
# MATLAB Wrapper

http://borg.cc.gatech.edu/projects/gtsam

Expand Down

0 comments on commit d3305d2

Please sign in to comment.