Commit Graph

191 Commits

Author SHA1 Message Date
Alex Stewart cc8d47aabb Update all CMake to lowercase function name style.
- Updated to new CMake style where function names are all lowercase,
  this will be backwards compatible as CMake function names are
  case insensitive.
- Updated using Emacs' M-x unscreamify-cmake-buffer.

Change-Id: If7219816f560270e59212813aeb021353a64a0e2
2015-08-09 15:18:42 +01:00
Alex Stewart 1f106904c1 Update minimum iOS version to 7.0 for shared_ptr/unordered_map.
- In order to correctly detect shared_ptr (& unordered_map)
  the iOS version must be >= 7.0 (Xcode 5.0+).  This only affects the
  SIMULATOR(64) platform builds, as the OS (device) build uses the
  latest SDK which is now likely 8.0+.

Change-Id: Iefec8f03408b8cdc7a495f442ebba081f800adb0
2015-08-09 14:55:02 +01:00
Alex Stewart 56be8de007 Add docs for new CXX11 option & mask option for Windows.
- The CXX11 option has no effect on Windows, as there, any new C++11
  features are enabled by default, as such to avoid confusion we only
  present the option for non-Windows.

Change-Id: I38925ae3bb8c16682d404468ba95c611a519b9b9
2015-08-07 20:15:34 +01:00
Sameer Agarwal 560940fa27 A refactor of the cubic interpolation code
1. Push the boundary handling logic into the underlying array
object. This has two very significant impacts:

a. The interpolation code becomes extremely simple to write
and to test.

b. The user has more flexibility in implementing how out of bounds
values are handled. We provide one default implementation.

Change-Id: Ic2f6cf9257ce7110c62e492688e5a6c8be1e7df2
2015-08-06 14:49:55 -07:00
Sameer Agarwal dfdf19e111 Lint cleanup from Jim Roseborough
Change-Id: Id6845c85644d40e635ed196ca74fc51a387aade4
2015-08-05 15:20:57 -07:00
Alex Stewart 5a48b92123 Export Ceres build directory into local CMake package registry.
- Optionally use CMake's export() functionality to export the Ceres
  build directory as a package into the local CMake package registry.
- This enables the detection & use of Ceres from CMake *without*
  requiring that Ceres be installed.

Change-Id: Ib5a7588446f490e1b405878475b6b1dd13accd1f
2015-08-03 16:46:05 +00:00
Sameer Agarwal d9790e7789 Add ProductParameterization
Often a parameter block is the Cartesian product of a number of
manifolds. For example, a rigid transformation SE(3) = SO(3) x R^3
In such cases, where you have the local parameterization
of the individual manifolds available,
ProductParameterization can be used to construct a local
parameterization of the cartesian product.

Change-Id: I4b5bcbd2407a38739c7725b129789db5c3d65a20
2015-07-27 13:37:10 -07:00
Alex Stewart bae78c88c7 Fix links to SuiteSparse & CXSparse.
- Thanks to Henrique Mendonça for reporting this.

Change-Id: I590f6138177b2e608eca9726f556d2f92d00d4d7
2015-06-28 14:02:10 +01:00
Alex Stewart b7e9a5762b Ensure Eigen is at least 3.1.0 for Eigen/SparseCore.
- Eigen/SparseCore is required by covariance_impl, this was added in
  v 3.1.0 of Eigen, and thus without at least this version Ceres will
  not compile.
- Note that Ubuntu 12.04 provides only version 3.0.5 in the mainline
  repository.
- Update docs to match CMake check for Eigen >= 3.2.2 to avoid warning
  about reduced sparse performance.

Change-Id: I291bb185d1c76e1e1422429169a76e3f1b828163
2015-06-27 16:03:41 +00:00
David Gossow 2a1dfd2b71 Add DynamicCostFunctionToFunctor.
This adds a new wrapper class called DynamicCostFunctionToFunctor
that closes a gap in the current API: the existing
CostFunctionToFunctor can only be used with a SizedCostFunction, where
the number and sizes of all parameter vectors are known at compile-time.
The DynamicCostFunctionToFunctor allows you to wrap a generic
CostFunction into a templated functor which can then be used in a
DynamicAutoDiffCostFunction.

