diff --git a/api/latest/SensorData_8h_source.html b/api/latest/SensorData_8h_source.html
index 61dfc314..e88c65ab 100644
--- a/api/latest/SensorData_8h_source.html
+++ b/api/latest/SensorData_8h_source.html
@@ -288,268 +288,273 @@ $(document).ready(function(){initNavTree('SensorData_8h_source.html',''); initRe
-
-
-
-
-
-
489 _imageCompressed.empty() &&
-
490 _depthOrRightRaw.empty() &&
-
491 _depthOrRightCompressed.empty() &&
-
492 _depthConfidenceRaw.empty() &&
-
493 _depthConfidenceCompressed.empty() &&
-
494 _laserScanRaw.isEmpty() &&
-
495 _laserScanCompressed.isEmpty() &&
-
496 _cameraModels.empty() &&
-
497 _stereoCameraModels.empty() &&
-
498 _userDataRaw.empty() &&
-
499 _userDataCompressed.empty() &&
-
500 _keypoints.size() == 0 &&
-
501 _descriptors.empty() &&
-
502 _groundCellsRaw.empty() &&
-
503 _groundCellsCompressed.empty() &&
-
504 _obstacleCellsRaw.empty() &&
-
505 _obstacleCellsCompressed.empty() &&
-
506 _emptyCellsRaw.empty() &&
-
507 _emptyCellsCompressed.empty() &&
-
-
+
+
+
492 bool hasCameraModel =
false ;
+
493 for (
size_t i=0; i < _cameraModels.size() && !hasCameraModel; ++i)
+
494 hasCameraModel = _cameraModels[i].isValidForProjection();
+
+
496 for (
size_t i=0; i < _stereoCameraModels.size() && !hasCameraModel; ++i)
+
497 hasCameraModel = _stereoCameraModels[i].isValidForProjection();
+
+
+
+
501 _imageCompressed.empty() &&
+
502 _depthOrRightRaw.empty() &&
+
503 _depthOrRightCompressed.empty() &&
+
504 _depthConfidenceRaw.empty() &&
+
505 _depthConfidenceCompressed.empty() &&
+
506 _laserScanRaw.isEmpty() &&
+
507 _laserScanCompressed.isEmpty() &&
+
+
509 _userDataRaw.empty() &&
+
510 _userDataCompressed.empty() &&
+
511 _keypoints.size() == 0 &&
+
512 _descriptors.empty() &&
+
513 _groundCellsRaw.empty() &&
+
514 _groundCellsCompressed.empty() &&
+
515 _obstacleCellsRaw.empty() &&
+
516 _obstacleCellsCompressed.empty() &&
+
517 _emptyCellsRaw.empty() &&
+
518 _emptyCellsCompressed.empty() &&
+
+
-
-
515 int id ()
const {
return _id;}
-
-
-
-
527 double stamp ()
const {
return _stamp;}
-
-
-
-
-
-
-
-
-
-
-
-
566 const cv::Mat &
imageRaw ()
const {
return _imageRaw;}
-
-
-
-
-
-
-
-
-
593 void setRGBDImage(
const cv::Mat & rgb,
const cv::Mat & depth,
const cv::Mat & depth_confidence,
const CameraModel & model,
bool clearPreviousData =
true );
-
594 void setRGBDImage(
const cv::Mat & rgb,
const cv::Mat & depth,
const std::vector<CameraModel> & models,
bool clearPreviousData =
true );
-
595 void setRGBDImage(
const cv::Mat & rgb,
const cv::Mat & depth,
const cv::Mat & depth_confidence,
const std::vector<CameraModel> & models,
bool clearPreviousData =
true );
-
596 void setStereoImage(
const cv::Mat & left,
const cv::Mat & right,
const StereoCameraModel & stereoCameraModel,
bool clearPreviousData =
true );
-
597 void setStereoImage(
const cv::Mat & left,
const cv::Mat & right,
const std::vector<StereoCameraModel> & stereoCameraModels,
bool clearPreviousData =
true );
-
-
-
-
-
-
616 void setCameraModels (
const std::vector<CameraModel> & models) {_cameraModels = models;}
-
-
-
-
628 void setStereoCameraModels (
const std::vector<StereoCameraModel> & stereoCameraModels) {_stereoCameraModels = stereoCameraModels;}
-
-
639 cv::Mat
depthRaw ()
const {
return !(_depthOrRightRaw.type()==CV_8UC1 || _depthOrRightRaw.type()==CV_8UC3) ? _depthOrRightRaw : cv::Mat();}
-
-
650 cv::Mat
rightRaw ()
const {
return _depthOrRightRaw.type()==CV_8UC1 || _depthOrRightRaw.type()==CV_8UC3 ? _depthOrRightRaw : cv::Mat();}
-
-
-
653 RTABMAP_DEPRECATED
void setImageRaw(
const cv::Mat & image);
-
-
655 RTABMAP_DEPRECATED
void setDepthOrRightRaw(
const cv::Mat & image);
-
-
657 RTABMAP_DEPRECATED
void setLaserScanRaw(
const LaserScan & scan);
-
-
659 RTABMAP_DEPRECATED
void setUserDataRaw(
const cv::Mat & data);
-
-
-
-
-
-
688 cv::Mat * depthOrRightRaw,
-
-
690 cv::Mat * userDataRaw = 0,
-
691 cv::Mat * groundCellsRaw = 0,
-
692 cv::Mat * obstacleCellsRaw = 0,
-
693 cv::Mat * emptyCellsRaw = 0,
-
694 cv::Mat * depthConfidenceRaw = 0);
-
-
-
-
712 cv::Mat * depthOrRightRaw,
-
-
714 cv::Mat * userDataRaw = 0,
-
715 cv::Mat * groundCellsRaw = 0,
-
716 cv::Mat * obstacleCellsRaw = 0,
-
717 cv::Mat * emptyCellsRaw = 0,
-
718 cv::Mat * depthConfidenceRaw = 0)
const ;
-
-
724 const std::vector<CameraModel> &
cameraModels ()
const {
return _cameraModels;}
-
-
-
-
744 void setUserData (
const cv::Mat & userData,
bool clearPreviousData =
true );
-
745 const cv::Mat & userDataRaw()
const {
return _userDataRaw;}
-
746 const cv::Mat & userDataCompressed()
const {
return _userDataCompressed;}
-
-
-
762 const cv::Mat & ground,
-
763 const cv::Mat & obstacles,
-
764 const cv::Mat & empty,
-
-
766 const cv::Point3f & viewPoint);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
828 void setFeatures (
const std::vector<cv::KeyPoint> & keypoints,
const std::vector<cv::Point3f> & keypoints3D,
const cv::Mat & descriptors);
-
-
834 const std::vector<cv::KeyPoint> &
keypoints ()
const {
return _keypoints;}
-
-
840 const std::vector<cv::Point3f> &
keypoints3D ()
const {
return _keypoints3D;}
-
-
-
-
-
-
858 void setGlobalDescriptors (
const std::vector<GlobalDescriptor> & descriptors) {_globalDescriptors = descriptors;}
-
-
+
+
526 int id ()
const {
return _id;}
+
+
+
+
538 double stamp ()
const {
return _stamp;}
+
+
+
+
+
+
+
+
+
+
+
+
577 const cv::Mat &
imageRaw ()
const {
return _imageRaw;}
+
+
+
+
+
+
+
+
+
604 void setRGBDImage(
const cv::Mat & rgb,
const cv::Mat & depth,
const cv::Mat & depth_confidence,
const CameraModel & model,
bool clearPreviousData =
true );
+
605 void setRGBDImage(
const cv::Mat & rgb,
const cv::Mat & depth,
const std::vector<CameraModel> & models,
bool clearPreviousData =
true );
+
606 void setRGBDImage(
const cv::Mat & rgb,
const cv::Mat & depth,
const cv::Mat & depth_confidence,
const std::vector<CameraModel> & models,
bool clearPreviousData =
true );
+
607 void setStereoImage(
const cv::Mat & left,
const cv::Mat & right,
const StereoCameraModel & stereoCameraModel,
bool clearPreviousData =
true );
+
608 void setStereoImage(
const cv::Mat & left,
const cv::Mat & right,
const std::vector<StereoCameraModel> & stereoCameraModels,
bool clearPreviousData =
true );
+
+
+
+
+
+
627 void setCameraModels (
const std::vector<CameraModel> & models) {_cameraModels = models;}
+
+
+
+
639 void setStereoCameraModels (
const std::vector<StereoCameraModel> & stereoCameraModels) {_stereoCameraModels = stereoCameraModels;}
+
+
650 cv::Mat
depthRaw ()
const {
return !(_depthOrRightRaw.type()==CV_8UC1 || _depthOrRightRaw.type()==CV_8UC3) ? _depthOrRightRaw : cv::Mat();}
+
+
661 cv::Mat
rightRaw ()
const {
return _depthOrRightRaw.type()==CV_8UC1 || _depthOrRightRaw.type()==CV_8UC3 ? _depthOrRightRaw : cv::Mat();}
+
+
+
664 RTABMAP_DEPRECATED
void setImageRaw(
const cv::Mat & image);
+
+
666 RTABMAP_DEPRECATED
void setDepthOrRightRaw(
const cv::Mat & image);
+
+
668 RTABMAP_DEPRECATED
void setLaserScanRaw(
const LaserScan & scan);
+
+
670 RTABMAP_DEPRECATED
void setUserDataRaw(
const cv::Mat & data);
+
+
+
+
+
+
699 cv::Mat * depthOrRightRaw,
+
+
701 cv::Mat * userDataRaw = 0,
+
702 cv::Mat * groundCellsRaw = 0,
+
703 cv::Mat * obstacleCellsRaw = 0,
+
704 cv::Mat * emptyCellsRaw = 0,
+
705 cv::Mat * depthConfidenceRaw = 0);
+
+
+
+
723 cv::Mat * depthOrRightRaw,
+
+
725 cv::Mat * userDataRaw = 0,
+
726 cv::Mat * groundCellsRaw = 0,
+
727 cv::Mat * obstacleCellsRaw = 0,
+
728 cv::Mat * emptyCellsRaw = 0,
+
729 cv::Mat * depthConfidenceRaw = 0)
const ;
+
+
735 const std::vector<CameraModel> &
cameraModels ()
const {
return _cameraModels;}
+
+
+
+
755 void setUserData (
const cv::Mat & userData,
bool clearPreviousData =
true );
+
756 const cv::Mat & userDataRaw()
const {
return _userDataRaw;}
+
757 const cv::Mat & userDataCompressed()
const {
return _userDataCompressed;}
+
+
+
773 const cv::Mat & ground,
+
774 const cv::Mat & obstacles,
+
775 const cv::Mat & empty,
+
+
777 const cv::Point3f & viewPoint);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
839 void setFeatures (
const std::vector<cv::KeyPoint> & keypoints,
const std::vector<cv::Point3f> & keypoints3D,
const cv::Mat & descriptors);
+
+
845 const std::vector<cv::KeyPoint> &
keypoints ()
const {
return _keypoints;}
+
+
851 const std::vector<cv::Point3f> &
keypoints3D ()
const {
return _keypoints3D;}
+
+
+
+
-
-
-
-
-
-
-
888 void setGlobalPose (
const Transform & pose,
const cv::Mat & covariance) {globalPose_ = pose; globalPoseCovariance_ = covariance;}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
972 void clearCompressedData (
bool images =
true ,
bool scan =
true ,
bool userData =
true ,
bool occupancyGrid =
true );
-
977 void clearRawData (
bool images =
true ,
bool scan =
true ,
bool userData =
true ,
bool occupancyGrid =
true );
-
-
+
869 void setGlobalDescriptors (
const std::vector<GlobalDescriptor> & descriptors) {_globalDescriptors = descriptors;}
+
+
+
+
+
+
+
+
+
+
899 void setGlobalPose (
const Transform & pose,
const cv::Mat & covariance) {globalPose_ = pose; globalPoseCovariance_ = covariance;}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
983 void clearCompressedData (
bool images =
true ,
bool scan =
true ,
bool userData =
true ,
bool occupancyGrid =
true );
+
988 void clearRawData (
bool images =
true ,
bool scan =
true ,
bool userData =
true ,
bool occupancyGrid =
true );
-
990 #ifdef HAVE_OPENCV_CUDEV
-
995 const cv::cuda::GpuMat & imageRawGpu()
const {
return _imageRawGpu;}
-
-
1001 void setImageRawGpu(
const cv::cuda::GpuMat & image) {_imageRawGpu = image;}
-
-
1007 const cv::cuda::GpuMat & depthOrRightRawGpu()
const {
return _depthOrRightRawGpu;}
-
-
1013 void setDepthOrRightRawGpu(
const cv::cuda::GpuMat & image) {_depthOrRightRawGpu = image;}
-
-
-
-
-
-
-
-
1021 cv::Mat _imageCompressed;
-
1022 cv::Mat _depthOrRightCompressed;
-
1023 cv::Mat _depthConfidenceCompressed;
-
1024 LaserScan _laserScanCompressed;
-
-
-
-
1028 cv::Mat _depthOrRightRaw;
-
1029 cv::Mat _depthConfidenceRaw;
-
1030 LaserScan _laserScanRaw;
-
-
-
1033 std::vector<CameraModel> _cameraModels;
-
1034 std::vector<StereoCameraModel> _stereoCameraModels;
-
-
-
1037 cv::Mat _userDataCompressed;
-
1038 cv::Mat _userDataRaw;
-
-
-
1041 cv::Mat _groundCellsCompressed;
-
1042 cv::Mat _obstacleCellsCompressed;
-
1043 cv::Mat _emptyCellsCompressed;
-
1044 cv::Mat _groundCellsRaw;
-
1045 cv::Mat _obstacleCellsRaw;
-
1046 cv::Mat _emptyCellsRaw;
-
-
1048 cv::Point3f _viewPoint;
-
-
-
-
-
-
-
-
-
1057 std::vector<cv::KeyPoint> _keypoints;
-
1058 std::vector<cv::Point3f> _keypoints3D;
-
1059 cv::Mat _descriptors;
+
+
+
1001 #ifdef HAVE_OPENCV_CUDEV
+
1006 const cv::cuda::GpuMat & imageRawGpu()
const {
return _imageRawGpu;}
+
+
1012 void setImageRawGpu(
const cv::cuda::GpuMat & image) {_imageRawGpu = image;}
+
+
1018 const cv::cuda::GpuMat & depthOrRightRawGpu()
const {
return _depthOrRightRawGpu;}
+
+
1024 void setDepthOrRightRawGpu(
const cv::cuda::GpuMat & image) {_depthOrRightRawGpu = image;}
+
+
+
+
+
+
+
+
1032 cv::Mat _imageCompressed;
+
1033 cv::Mat _depthOrRightCompressed;
+
1034 cv::Mat _depthConfidenceCompressed;
+
1035 LaserScan _laserScanCompressed;
+
+
+
+
1039 cv::Mat _depthOrRightRaw;
+
1040 cv::Mat _depthConfidenceRaw;
+
1041 LaserScan _laserScanRaw;
+
+
+
1044 std::vector<CameraModel> _cameraModels;
+
1045 std::vector<StereoCameraModel> _stereoCameraModels;
+
+
+
1048 cv::Mat _userDataCompressed;
+
1049 cv::Mat _userDataRaw;
+
+
+
1052 cv::Mat _groundCellsCompressed;
+
1053 cv::Mat _obstacleCellsCompressed;
+
1054 cv::Mat _emptyCellsCompressed;
+
1055 cv::Mat _groundCellsRaw;
+
1056 cv::Mat _obstacleCellsRaw;
+
1057 cv::Mat _emptyCellsRaw;
+
+
1059 cv::Point3f _viewPoint;
-
-
1062 std::vector<GlobalDescriptor> _globalDescriptors;
+
+
-
-
1065 Transform groundTruth_;
-
1066 Transform globalPose_;
-
1067 cv::Mat globalPoseCovariance_;
-
-
-
-
-
-
1073 #ifdef HAVE_OPENCV_CUDEV
-
1080 cv::cuda::GpuMat _imageRawGpu;
-
1081 cv::cuda::GpuMat _depthOrRightRawGpu;
-
-
+
+
+
+
+
1068 std::vector<cv::KeyPoint> _keypoints;
+
1069 std::vector<cv::Point3f> _keypoints3D;
+
1070 cv::Mat _descriptors;
+
+
+
1073 std::vector<GlobalDescriptor> _globalDescriptors;
+
+
+
1076 Transform groundTruth_;
+
1077 Transform globalPose_;
+
1078 cv::Mat globalPoseCovariance_;
+
+
+
+
+
+
1084 #ifdef HAVE_OPENCV_CUDEV
+
1091 cv::cuda::GpuMat _imageRawGpu;
+
1092 cv::cuda::GpuMat _depthOrRightRawGpu;
+
+
-
-
-
-
-
+
+
+
+
+
Represents a pinhole camera model containing intrinsic and extrinsic parameters, used for projection,...
Single environmental measurement (type, value, timestamp).
const Type & type() const
@@ -558,85 +563,85 @@ $(document).ready(function(){initNavTree('SensorData_8h_source.html',''); initRe
Inertial measurement sample (ROS sensor_msgs/Imu-like fields).
Represents 2D or 3D laser scan data with support for multiple point data formats.
Container class for all sensor data captured at a specific time.
-const IMU & imu() const
Returns IMU data.
-const cv::Mat & depthConfidenceRaw() const
Returns the raw depth confidence map.
-const cv::Mat & gridObstacleCellsRaw() const
Returns raw obstacle cells.
-void addEnvSensor(const EnvSensor &sensor)
Adds a single environmental sensor.
+const IMU & imu() const
Returns IMU data.
+const cv::Mat & depthConfidenceRaw() const
Returns the raw depth confidence map.
+const cv::Mat & gridObstacleCellsRaw() const
Returns raw obstacle cells.
+void addEnvSensor(const EnvSensor &sensor)
Adds a single environmental sensor.
SensorData(const cv::Mat &image, const CameraModel &cameraModel, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Mono camera constructor.
-const LaserScan & laserScanCompressed() const
Returns the compressed laser scan.
+const LaserScan & laserScanCompressed() const
Returns the compressed laser scan.
SensorData(const cv::Mat &left, const cv::Mat &right, const StereoCameraModel &cameraModel, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Stereo camera constructor.
-const GPS & gps() const
Returns GPS data.
-cv::Mat depthRaw() const
Returns the depth image (convenience method)
+const GPS & gps() const
Returns GPS data.
+cv::Mat depthRaw() const
Returns the depth image (convenience method)
void setRGBDImage(const cv::Mat &rgb, const cv::Mat &depth, const CameraModel &model, bool clearPreviousData=true)
void setIMU(const IMU &imu)
Sets IMU data.
-const cv::Mat & depthOrRightRaw() const
Returns the raw depth or right stereo image.
+const cv::Mat & depthOrRightRaw() const
Returns the raw depth or right stereo image.
SensorData(const IMU &imu, int id=0, double stamp=0.0)
IMU-only constructor.
-const cv::Mat & gridGroundCellsRaw() const
Returns raw ground cells.
+const cv::Mat & gridGroundCellsRaw() const
Returns raw ground cells.
void uncompressDataConst(cv::Mat *imageRaw, cv::Mat *depthOrRightRaw, LaserScan *laserScanRaw=0, cv::Mat *userDataRaw=0, cv::Mat *groundCellsRaw=0, cv::Mat *obstacleCellsRaw=0, cv::Mat *emptyCellsRaw=0, cv::Mat *depthConfidenceRaw=0) const
Uncompresses compressed data into provided output buffers (const version)
int isPointVisibleFromCameras(const cv::Point3f &pt) const
Checks if a 3D point is visible from any camera.
void clearCompressedData(bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true)
-void clearGlobalDescriptors()
Clears all global descriptors.
-const cv::Mat & gridEmptyCellsRaw() const
Returns raw empty cells.
-const EnvSensors & envSensors() const
Returns all environmental sensors.
-void setId(int id)
Sets the sensor data ID.
-const cv::Mat & gridObstacleCellsCompressed() const
Returns compressed obstacle cells.
-const cv::Point3f & gridViewPoint() const
Returns the occupancy grid viewpoint.
+void clearGlobalDescriptors()
Clears all global descriptors.
+const cv::Mat & gridEmptyCellsRaw() const
Returns raw empty cells.
+const EnvSensors & envSensors() const
Returns all environmental sensors.
+void setId(int id)
Sets the sensor data ID.
+const cv::Mat & gridObstacleCellsCompressed() const
Returns compressed obstacle cells.
+const cv::Point3f & gridViewPoint() const
Returns the occupancy grid viewpoint.
SensorData(const LaserScan &laserScan, const cv::Mat &rgb, const cv::Mat &depth, const cv::Mat &depthConfidence, const CameraModel &cameraModel, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
RGB-D constructor with depth confidence and laser scan.
void clearRawData(bool images=true, bool scan=true, bool userData=true, bool occupancyGrid=true)
-const Transform & globalPose() const
Returns the global pose.
-double stamp() const
Returns the timestamp.
-const cv::Mat & globalPoseCovariance() const
Returns the global pose covariance.
-void setStamp(double stamp)
Sets the timestamp.
+const Transform & globalPose() const
Returns the global pose.
+double stamp() const
Returns the timestamp.
+const cv::Mat & globalPoseCovariance() const
Returns the global pose covariance.
+void setStamp(double stamp)
Sets the timestamp.
void setOccupancyGrid(const cv::Mat &ground, const cv::Mat &obstacles, const cv::Mat &empty, float cellSize, const cv::Point3f &viewPoint)
Sets occupancy grid data.
-const cv::Mat & descriptors() const
Returns the feature descriptors.
+const cv::Mat & descriptors() const
Returns the feature descriptors.
unsigned long getMemoryUsed() const
Computes the memory usage of this sensor data.
-const std::vector< CameraModel > & cameraModels() const
Returns the camera models.
+const std::vector< CameraModel > & cameraModels() const
Returns the camera models.
SensorData(const cv::Mat &rgb, const cv::Mat &depth, const std::vector< StereoCameraModel > &cameraModels, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Multi-camera stereo constructor.
-void setGroundTruth(const Transform &pose)
Sets the ground truth pose.
+void setGroundTruth(const Transform &pose)
Sets the ground truth pose.
SensorData(const cv::Mat &rgb, const cv::Mat &depth, const cv::Mat &depthConfidence, const std::vector< CameraModel > &cameraModels, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Multi-camera RGB-D constructor with depth confidence.
-void setGlobalPose(const Transform &pose, const cv::Mat &covariance)
Sets the global pose with covariance.
-const Landmarks & landmarks() const
Returns landmarks.
-int id() const
Returns the sensor data ID.
-const cv::Mat & depthOrRightCompressed() const
Returns the compressed depth or right stereo image.
+void setGlobalPose(const Transform &pose, const cv::Mat &covariance)
Sets the global pose with covariance.
+const Landmarks & landmarks() const
Returns landmarks.
+int id() const
Returns the sensor data ID.
+const cv::Mat & depthOrRightCompressed() const
Returns the compressed depth or right stereo image.
SensorData(const cv::Mat &rgb, const cv::Mat &depth, const cv::Mat &depth_confidence, const CameraModel &cameraModel, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
RGB-D constructor with depth confidence.
void uncompressData(cv::Mat *imageRaw, cv::Mat *depthOrRightRaw, LaserScan *laserScanRaw=0, cv::Mat *userDataRaw=0, cv::Mat *groundCellsRaw=0, cv::Mat *obstacleCellsRaw=0, cv::Mat *emptyCellsRaw=0, cv::Mat *depthConfidenceRaw=0)
Uncompresses compressed data into provided output buffers.
void setLaserScan(const LaserScan &laserScan, bool clearPreviousData=true)
SensorData()
Default constructor.
virtual ~SensorData()
Virtual destructor.
-float gridCellSize() const
Returns the occupancy grid cell size.
+float gridCellSize() const
Returns the occupancy grid cell size.
void uncompressData()
Uncompresses all compressed data in-place.
-cv::Mat rightRaw() const
Returns the right stereo image (convenience method)
-const cv::Mat & imageCompressed() const
Returns the compressed RGB/grayscale image.
-const std::vector< StereoCameraModel > & stereoCameraModels() const
Returns the stereo camera models.
-const std::vector< cv::Point3f > & keypoints3D() const
Returns the 3D keypoints.
-void setStereoCameraModel(const StereoCameraModel &stereoCameraModel)
Sets a single stereo camera model (clears previous models)
-void setEnvSensors(const EnvSensors &sensors)
Sets all environmental sensors.
-const cv::Mat & gridGroundCellsCompressed() const
Returns compressed ground cells.
-void setStereoCameraModels(const std::vector< StereoCameraModel > &stereoCameraModels)
Sets multiple stereo camera models.
+cv::Mat rightRaw() const
Returns the right stereo image (convenience method)
+const cv::Mat & imageCompressed() const
Returns the compressed RGB/grayscale image.
+const std::vector< StereoCameraModel > & stereoCameraModels() const
Returns the stereo camera models.
+const std::vector< cv::Point3f > & keypoints3D() const
Returns the 3D keypoints.
+void setStereoCameraModel(const StereoCameraModel &stereoCameraModel)
Sets a single stereo camera model (clears previous models)
+void setEnvSensors(const EnvSensors &sensors)
Sets all environmental sensors.
+const cv::Mat & gridGroundCellsCompressed() const
Returns compressed ground cells.
+void setStereoCameraModels(const std::vector< StereoCameraModel > &stereoCameraModels)
Sets multiple stereo camera models.
SensorData(const cv::Mat &image, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Appearance-only constructor.
-void setGlobalDescriptors(const std::vector< GlobalDescriptor > &descriptors)
Sets all global descriptors.
+void setGlobalDescriptors(const std::vector< GlobalDescriptor > &descriptors)
Sets all global descriptors.
SensorData(const LaserScan &laserScan, const cv::Mat &left, const cv::Mat &right, const StereoCameraModel &cameraModel, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Stereo camera constructor with laser scan.
SensorData(const LaserScan &laserScan, const cv::Mat &rgb, const cv::Mat &depth, const CameraModel &cameraModel, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
RGB-D constructor with laser scan.
-const cv::Mat & gridEmptyCellsCompressed() const
Returns compressed empty cells.
-void addGlobalDescriptor(const GlobalDescriptor &descriptor)
Adds a global descriptor.
+const cv::Mat & gridEmptyCellsCompressed() const
Returns compressed empty cells.
+void addGlobalDescriptor(const GlobalDescriptor &descriptor)
Adds a global descriptor.
void setUserData(const cv::Mat &userData, bool clearPreviousData=true)
-const std::vector< GlobalDescriptor > & globalDescriptors() const
Returns all global descriptors.
+const std::vector< GlobalDescriptor > & globalDescriptors() const
Returns all global descriptors.
void setFeatures(const std::vector< cv::KeyPoint > &keypoints, const std::vector< cv::Point3f > &keypoints3D, const cv::Mat &descriptors)
Sets visual features (keypoints, 3D points, descriptors)
-void setGPS(const GPS &gps)
Sets GPS data.
+void setGPS(const GPS &gps)
Sets GPS data.
SensorData(const LaserScan &laserScan, const cv::Mat &rgb, const cv::Mat &depth, const std::vector< StereoCameraModel > &cameraModels, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Multi-camera stereo constructor with laser scan.
-bool isValid() const
Checks if the sensor data is valid.
-void setCameraModel(const CameraModel &model)
Sets a single camera model (clears previous models)
+bool isValid() const
Checks if the sensor data is valid.
+void setCameraModel(const CameraModel &model)
Sets a single camera model (clears previous models)
SensorData(const LaserScan &laserScan, const cv::Mat &rgb, const cv::Mat &depth, const std::vector< CameraModel > &cameraModels, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Multi-camera RGB-D constructor with laser scan.
SensorData(const LaserScan &laserScan, const cv::Mat &rgb, const cv::Mat &depth, const cv::Mat &depthConfidence, const std::vector< CameraModel > &cameraModels, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Multi-camera RGB-D constructor with depth confidence and laser scan.
SensorData(const cv::Mat &rgb, const cv::Mat &depth, const std::vector< CameraModel > &cameraModels, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
Multi-camera RGB-D constructor.
-const cv::Mat & imageRaw() const
Returns the raw RGB/grayscale image.
+const cv::Mat & imageRaw() const
Returns the raw RGB/grayscale image.
SensorData(const cv::Mat &rgb, const cv::Mat &depth, const CameraModel &cameraModel, int id=0, double stamp=0.0, const cv::Mat &userData=cv::Mat())
RGB-D constructor.
-const cv::Mat & depthConfidenceCompressed() const
Returns the compressed depth confidence map.
-const LaserScan & laserScanRaw() const
Returns the raw laser scan.
-const Transform & groundTruth() const
Returns the ground truth pose.
-void setLandmarks(const Landmarks &landmarks)
Sets landmarks.
-void setCameraModels(const std::vector< CameraModel > &models)
Sets multiple camera models.
-const std::vector< cv::KeyPoint > & keypoints() const
Returns the 2D keypoints.
+const cv::Mat & depthConfidenceCompressed() const
Returns the compressed depth confidence map.
+const LaserScan & laserScanRaw() const
Returns the raw laser scan.
+const Transform & groundTruth() const
Returns the ground truth pose.
+void setLandmarks(const Landmarks &landmarks)
Sets landmarks.
+void setCameraModels(const std::vector< CameraModel > &models)
Sets multiple camera models.
+const std::vector< cv::KeyPoint > & keypoints() const
Returns the 2D keypoints.
A class representing a calibrated stereo camera system.
diff --git a/api/latest/classrtabmap_1_1SensorData.html b/api/latest/classrtabmap_1_1SensorData.html
index aafadaf9..8e387c26 100644
--- a/api/latest/classrtabmap_1_1SensorData.html
+++ b/api/latest/classrtabmap_1_1SensorData.html
@@ -944,10 +944,10 @@ The class manages memory efficiently by storing either raw or compressed data (o
SensorData stitchedData(stitchedRgb, stitchedDepth, models, 0, data1.
stamp ());
Container class for all sensor data captured at a specific time.
-const cv::Mat & depthOrRightRaw() const
Returns the raw depth or right stereo image.
-double stamp() const
Returns the timestamp.
-const std::vector< CameraModel > & cameraModels() const
Returns the camera models.
-const cv::Mat & imageRaw() const
Returns the raw RGB/grayscale image.
+const cv::Mat & depthOrRightRaw() const
Returns the raw depth or right stereo image.
+double stamp() const
Returns the timestamp.
+const std::vector< CameraModel > & cameraModels() const
Returns the camera models.
+const cv::Mat & imageRaw() const
Returns the raw RGB/grayscale image.
@@ -1531,19 +1531,21 @@ The class manages memory efficiently by storing either raw or compressed data (o
Checks if the sensor data is valid.
Returns true if the sensor data contains at least one of:
-Valid ID (> 0) or non-zero stamp
+Valid ID (> 0)
Images (raw or compressed)
Depth/right images (raw or compressed)
Depth confidence (raw or compressed)
Laser scan (raw or compressed)
-Camera models (mono or stereo)
+Camera models (mono or stereo), at least one valid for projection (see CameraModel::isValidForProjection() and StereoCameraModel::isValidForProjection() )
User data (raw or compressed)
Keypoints and descriptors
+Occupancy grid cells (ground, obstacles or empty)
IMU data
+Note The stamp is not considered: a SensorData with only a stamp set is not valid (e.g., an empty message converted from ROS still has its header stamp and a camera model created from an empty camera info).
Returns True if the sensor data contains any valid information, false otherwise
-Definition at line 485 of file SensorData.h .
+Definition at line 491 of file SensorData.h .
@@ -1573,7 +1575,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the sensor data ID.
Returns The unique sensor data ID (0 if invalid/uninitialized)
-Definition at line 515 of file SensorData.h .
+Definition at line 526 of file SensorData.h .
@@ -1609,7 +1611,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 521 of file SensorData.h .
+Definition at line 532 of file SensorData.h .
@@ -1639,7 +1641,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the timestamp.
Returns Timestamp in seconds (typically seconds since epoch)
-Definition at line 527 of file SensorData.h .
+Definition at line 538 of file SensorData.h .
@@ -1675,7 +1677,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 533 of file SensorData.h .
+Definition at line 544 of file SensorData.h .
@@ -1706,7 +1708,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns Compressed image (CV_8UC1 with 1 row, JPEG/PNG-compressed bytes)
Note Use Compression::uncompressImage() to uncompress the image.
-Definition at line 540 of file SensorData.h .
+Definition at line 551 of file SensorData.h .
@@ -1737,7 +1739,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns Compressed depth/right image (CV_8UC1 with 1 row, compressed bytes)
Note Use Compression::uncompressImage() to uncompress the image.
-Definition at line 547 of file SensorData.h .
+Definition at line 558 of file SensorData.h .
@@ -1768,7 +1770,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns Compressed depth confidence (CV_8UC1 with 1 row, compressed bytes)
Note Use Compression::uncompressData() to uncompress the data.
-Definition at line 554 of file SensorData.h .
+Definition at line 565 of file SensorData.h .
@@ -1798,7 +1800,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the compressed laser scan.
Returns Compressed laser scan
-Definition at line 560 of file SensorData.h .
+Definition at line 571 of file SensorData.h .
@@ -1828,7 +1830,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the raw RGB/grayscale image.
Returns Raw image (CV_8UC1 for grayscale or CV_8UC3 for RGB)
-Definition at line 566 of file SensorData.h .
+Definition at line 577 of file SensorData.h .
@@ -1858,7 +1860,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the raw depth or right stereo image.
Returns Raw depth (CV_16UC1 for millimeters or CV_32FC1 for meters) or right stereo image (CV_8UC1 or CV_8UC3)
-Definition at line 573 of file SensorData.h .
+Definition at line 584 of file SensorData.h .
@@ -1888,7 +1890,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the raw depth confidence map.
Returns Raw depth confidence (CV_8UC1, typically 0-100)
-Definition at line 579 of file SensorData.h .
+Definition at line 590 of file SensorData.h .
@@ -1918,7 +1920,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the raw laser scan.
Returns Raw laser scan (2D or 3D)
-Definition at line 585 of file SensorData.h .
+Definition at line 596 of file SensorData.h .
@@ -2034,7 +2036,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 610 of file SensorData.h .
+Definition at line 621 of file SensorData.h .
@@ -2070,7 +2072,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 616 of file SensorData.h .
+Definition at line 627 of file SensorData.h .
@@ -2106,7 +2108,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 622 of file SensorData.h .
+Definition at line 633 of file SensorData.h .
@@ -2142,7 +2144,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 628 of file SensorData.h .
+Definition at line 639 of file SensorData.h .
@@ -2173,7 +2175,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the depth image if _depthOrRightRaw contains depth data (not a right stereo image). Depth images are CV_16UC1 or CV_32FC1, while right stereo images are CV_8UC1 or CV_8UC3.
Returns Depth image if available, empty Mat if right stereo image or empty
-Definition at line 639 of file SensorData.h .
+Definition at line 650 of file SensorData.h .
@@ -2204,7 +2206,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the right stereo image if _depthOrRightRaw contains stereo data (not a depth image). Right stereo images are CV_8UC1 or CV_8UC3, while depth images are CV_16UC1 or CV_32FC1.
Returns Right stereo image if available, empty Mat if depth image or empty
-Definition at line 650 of file SensorData.h .
+Definition at line 661 of file SensorData.h .
@@ -2414,7 +2416,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the camera models.
Returns Const reference to vector of mono camera models
-Definition at line 724 of file SensorData.h .
+Definition at line 735 of file SensorData.h .
@@ -2444,7 +2446,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the stereo camera models.
Returns Const reference to vector of stereo camera models
-Definition at line 730 of file SensorData.h .
+Definition at line 741 of file SensorData.h .
@@ -2505,7 +2507,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
@@ -2532,7 +2534,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
@@ -2621,7 +2623,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns raw ground cells.
Returns Const reference to raw ground cells matrix
-Definition at line 771 of file SensorData.h .
+Definition at line 782 of file SensorData.h .
@@ -2652,7 +2654,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns Const reference to compressed ground cells matrix
Note Use Compression::uncompressData() to uncompress the data.
-Definition at line 778 of file SensorData.h .
+Definition at line 789 of file SensorData.h .
@@ -2682,7 +2684,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns raw obstacle cells.
Returns Const reference to raw obstacle cells matrix
-Definition at line 784 of file SensorData.h .
+Definition at line 795 of file SensorData.h .
@@ -2713,7 +2715,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns Const reference to compressed obstacle cells matrix
Note Use Compression::uncompressData() to uncompress the data.
-Definition at line 791 of file SensorData.h .
+Definition at line 802 of file SensorData.h .
@@ -2743,7 +2745,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns raw empty cells.
Returns Const reference to raw empty cells matrix
-Definition at line 797 of file SensorData.h .
+Definition at line 808 of file SensorData.h .
@@ -2774,7 +2776,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns Const reference to compressed empty cells matrix
Note Use Compression::uncompressData() to uncompress the data.
-Definition at line 804 of file SensorData.h .
+Definition at line 815 of file SensorData.h .
@@ -2804,7 +2806,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the occupancy grid cell size.
Returns Cell size in meters
-Definition at line 810 of file SensorData.h .
+Definition at line 821 of file SensorData.h .
@@ -2834,7 +2836,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the occupancy grid viewpoint.
Returns Const reference to viewpoint/origin 3D point
-Definition at line 816 of file SensorData.h .
+Definition at line 827 of file SensorData.h .
@@ -2909,7 +2911,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the 2D keypoints.
Returns Const reference to vector of 2D keypoints
-Definition at line 834 of file SensorData.h .
+Definition at line 845 of file SensorData.h .
@@ -2939,7 +2941,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the 3D keypoints.
Returns Const reference to vector of 3D points (in base_link frame)
-Definition at line 840 of file SensorData.h .
+Definition at line 851 of file SensorData.h .
@@ -2969,7 +2971,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the feature descriptors.
Returns Const reference to descriptors matrix (one row per keypoint)
-Definition at line 846 of file SensorData.h .
+Definition at line 857 of file SensorData.h .
@@ -3005,7 +3007,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 852 of file SensorData.h .
+Definition at line 863 of file SensorData.h .
@@ -3041,7 +3043,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 858 of file SensorData.h .
+Definition at line 869 of file SensorData.h .
@@ -3070,7 +3072,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Clears all global descriptors.
-Definition at line 863 of file SensorData.h .
+Definition at line 874 of file SensorData.h .
@@ -3100,7 +3102,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns all global descriptors.
Returns Const reference to vector of global descriptors
-Definition at line 869 of file SensorData.h .
+Definition at line 880 of file SensorData.h .
@@ -3136,7 +3138,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 875 of file SensorData.h .
+Definition at line 886 of file SensorData.h .
@@ -3166,7 +3168,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the ground truth pose.
Returns Const reference to ground truth transform
-Definition at line 881 of file SensorData.h .
+Definition at line 892 of file SensorData.h .
@@ -3213,7 +3215,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 888 of file SensorData.h .
+Definition at line 899 of file SensorData.h .
@@ -3243,7 +3245,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the global pose.
Returns Const reference to global pose transform
-Definition at line 894 of file SensorData.h .
+Definition at line 905 of file SensorData.h .
@@ -3273,7 +3275,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns the global pose covariance.
Returns Const reference to pose covariance matrix (6x6, CV_64FC1)
-Definition at line 900 of file SensorData.h .
+Definition at line 911 of file SensorData.h .
@@ -3309,7 +3311,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 906 of file SensorData.h .
+Definition at line 917 of file SensorData.h .
@@ -3339,7 +3341,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns GPS data.
Returns Const reference to GPS data
-Definition at line 912 of file SensorData.h .
+Definition at line 923 of file SensorData.h .
@@ -3396,7 +3398,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns IMU data.
Returns Const reference to IMU data
-Definition at line 926 of file SensorData.h .
+Definition at line 937 of file SensorData.h .
@@ -3432,7 +3434,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 932 of file SensorData.h .
+Definition at line 943 of file SensorData.h .
@@ -3468,7 +3470,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
-Definition at line 938 of file SensorData.h .
+Definition at line 949 of file SensorData.h .
@@ -3498,7 +3500,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns all environmental sensors.
Returns Const reference to map of environmental sensors
-Definition at line 944 of file SensorData.h .
+Definition at line 955 of file SensorData.h .
@@ -3535,7 +3537,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Note Landmark IDs should be positive and non-zero.
-Definition at line 951 of file SensorData.h .
+Definition at line 962 of file SensorData.h .
@@ -3565,7 +3567,7 @@ The class manages memory efficiently by storing either raw or compressed data (o
Returns landmarks.
Returns Const reference to map of landmarks
-Definition at line 957 of file SensorData.h .
+Definition at line 968 of file SensorData.h .
diff --git a/api/latest/index.html b/api/latest/index.html
index 5735afdf..00d952da 100644
--- a/api/latest/index.html
+++ b/api/latest/index.html
@@ -162,7 +162,7 @@ Start here
static Odometry * create(const ParametersMap ¶meters=ParametersMap())
Creates an odometry instance from Parameters::kOdomStrategy() in parameters.
Top-level RTAB-Map SLAM pipeline (mapping, localization and loop closure).
Container class for all sensor data captured at a specific time.
-double stamp() const
Returns the timestamp.
+double stamp() const
Returns the timestamp.
Collects and manages runtime statistics for RTAB-Map.
const Transform & mapCorrection() const
Returns the map correction transform.
@@ -217,8 +217,8 @@ Occupancy grid
void add(int nodeId, const cv::Mat &ground, const cv::Mat &obstacles, const cv::Mat &empty, float cellSize, const cv::Point3f &viewPoint=cv::Point3f(0, 0, 0))
Inserts or replaces the grid for nodeId (from separate cell mats).
void uncompressDataConst(cv::Mat *imageRaw, cv::Mat *depthOrRightRaw, LaserScan *laserScanRaw=0, cv::Mat *userDataRaw=0, cv::Mat *groundCellsRaw=0, cv::Mat *obstacleCellsRaw=0, cv::Mat *emptyCellsRaw=0, cv::Mat *depthConfidenceRaw=0) const
Uncompresses compressed data into provided output buffers (const version)
-const cv::Point3f & gridViewPoint() const
Returns the occupancy grid viewpoint.
-float gridCellSize() const
Returns the occupancy grid cell size.
+const cv::Point3f & gridViewPoint() const
Returns the occupancy grid viewpoint.
+float gridCellSize() const
Returns the occupancy grid cell size.
Represents a node in RTAB-Map's pose graph.
SensorData & sensorData()
Returns mutable access to the sensor data.
int id() const
Returns the signature ID.
diff --git a/index.html b/index.html
index e9968f3c..16aaf68b 100644
--- a/index.html
+++ b/index.html
@@ -5,7 +5,7 @@
-
+
RTAB-Map | Real-Time Appearance-Based Mapping