Merge pull request #537 from johnwlambert/SfmTrack_expose_p

Expose 3d point attribute p of SfmTrack in wrapper
release/4.3a0
Frank Dellaert 2020-09-23 07:59:54 -04:00 committed by GitHub
commit f6ef1d6d2c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 13 deletions

View File

@ -2853,6 +2853,7 @@ virtual class EssentialMatrixFactor : gtsam::NoiseModelFactor {
#include <gtsam/slam/dataset.h> #include <gtsam/slam/dataset.h>
class SfmTrack { class SfmTrack {
Point3 point3() const;
size_t number_measurements() const; size_t number_measurements() const;
pair<size_t, gtsam::Point2> measurement(size_t idx) const; pair<size_t, gtsam::Point2> measurement(size_t idx) const;
pair<size_t, size_t> siftIndex(size_t idx) const; pair<size_t, size_t> siftIndex(size_t idx) const;

View File

@ -233,6 +233,9 @@ struct SfmTrack {
SiftIndex siftIndex(size_t idx) const { SiftIndex siftIndex(size_t idx) const {
return siftIndices[idx]; return siftIndices[idx];
} }
Point3 point3() const {
return p;
}
}; };
/// Define the structure for the camera poses /// Define the structure for the camera poses

View File

@ -3,50 +3,62 @@
| C++ Example Name | Ported | | C++ Example Name | Ported |
|-------------------------------------------------------|--------| |-------------------------------------------------------|--------|
| CameraResectioning | | | CameraResectioning | |
| CombinedImuFactorsExample | |
| CreateSFMExampleData | | | CreateSFMExampleData | |
| DiscreteBayesNetExample | |
| DiscreteBayesNet_FG | none of the required discrete functionality is exposed through Python | | DiscreteBayesNet_FG | none of the required discrete functionality is exposed through Python |
| easyPoint2KalmanFilter | ExtendedKalmanFilter not yet exposed through Python | | easyPoint2KalmanFilter | ExtendedKalmanFilter not yet exposed through Python |
| elaboratePoint2KalmanFilter | GaussianSequentialSolver not yet exposed through Python | | elaboratePoint2KalmanFilter | GaussianSequentialSolver not yet exposed through Python |
| ImuFactorExample2 | X | | FisheyeExample | |
| HMMExample | |
| ImuFactorsExample2 | :heavy_check_mark: |
| ImuFactorsExample | | | ImuFactorsExample | |
| IMUKittiExampleGPS | |
| InverseKinematicsExampleExpressions.cpp | |
| ISAM2Example_SmartFactor | | | ISAM2Example_SmartFactor | |
| ISAM2_SmartFactorStereo_IMU | | | ISAM2_SmartFactorStereo_IMU | |
| LocalizationExample | impossible? | | LocalizationExample | impossible? |
| METISOrderingExample | | | METISOrderingExample | |
| OdometryExample | X | | OdometryExample | :heavy_check_mark: |
| PlanarSLAMExample | X | | PlanarSLAMExample | :heavy_check_mark: |
| Pose2SLAMExample | X | | Pose2SLAMExample | :heavy_check_mark: |
| Pose2SLAMExampleExpressions | | | Pose2SLAMExampleExpressions | |
| Pose2SLAMExample_g2o | X | | Pose2SLAMExample_g2o | :heavy_check_mark: |
| Pose2SLAMExample_graph | | | Pose2SLAMExample_graph | |
| Pose2SLAMExample_graphviz | | | Pose2SLAMExample_graphviz | |
| Pose2SLAMExample_lago | lago not yet exposed through Python | | Pose2SLAMExample_lago | lago not yet exposed through Python |
| Pose2SLAMStressTest | | | Pose2SLAMStressTest | |
| Pose2SLAMwSPCG | | | Pose2SLAMwSPCG | |
| Pose3Localization | |
| Pose3SLAMExample_changeKeys | | | Pose3SLAMExample_changeKeys | |
| Pose3SLAMExampleExpressions_BearingRangeWithTransform | | | Pose3SLAMExampleExpressions_BearingRangeWithTransform | |
| Pose3SLAMExample_g2o | X | | Pose3SLAMExample_g2o | :heavy_check_mark: |
| Pose3SLAMExample_initializePose3Chordal | | | Pose3SLAMExample_initializePose3Chordal | :heavy_check_mark: |
| Pose3SLAMExample_initializePose3Gradient | | | Pose3SLAMExample_initializePose3Gradient | |
| RangeISAMExample_plaza2 | | | RangeISAMExample_plaza2 | |
| SelfCalibrationExample | | | SelfCalibrationExample | |
| SFMdata | |
| SFMExample_bal_COLAMD_METIS | | | SFMExample_bal_COLAMD_METIS | |
| SFMExample_bal | | | SFMExample_bal | |
| SFMExample | X | | SFMExample | :heavy_check_mark: |
| SFMExampleExpressions_bal | | | SFMExampleExpressions_bal | |
| SFMExampleExpressions | | | SFMExampleExpressions | |
| SFMExample_SmartFactor | | | SFMExample_SmartFactor | |
| SFMExample_SmartFactorPCG | | | SFMExample_SmartFactorPCG | |
| SimpleRotation | X | | ShonanAveragingCLI | :heavy_check_mark: |
| SimpleRotation | :heavy_check_mark: |
| SolverComparer | | | SolverComparer | |
| StereoVOExample | | | StereoVOExample | |
| StereoVOExample_large | | | StereoVOExample_large | |
| TimeTBB | | | TimeTBB | |
| UGM_chain | discrete functionality not yet exposed | | UGM_chain | discrete functionality not yet exposed |
| UGM_small | discrete functionality not yet exposed | | UGM_small | discrete functionality not yet exposed |
| VisualISAM2Example | X | | VisualISAM2Example | :heavy_check_mark: |
| VisualISAMExample | X | | VisualISAMExample | :heavy_check_mark: |
Extra Examples (with no C++ equivalent) Extra Examples (with no C++ equivalent)
- DogLegOptimizerExample
- GPSFactorExample
- PlanarManipulatorExample - PlanarManipulatorExample
- PreintegrationExample
- SFMData - SFMData