106 const std::string& sectionName,
107 const std::string& prefix = std::string());
111 const std::string& _file_name = std::string());
113 const std::string& _file_name = std::string());
115 const std::string& _file_name = std::string());
227 bool queryVersion(std::string version,
bool printOutVersion =
false);
251 static_assert(!std::is_copy_constructible_v<CDUO3DCamera>,
"Copy Check");
252 static_assert(!std::is_copy_assignable_v<CDUO3DCamera>,
"Assign Check");
void stopCapture()
Stop capture.
bool queryVersion(std::string version, bool printOutVersion=false)
Queries the DUO3D Camera firmware version.
float m_fps
(Default = 30) Frames per second <= 30.
std::string m_intrinsic_filename
Intrinsic parameters file provided by DUO3D Calibration App (YML format).
This "software driver" implements the communication protocol for interfacing a DUO3D Stereo Camera...
void * m_get_duo_frame()
Gets a stereo frame from the DUO3D Camera (void* to be reinterpreted as PDUOFrame) ...
void m_set_exposure(float value)
Sets DUO3D camera Exposure setting.
float m_exposure
(Default = 50) Exposure value.
void * getEvent()
Returned pointer to be reinterpreted as DUO3D's "HANDLE".
bool m_calibration_from_file
(Default = true) Get calibration information from files provided by DUO3D Calibration App...
const TCaptureOptions_DUO3D & getCameraOptions() const
Returns the current settings of the camera.
bool m_capture_imu
(Default = false) Capture IMU data.
void * m_pframe_data
Pointer, to be reinterpreted as "PDUOFrame".
Contains classes for various device interfaces.
std::string m_rectify_map_filename
Rectification map file provided by DUO3D Calibration App (YML format).
int m_img_width
(Default = 640) Width of the captured image.
This class stores measurements from an Inertial Measurement Unit (IMU) (attitude estimation, raw gyroscope and accelerometer values), altimeters or magnetometers.
mrpt::img::TStereoCamera m_stereo_camera
TYMLReadResult m_camera_ext_params_from_yml(const std::string &_file_name=std::string())
bool captureIMUIsSet()
Indicates if the camera is grabbing IMU data.
void m_set_gain(float value)
Sets DUO3D camera Gain setting.
float m_led
(Default = 25) Led intensity (some device models).
void open(const TCaptureOptions_DUO3D &options, const bool startCapture=true)
Tries to open the camera with the given options, and starts capturing.
This class allows loading and storing values and vectors of different types from a configuration text...
int m_img_height
(Default = 480) Height of the captured image.
TYMLReadResult m_rectify_map_from_yml(const std::string &_file_name=std::string())
Observation class for either a pair of left+right or left+disparity images from a stereo camera...
float m_gain
(Default = 10) Camera gain.
Use this class to rectify stereo images if the same distortion maps are reused over and over again...
bool m_open_duo_camera(int width, int height, float fps)
Opens DUO3D camera.
void getObservations(mrpt::obs::CObservationStereoImages &outObservation_img, mrpt::obs::CObservationIMU &outObservation_imu, bool &there_is_img, bool &there_is_imu)
Specific laser scanner "software drivers" must process here new data from the I/O stream...
void loadOptionsFrom(const mrpt::config::CConfigFileBase &configSource, const std::string §ionName, const std::string &prefix=std::string())
Loads all the options from a config file.
Options used when creating a camera capture object of type CImageGrabber_FlyCapture2.
void * m_evFrame
DUO's HANDLE.
CDUO3DCamera & operator=(const CDUO3DCamera &)=delete
void m_close_duo_camera()
Closes DUO3D camera.
TCaptureOptions_DUO3D m_options
void * m_duo
Opaque pointer to DUO's DUOInstance.
void startCapture()
Start the actual data capture of the camera.
std::string m_extrinsic_filename
Extrinsic parameters file provided by DUO3D Calibration App (YML format).
void m_set_led(float value)
Sets DUO3D camera LED setting.
CDUO3DCamera()
Default Constructor (does not open the camera)
TYMLReadResult m_camera_int_params_from_yml(const std::string &_file_name=std::string())
mrpt::vision::CStereoRectifyMap m_rectify_map
void setDataFrame(void *frame)
frame is a reinterpreted PDUOFrame
Structure to hold the parameters of a pinhole stereo camera model.
bool m_capture_rectified
(Default = true) Rectify images.
void close()
Stop capture and closes the opened camera, if any.
virtual ~CDUO3DCamera()
Destructor.