Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Sim(3)-based alignment to the wrapper #702

Merged
merged 33 commits into from
Mar 11, 2021
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
8552752
Start moving Sim(3) functionality into Python wrapper
johnwlambert Feb 19, 2021
0effe69
add sim3 Point3 align to wrapper
Feb 24, 2021
bbd7ed4
Fix typo in using -> typedef conversion
Feb 24, 2021
0a2deab
move sim3 to stable version
Feb 24, 2021
98faf54
move unit test out of gtsam unstable
Feb 25, 2021
149b0ad
move typedef to header file
Feb 25, 2021
7d90e50
add Align() for pose3pairs
Feb 26, 2021
06e6aa9
add standard interface for Sim3 in wrapper
Feb 26, 2021
7caaf69
add interface for transformFrom
Feb 26, 2021
89dfdf0
PointPairs to Point3Pairs, and move to Point3.h
Mar 3, 2021
b839444
move PointPairs to Point3.h
Mar 3, 2021
7604633
update the docstring
Mar 3, 2021
104031d
Rename PointPairs to Point3Pairs everywhere per popular demand
Mar 3, 2021
0bb4d68
add a unit test for line case
Mar 3, 2021
f5504d0
add another unit test, but this one fails
Mar 3, 2021
30edfe9
move Point3Pairs to Point3.h part of gtsam.i
Mar 3, 2021
943879c
fix notation
Mar 3, 2021
3121604
fix bugs in Karcher mean
Mar 3, 2021
9f5acb1
switch typedef to using per popular request
Mar 3, 2021
96cce19
update author list
Mar 3, 2021
4d079e1
fix notations
Mar 5, 2021
063a41a
clean up Sim(3) notations
Mar 5, 2021
eaf457e
update test notation to have just 1 world frame, and fix typo in abPo…
Mar 5, 2021
b105b8f
Merge branch 'develop' of https://github.com/borglab/gtsam into sim3-…
Mar 5, 2021
5ab7af0
dont conflate notation on aTb
Mar 5, 2021
5da50a5
improve docstring
Mar 10, 2021
2c1593c
improve docstring
Mar 10, 2021
490c14b
Merge branch 'develop' of https://github.com/borglab/gtsam into sim3-…
Mar 10, 2021
bddd7e6
add const on Rot3
Mar 10, 2021
10b2465
improve docstring
Mar 10, 2021
4428148
reformat with black
Mar 10, 2021
a27679e
use different brace indent format
Mar 10, 2021
35ea79b
Merge branch 'develop' of https://github.com/borglab/gtsam into sim3-…
Mar 11, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* @author Paul Drews
*/

#include <gtsam_unstable/geometry/Similarity3.h>
#include <gtsam/geometry/Similarity3.h>

#include <gtsam/geometry/Pose3.h>
#include <gtsam/base/Manifold.h>
Expand All @@ -24,7 +24,7 @@
namespace gtsam {

using std::vector;
using PointPairs = vector<Point3Pair>;
typedef vector<Point3Pair> PointPairs;
johnwlambert marked this conversation as resolved.
Show resolved Hide resolved

namespace {
/// Subtract centroids from point pairs.
Expand Down
File renamed without changes.
23 changes: 23 additions & 0 deletions gtsam/gtsam.i
Original file line number Diff line number Diff line change
Expand Up @@ -1058,6 +1058,29 @@ class PinholeCamera {
void serialize() const;
};


#include <gtsam/geometry/Similarity3.h>
class PointPairs
{
PointPairs();
size_t size() const;
bool empty() const;
gtsam::Point3Pair at(size_t n) const;
void push_back(const gtsam::Point3Pair& point_pair);
};

class Similarity3 {
Similarity3();
Similarity3(double s);
Similarity3(const gtsam::Rot3& R, const gtsam::Point3& t, double s);
Similarity3(const Matrix& R, const Vector& t, double s);
Similarity3(const Matrix& T);

static Similarity3 Align(const gtsam::PointPairs & abPointPairs);
};



// Forward declaration of PinholeCameraCalX is defined here.
#include <gtsam/geometry/SimpleCamera.h>
// Some typedefs for common camera types
Expand Down
1 change: 1 addition & 0 deletions gtsam_unstable/gtsam_unstable.i
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ class BearingS2 {
void serializable() const; // enabling serialization functionality
};


#include <gtsam_unstable/geometry/SimWall2D.h>
class SimWall2D {
SimWall2D();
Expand Down
1 change: 1 addition & 0 deletions python/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ set(ignore
gtsam::BetweenFactorPose2s
gtsam::BetweenFactorPose3s
gtsam::Point2Vector
gtsam::PointPairs
gtsam::Pose3Vector
gtsam::KeyVector
gtsam::BinaryMeasurementsUnit3
Expand Down
1 change: 1 addition & 0 deletions python/gtsam/specializations.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ py::bind_vector<std::vector<gtsam::Key, tbb::tbb_allocator<gtsam::Key> > >(m_, "
py::bind_vector<std::vector<gtsam::Key> >(m_, "KeyVector");
#endif
py::bind_vector<std::vector<gtsam::Point2, Eigen::aligned_allocator<gtsam::Point2> > >(m_, "Point2Vector");
py::bind_vector<std::vector<gtsam::Point3Pair> >(m_, "PointPairs");
py::bind_vector<std::vector<gtsam::Pose3> >(m_, "Pose3Vector");
py::bind_vector<std::vector<boost::shared_ptr<gtsam::BetweenFactor<gtsam::Pose3> > > >(m_, "BetweenFactorPose3s");
py::bind_vector<std::vector<boost::shared_ptr<gtsam::BetweenFactor<gtsam::Pose2> > > >(m_, "BetweenFactorPose2s");
Expand Down