From 4baa3763bcd48fc821d106e43101497f3a073353 Mon Sep 17 00:00:00 2001 From: Richard Roberts Date: Thu, 30 Jan 2014 14:42:23 -0500 Subject: [PATCH] Final cleanup of text files - README.md, LICENSE*, USAGE, and INSTALL. --- CMakeLists.txt | 2 +- README => INSTALL | 57 ++++++++------------------------------------ LICENSE | 43 +++++++++++++-------------------- LICENSE.BSD | 26 ++++---------------- README.md | 60 +++++++++++++---------------------------------- USAGE | 11 +++++++++ 6 files changed, 59 insertions(+), 140 deletions(-) rename README => INSTALL (74%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c4f8e2309..07f424f3cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -351,7 +351,7 @@ endif() set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GTSAM") set(CPACK_PACKAGE_VENDOR "Frank Dellaert, Georgia Institute of Technology") set(CPACK_PACKAGE_CONTACT "Frank Dellaert, dellaert@cc.gatech.edu") -set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") +set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") set(CPACK_PACKAGE_VERSION_MAJOR ${GTSAM_VERSION_MAJOR}) set(CPACK_PACKAGE_VERSION_MINOR ${GTSAM_VERSION_MINOR}) diff --git a/README b/INSTALL similarity index 74% rename from README rename to INSTALL index 1aba92b31e..75277e8152 100644 --- a/README +++ b/INSTALL @@ -1,6 +1,3 @@ -README - Georgia Tech Smoothing and Mapping library ---------------------------------------------------- - Quickstart In the root library folder execute: @@ -11,42 +8,6 @@ $] cmake .. $] make check (optional, runs unit tests) $] make install ---------------------------------------------------- -What is GTSAM? - - GTSAM is a library of C++ classes that implement smoothing and - mapping (SAM) in robotics and vision, using factor graphs and Bayes - networks as the underlying computing paradigm rather than sparse - matrices. - -GTSAM is not (yet) open source: See COPYING & LICENSE -Please see USAGE for an example on how to use GTSAM. - -The library is organized according to the following directory structure: - - 3rdparty local copies of third party libraries - Eigen3 and CCOLAMD - base provides some base Math and data structures, as well as test-related utilities - geometry points, poses, tensors, etc - inference core graphical model inference such as factor graphs, junction trees, Bayes nets, Bayes trees - linear inference specialized to Gaussian linear case, GaussianFactorGraph etc... - nonlinear non-linear factor graphs and non-linear optimization - slam SLAM and visual SLAM application code - -This library contains unchanged copies of two third party libraries, with documentation -of licensing as follows: - - CCOLAMD 2.73: Tim Davis' constrained column approximate minimum degree ordering library - - http://www.cise.ufl.edu/research/sparse - - Licenced under LGPL v2.1, provided in gtsam/3rdparty/CCOLAMD/Doc/lesser.txt - - Eigen 3.2: General C++ matrix and linear algebra library - - Licenced under MPL2, provided in gtsam/3rdparty/Eigen/COPYING.README (some code that is 3rd-party to - Eigen is BSD and LGPL) - - -There are two supporting libraries: - - CppUnitLite unit test library customized for use with gtsam - wrap code generation utility for the Matlab interface to gtsam - Important Installation Notes ---------------------------- @@ -64,15 +25,17 @@ Optional dependent libraries: may be downloaded from https://www.threadingbuildingblocks.org/ Tested compilers - - GCC 4.2-4.7 - - Clang 2.9-3.2 - - OSX GCC 4.2 - - MSVC 2010, 2012 - + +- GCC 4.2-4.7 +- OSX Clang 2.9-5.0 +- OSX GCC 4.2 +- MSVC 2010, 2012 + Tested systems: - - Ubuntu 11.04, 11.10, 12.04, 12.10, 13.04 - - MacOS 10.6, 10.7 - - Windows 7 + +- Ubuntu 11.04 - 13.10 +- MacOS 10.6 - 10.9 +- Windows 7, 8 2) GTSAM makes extensive use of debug assertions, and we highly recommend you work diff --git a/LICENSE b/LICENSE index 81c0002468..e7424bbc2b 100644 --- a/LICENSE +++ b/LICENSE @@ -1,29 +1,18 @@ -Copyright (c) 2010, Georgia Tech Research Corporation -Atlanta, Georgia 30332-0415 -All Rights Reserved +GTSAM is released under the simplified BSD license, reproduced in the file +LICENSE.BSD in this directory. -See also README for licensing of 3rd-party code included in GTSAM. +GTSAM contains two third party libraries, with documentation of licensing and +modifications as follows: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - * Neither the name of the copyright holders nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- CCOLAMD 2.73: Tim Davis' constrained column approximate minimum degree +ordering library + - Included unmodified in gtsam/3rdparty/CCOLAMD and gtsam/3rdparty/UFconfig + - http://www.cise.ufl.edu/research/sparse + - Licenced under LGPL v2.1, provided in gtsam/3rdparty/CCOLAMD/Doc/lesser.txt +- Eigen 3.2: General C++ matrix and linear algebra library + - Modified with 3 patches that have been contributed back to the Eigen team: + - http://eigen.tuxfamily.org/bz/show_bug.cgi?id=704 (Householder QR MKL selection) + - http://eigen.tuxfamily.org/bz/show_bug.cgi?id=705 (Fix MKL LLT return code) + - http://eigen.tuxfamily.org/bz/show_bug.cgi?id=716 (Improved comma initialization) + - Licenced under MPL2, provided in gtsam/3rdparty/Eigen/COPYING.README + - Some code that is 3rd-party to Eigen is BSD and LGPL \ No newline at end of file diff --git a/LICENSE.BSD b/LICENSE.BSD index 81c0002468..406b266b7d 100644 --- a/LICENSE.BSD +++ b/LICENSE.BSD @@ -2,28 +2,12 @@ Copyright (c) 2010, Georgia Tech Research Corporation Atlanta, Georgia 30332-0415 All Rights Reserved -See also README for licensing of 3rd-party code included in GTSAM. +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - * Neither the name of the copyright holders nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/README.md b/README.md index 77c592e435..e7559dcc17 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,20 @@ README - Georgia Tech Smoothing and Mapping library =================================================== +What is GTSAM? +-------------- + +GTSAM is a library of C++ classes that implement smoothing and +mapping (SAM) in robotics and vision, using factor graphs and Bayes +networks as the underlying computing paradigm rather than sparse +matrices. + +On top of the C++ library, GTSAM includes a MATLAB interface (enable +GTSAM_INSTALL_MATLAB_TOOLBOX in CMake to build it). A Python interface +is under development. + Quickstart +---------- In the root library folder execute: @@ -24,52 +37,11 @@ Optional prerequisites - used automatically if findable by CMake: - [Intel Threaded Building Blocks (TBB)](http://www.threadingbuildingblocks.org/) (Ubuntu: `sudo apt-get install libtbb-dev`) - [Intel Math Kernel Library (MKL)](http://software.intel.com/en-us/intel-mkl) -Tested compilers - -- GCC 4.2-4.7 -- OSX Clang 2.9-5.0 -- OSX GCC 4.2 -- MSVC 2010, 2012 - -Tested systems: - -- Ubuntu 11.04 - 13.10 -- MacOS 10.6 - 10.9 -- Windows 7, 8 +Additional Information +---------------------- See the `INSTALL` file for more detailed installation instructions. -What is GTSAM? -============== - -GTSAM is a library of C++ classes that implement smoothing and -mapping (SAM) in robotics and vision, using factor graphs and Bayes -networks as the underlying computing paradigm rather than sparse -matrices. - -On top of the C++ library, GTSAM includes a MATLAB interface (enable -GTSAM_INSTALL_MATLAB_TOOLBOX in CMake to build it). A Python interface -is under development. - -GTSAM is open source under the BSD license, see the `LICENSE.BSD` file. +GTSAM is open source under the BSD license, see the `LICENSE` file. Please see the `examples/` directory and the `USAGE` file for examples on how to use GTSAM. - -The library is organized according to the following directory structure: - - 3rdparty local copies of third party libraries - Eigen3 and CCOLAMD - base provides some base Math and data structures, as well as test-related utilities - geometry points, poses, tensors, etc - inference core graphical model inference such as factor graphs, junction trees, Bayes nets, Bayes trees - linear inference specialized to Gaussian linear case, GaussianFactorGraph etc... - nonlinear non-linear factor graphs and non-linear optimization - slam SLAM and visual SLAM application code - -This library contains unchanged copies of two third party libraries, with documentation -of licensing as follows: - -- CCOLAMD 2.73: Tim Davis' constrained column approximate minimum degree ordering library - - http://www.cise.ufl.edu/research/sparse - - Licenced under LGPL v2.1, provided in gtsam/3rdparty/CCOLAMD/Doc/lesser.txt -- Eigen 3.2: General C++ matrix and linear algebra library - - Licenced under MPL2, provided in gtsam/3rdparty/Eigen/COPYING.README (some code that is 3rd-party to Eigen is BSD and LGPL) diff --git a/USAGE b/USAGE index e5f4dc581e..a41b71045b 100644 --- a/USAGE +++ b/USAGE @@ -47,6 +47,17 @@ Factors: SLAM example, is a measurement such as a visual reading on a landmark or odometry. +The library is organized according to the following directory structure: + + 3rdparty local copies of third party libraries - Eigen3 and CCOLAMD + base provides some base Math and data structures, as well as test-related utilities + geometry points, poses, tensors, etc + inference core graphical model inference such as factor graphs, junction trees, Bayes nets, Bayes trees + linear inference specialized to Gaussian linear case, GaussianFactorGraph etc... + nonlinear non-linear factor graphs and non-linear optimization + slam SLAM and visual SLAM application code + + VSLAM Example ---------------------------------------------------