Also updates the existing CostFunctionToFunctor class to internally use
DynamicCostFunctionToFunctor.

Change-Id: I088adc3271c58d2519126c27037c3576965a36d6
2015-06-18 16:01:15 -07:00
Chris Sweeney 967122def6 Add Theia to users.
Change-Id: Ic112d31e2b8d7ecd28816fdc76e27adb1da27ac5
2015-05-13 12:11:14 -07:00
Alex Stewart 4707eb22e9 Remove use of :caption tag in Sphinx.
Change-Id: I1fb5f2504424506e1bba244bcb8efb25329564d1
2015-05-06 20:56:08 +01:00
Sameer Agarwal 5c0954438f Lint changes from William Rucklidge.
Change-Id: I6592b61451ead8f0407bec134fcf4b56ba22ffb9
2015-05-05 11:25:42 -07:00
Johannes Schönberger 239dd59ea5 Homogenize convergence operators in docs and code
Change-Id: Iec7c12e971b331d1847f9aa91349317eb6524856
2015-04-16 16:01:18 -04:00
Alex Stewart 08f3861b43 Fix CMake config file docs to include 2.8.x & 3.x styles.
- Include example use of new find_dependency() macro in CMake 3.x to
  find dependencies in <Project>Config.cmake files.
- Also fix typo in NNLS modeling docs.

Change-Id: Ie9862b69c0451ee8775826f2957f5e182d937439
2015-04-11 14:53:52 +01:00
Alex Stewart d95f9192dd Add documentation on CMake package installation process.
- A lot of users find the CMake package installation process confusing,
  particularly the use of imported targets when exporting their own
  projects which use Ceres.
- This patch adds a brief description of the overall process and the
  main bear-trap users are ensnared by.

Change-Id: I44c022bbd18a393868bf88ea9ddd807c5e08abc9
2015-04-06 16:22:32 +00:00
Filippo Basso 26f50e1e72 Add users: OpenPTrack and IAS-Lab@Univ. of Padova
Change-Id: I841aeddb0f0c2b0d905fc0520553f263db7e7959
2015-03-23 11:29:07 +01:00
Sameer Agarwal a6971f6c29 Documentation changes.
1. Add documentation for cubic_interpolation.h
2. Remove the list of publications. It is an incomplete list which is
   a pain to maintain.
3. Add a note about the interaction between manifolds and
   NumericDiffCostFunction.
4. Fix some of the comments in cubic_interpolation.h to better reflect reality.
5. Updated the version history.

Change-Id: I0b4a5a6f3361d3fc85f1b4aec685cd80540934f1
2015-03-21 10:42:29 -07:00
Sameer Agarwal 649f5c22b8 Lint changes from William Rucklidge.
Change-Id: I4c34caa57c48c97df213d6fb44a1a2534a953f0f
2015-03-20 17:05:35 -07:00
Mike Vitus cab2267e40 Add Homogeneous vector parameterization.
Change-Id: I42f68a0665a62e2c7dcc7584e5581a05c9b849b0
2015-03-20 22:08:15 +00:00
Sameer Agarwal 3f2b3779e0 Point the issue tracker link to GitHub.
Change-Id: I88cdedea15cc8d459a37507154a61889d043e8cf
2015-03-17 23:11:53 -07:00
Keir Mierle 7492b0d8de Update copyright headers with new year and URL
Since Ceres is moving to using GitHub for issues, and the Google
Code URL in the current copyright header will soon become invalid,
update all the headers.

Change-Id: I1fce70375d1bcf098591f07b4d8f01a5c1e0789c
2015-03-18 05:43:23 +00:00
Steve Hsu a1579be80b Add method to return covariance in tangent space
This CL is required to build Tango.

