30#include "rtabmap/core/rtabmap_core_export.h"
32#include <rtabmap/core/Parameters.h>
33#include <rtabmap/core/Transform.h>
34#include <rtabmap/utilite/UThread.h>
35#include <rtabmap/utilite/UEventsSender.h>
39class DiscreteDepthDistortionModel;
48class SensorCaptureInfo;
140 double poseTimeOffset = 0.0,
141 float poseScaleFactor = 1.0f,
142 double poseWaitTime = 0.1,
197 double poseTimeOffset = 0.0,
198 float poseScaleFactor = 1.0f,
199 double poseWaitTime = 0.1,
229 double poseTimeOffset = 0.0,
230 float poseScaleFactor = 1.0f,
231 double poseWaitTime = 0.1,
312 RTABMAP_DEPRECATED
void setImageRate(
float frameRate) {setFrameRate(frameRate);}
417 bool forceGroundNormalsUp,
442 int downsampleStep=1,
445 float voxelSize = 0.0f,
447 float normalsRadius = 0.0f,
448 float groundNormalsUp = 0.0f,
449 bool deskewing =
false);
507 virtual void mainLoopBegin();
515 virtual void mainLoop();
522 virtual void mainLoopKill();
530 double _poseTimeOffset;
531 float _poseScaleFactor;
532 double _poseWaitTime;
534 bool _stereoExposureCompensation;
536 int _imageDecimation;
537 int _histogramMethod;
541 int _scanDownsampleStep;
544 float _scanVoxelSize;
546 float _scanNormalsRadius;
547 float _scanForceGroundNormalsUp;
550 bool _bilateralFiltering;
551 float _bilateralSigmaS;
552 float _bilateralSigmaR;
554 bool _imuBaseFrameConversion;
Abstract 2D feature detector and descriptor extractor for visual SLAM.
Fuses gyroscope and accelerometer samples into an orientation quaternion.
Metadata structure for sensor data capture and processing.
Thread-based sensor data capture and event posting for RTAB-Map.
void setScanParameters(bool fromDepth, int downsampleStep=1, float rangeMin=0.0f, float rangeMax=0.0f, float voxelSize=0.0f, int normalsK=0, float normalsRadius=0.0f, float groundNormalsUp=0.0f, bool deskewing=false)
Sets lidar scan processing parameters.
SensorCapture * odomSensor()
Returns the odometry sensor pointer.
void setMirroringEnabled(bool enabled)
Enables or disables image mirroring (horizontal flip)
RTABMAP_DEPRECATED void setImageRate(float frameRate)
Sets the target image capture rate (deprecated)
SensorCaptureThread(Lidar *lidar, Camera *camera, SensorCapture *odomSensor, const Transform &extrinsics, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, const ParametersMap ¶meters=ParametersMap())
Constructor for lidar with camera and odometry sensor.
void setStereoExposureCompensation(bool enabled)
Enables or disables stereo exposure compensation.
void setHistogramMethod(int histogramMethod)
Sets histogram equalization method.
RTABMAP_DEPRECATED void setScanParameters(bool fromDepth, int downsampleStep, float rangeMin, float rangeMax, float voxelSize, int normalsK, float normalsRadius, bool forceGroundNormalsUp, bool deskewing)
Sets lidar scan processing parameters (deprecated)
void setFrameRate(float frameRate)
Sets the target frame rate for capture.
void enableBilateralFiltering(float sigmaS, float sigmaR)
Enables bilateral filtering for depth images.
bool isPaused() const
Checks if the capture thread is paused.
void postUpdate(SensorData *data, SensorCaptureInfo *info=0) const
Post-processing hook called before posting SensorEvent.
void disableBilateralFiltering()
Disables bilateral filtering.
SensorCaptureThread(Lidar *lidar, SensorCapture *odomSensor, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, const ParametersMap ¶meters=ParametersMap())
Constructor for lidar with odometry sensor.
void setOdomAsGroundTruth(bool enabled)
Sets whether odometry poses should be treated as ground truth.
void setColorOnly(bool colorOnly)
Sets whether to capture color images only (skip depth)
void setImageDecimation(int decimation)
Sets image decimation factor.
void disableIMUFiltering()
Disables IMU data filtering.
SensorCaptureThread(Camera *camera, SensorCapture *odomSensor, const Transform &extrinsics, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, const ParametersMap ¶meters=ParametersMap())
Constructor for camera with odometry sensor.
SensorCaptureThread(Lidar *lidar, const ParametersMap ¶meters=ParametersMap())
Constructor for lidar-only capture.
bool odomProvided() const
Checks if odometry is provided by the sensors.
void enableIMUFiltering(int filteringStrategy=1, const ParametersMap ¶meters=ParametersMap(), bool baseFrameConversion=false)
Enables IMU data filtering.
SensorCaptureThread(Lidar *lidar, Camera *camera, const ParametersMap ¶meters=ParametersMap())
Constructor for lidar with camera.
void enableFeatureDetection(const ParametersMap ¶meters=ParametersMap())
Enables automatic feature detection on captured images.
Lidar * lidar()
Returns the lidar pointer.
void setDistortionModel(const std::string &path)
Sets the depth distortion model file path.
bool isCapturing() const
Checks if the capture thread is actively capturing.
SensorCaptureThread(Camera *camera, const ParametersMap ¶meters=ParametersMap())
Constructor for camera-only capture.
Camera * camera()
Returns the camera pointer.
void setStereoToDepth(bool enabled)
Enables or disables stereo-to-depth conversion.
void disableFeatureDetection()
Disables automatic feature detection.
virtual ~SensorCaptureThread()
Virtual destructor.
Abstract base class for sensor data capture (cameras, lidars, etc.)
Container class for all sensor data captured at a specific time.
Abstract base class for dense stereo matching algorithms.
RTABMAP_DEPRECATED typedef SensorCaptureThread CameraThread
Backward compatibility typedef.
std::map< std::string, std::string > ParametersMap
Parameter keys mapped to their values, as used by every configurable class (see Parameters).