Inspired by this commit in RedwoodInternal repository:
  commit 09dde53c248e04f432b5eccceea5daeedb706aea
  Author: Mike Vitus <mike@hidof.com>
  Date:   Wed Apr 23 11:05:17 2014 -0700

Change-Id: I328b6634969de4ccdd71947945aa67a49ee9073f
2015-03-12 11:40:18 -07:00
Steve Hsu 2132718029 Documentation corrections
Change-Id: I7aa45cc50e8d8fc4bf0f147c2b16dd428a37e761
2015-03-12 09:24:21 -07:00
Richard Stebbing c78ccc6579 Fix minor typo.
Change-Id: I4f83453c6f64a778a27b42b28e08f8e1d05908b7
2015-02-19 18:50:39 +00:00
Sameer Agarwal 822692aa2b Add the ASL at ETH Zurich to the list of users.
Change-Id: I535b954114c028ae7b6c3b6df3213c9fd79f85de
2015-02-18 02:10:43 -08:00
Sameer Agarwal 264bf456df Lint changes from William Rucklidge.
Change-Id: Ib468fbe7e0e8220870ddf9968ac59295c21f1e43
2015-02-06 14:34:50 -08:00
Sameer Agarwal eb15489a21 Improve preconditioner documentation.
Change-Id: Ied811fc16f0c1c553e37af6d3111de71baea8462
2015-02-02 22:02:51 -08:00
Sameer Agarwal a2e19f163a Fix example code in the documentation.
The example code for DynamicNumericDiffCostFunction and
DynamicAutoDiffCostFunction in the documentation was
allocating the cost function objects on the stack rather
than the heap.

Thanks to Rodney Hoskinson for reporting this.

Change-Id: I217aee02d1e2c1e9c25b8197451e9f9e0482915d
2015-01-29 19:33:39 -08:00
Sameer Agarwal 207879a935 Update version history.
Change-Id: I1b6afb1a8509b3b20d3f28887c88bf15d33dbcf7
2015-01-28 19:23:24 +00:00
Filippo Basso 1eb927422b Update Ubuntu 14.04 installation instructions.
Change-Id: Ia824f305b638c1263752efe35690fc0e5db9f75a
2015-01-26 11:55:55 +01:00
Alex Stewart 257f6dae46 Add note about glog not currently compiling against gflags 2.1.
- Also fix a typo in pointer to EIGENSPARSE documentation.

Change-Id: I1448fcf3680a65362c6f9b2d8a5ab0259da92364
2015-01-06 20:17:08 +00:00
Alex Stewart 60cc520f63 Add explicit no sparse linear algebra library available option.
- Previously we had no defined default value for
  sparse_linear_algebra_library_type in Solver::Options if Ceres
  was compiled with no sparse library available.  Thus in that case,
  the default value (dependent upon the compiler) would indicate that
  one was available.
- Now we have an explicit option that means no sparse library is
  available, which is now the default value in Solver::Options in this
  case.
- Add a warning in CMake when the user disables all sparse libraries.
- Fix typos in trust_region_preprocessor_test:
  (SUITE/CX)_SPARSE -> (SUITE/CX)SPARSE that induced failures when
  no sparse libraries were available.

Change-Id: I869c399a12d42bfc44220cbb25ce6d6dd80236bd
2015-01-01 18:51:45 +00:00
Sameer Agarwal 9e735d265d Improve some wording in the FAQ.
Thanks to Vasily Vylkov for suggesting the change.

Change-Id: I8e15f5ffdba2da5f55234d65ba4b9b0dadfb6085
2014-12-22 15:38:47 -08:00
Sameer Agarwal 92e5379c88 Add a pointer to MacPorts.
Thanks to Markus Moll for maintaining the port and pointing me to
it.

Change-Id: Ia28fcbfb4946409de9e6b85d1dc332a25555195b
2014-12-06 15:54:15 -08:00
Sameer Agarwal ba28d3a3db 1.10.0 Final.
Update version history.

Change-Id: I1b73749ba10679396369e2af0a37699181b125fb
2014-12-05 15:45:16 -08:00
Sameer Agarwal 8f6918e2e5 Fix the link to Tal Ben-Nun's MSVC wrapper.
Change-Id: Iec2c6b5b0a2aa2e5e3b76200c5ac91000e41f267
2014-12-04 10:54:52 -08:00
Sameer Agarwal 68222eb819 Lint cleanup from Jim Roseborough
Change-Id: Ic55b8e48110bc651ae942d34fe5402a6e0422fe3
2014-12-01 12:31:46 -08:00
Sameer Agarwal 2bdc0208c0 Get ready for 1.10.0rc2.
Update the version history.

Change-Id: I5de006c7c75b26d8c421bf1eeb525964121d2029
2014-11-30 14:13:03 -08:00
Sameer Agarwal 19d7ce97fe Add Tal Ben-Nun's MSVC wrapper.
Change-Id: Ifac9cdf0429c9dadd1ea49338ddcc3b83ac9ec11
2014-11-20 15:23:40 +00:00
Sameer Agarwal 0484fabab8 Lint and documentation update.
Change-Id: I05f40983f267dd1534e3eee8c0fc038e4429abed
2014-11-13 23:08:30 -08:00
Sameer Agarwal cd358c760f Fix RotationMatrixToAngleAxis near Pi.
Use Eigen's much more complicated conversion routine
when we encounter cases where the angle of rotation is
close to Pi.

Along the way also fix the way angle_axis vectors are
compared by making the matcher more robust.

Thanks to Tobias Strauss for reporting this.

Change-Id: Ia7e65dafad92c48d29d5f3cd22c4d6534789c183
2014-11-12 22:56:38 -08:00
Sameer Agarwal 39e397b793 Prepare for 1.10.0 release.
1. Add information about homebrew/science to the docs.
2. Update version history.
3. Update RPM spec file.

Change-Id: I800b81f9f2c8733a8add338cc0a205b7b8bc8573
2014-11-12 08:30:04 -08:00
Sameer Agarwal c6792c410a Fix a typo in nnls_tutorial.rst.
Thanks to Avi Ginsburg for reporting this.

Change-Id: I86a9d1768798d541c82f46e6a1c21cb2474c880a
2014-10-21 23:34:58 -07:00
Sameer Agarwal 0435246de5 Add seene to users.rst
Change-Id: If40726775a3d4b234b6e10517fe9943d122a3384
2014-10-08 18:12:53 -07:00
Sameer Agarwal fdf32b315f Fix some errant tabs.
Change-Id: Iaf1906eaade49467ba282656cf0a10879d258b1f
2014-10-08 16:04:32 -07:00
Sameer Agarwal 6768b3586a Minor cleanups in preparation for a release.
1. Fix the release script to ignore the version.h checking.
2. Fix some ceres documentation formatting errors.

Change-Id: I3fd6b85e771b242f463d6a36c3efd8d691f9242f
2014-10-08 12:48:16 -07:00
Sameer Agarwal 7b6bd1cd31 Documentation update.
1. Complete restructuring of the documentation to account for
   GradientProblemSolver.
2. Update the version history to account for changes since 1.9.0.
3. Add links and document the various examples that ship with ceres.
4. Documentation for GradientProblem GradientProblemSolver.

Change-Id: If3a18f2850cbc98be1bc34435e9ea468785b8b27
2014-10-08 08:47:34 -07:00
Martin Baeuml 7e43460d42 Fix a few typos in the documentation.
Change-Id: I541db56b2b81ae758e233ce850d78c3cbb4b6fa3
2014-09-08 16:49:06 +02:00
Sameer Agarwal b7fb6056a7 Remove NumericDiffFunctor.
Its API was broken, and its implementation was an unnecessary
layer of abstraction over CostFunctionToFunctor.

Change-Id: I18fc261fc6a3620b51a9eeb4dde0af03d753af69
2014-09-03 16:53:53 -07:00