9 #ifndef CSwissRanger3DCamera_H
10 #define CSwissRanger3DCamera_H
155 inline void enableMedianFilter(
bool enable) { m_enable_median_filter = enable; internal_resendParamsToCamera(); }
161 inline void enableConvGray(
bool enable) { m_enable_conv_gray = enable; internal_resendParamsToCamera(); }
164 inline void enableDenoiseANF(
bool enable) { m_enable_denoise_anf = enable; internal_resendParamsToCamera(); }
185 const std::string §ion );
#define DEFINE_GENERIC_SENSOR(class_name)
This declaration must be inserted in all CGenericSensor classes definition, within the class declarat...
A generic interface for a wide-variety of sensors designed to be used in the application RawLogGrabbe...
A class for grabing "range images" from a MESA imaging SwissRanger 3D cameras (SR-2,...
bool m_open_from_usb
true: USB, false: ETH
bool m_save_range_img
Save the 2D range image (default: true)
mrpt::gui::CDisplayWindowPtr m_win_int
bool getOpenFromUSBMode() const
std::string getOpenIPAddress() const
bool getMesaLibVersion(std::string &out_version) const
Get the version of the MESA library.
void setSaveIntensityImage(bool save)
bool m_enable_median_filter
bool isEnabledImageHistEqualization() const
bool open()
return false on error - Called automatically from initialize(), no need normally for the user to call...
bool m_enable_denoise_anf
bool m_enable_mediancross_filter
virtual void initialize()
Initializes the 3D camera - should be invoked after calling loadConfig()
void setSaveRangeImage(bool save)
void setOpenIPAddress(const std::string &IP)
void enableMedianFilter(bool enable)
bool isEnabledMedianCrossFilter() const
virtual void setPathForExternalImages(const std::string &directory)
Set the path where to save off-rawlog image files (this class DOES take into account this path).
void enableDenoiseANF(bool enable)
void enablePreviewWindow(bool enable=true)
void setSave3D(bool save)
bool isEnabledDenoiseANF() const
bool isEnabledMedianFilter() const
bool m_enable_img_hist_equal
double getMaxRange() const
Returns the maximum camera range, as deduced from its operating frequency.
void enableMedianCrossFilter(bool enable)
void enableConvGray(bool enable)
bool m_preview_window
Show preview window while grabbing.
size_t getColCount() const
Get the col count in the camera images, loaded automatically upon camera open().
bool isEnabledConvGray() const
~CSwissRanger3DCamera()
Default ctor.
virtual void doProcess()
To be called at a high rate (>XX Hz), this method populates the internal buffer of received observati...
void * m_cam
opaque handler to SRCAM. NULL means it's not open yet.
double m_maxRange
Max range, as deducted from the camera frequency.
bool isEnabledPreviewWindow() const
bool m_save_intensity_img
Save the 2D intensity image (default: true)
void setSaveConfidenceImage(bool save)
CSwissRanger3DCamera()
Default ctor.
bool m_save_3d
Save the 3D point cloud (default: true)
size_t m_cols
Size of camera images, set on open()
void internal_resendParamsToCamera() const
unsigned int getCameraSerialNumber() const
Get the camera serial number, loaded automatically upon camera open().
void setOpenFromUSB(bool USB)
true: open from USB, false: open from ethernet.
size_t getRowCount() const
Get the row count in the camera images, loaded automatically upon camera open().
unsigned int m_cam_serial_num
Serial number of the camera, set on open()
bool m_save_confidence
Save the estimated confidence 2D image (default: false)
virtual void loadConfig_sensorSpecific(const mrpt::utils::CConfigFileBase &configSource, const std::string §ion)
See the class documentation at the top for expected parameters.
mrpt::utils::TCamera m_cameraParams
void getNextObservation(mrpt::obs::CObservation3DRangeScan &out_obs, bool &there_is_obs, bool &hardware_error)
The main data retrieving function, to be called after calling loadConfig() and initialize().
mrpt::poses::CPose3D m_sensorPoseOnRobot
bool isOpen() const
whether the camera is open and comms work ok. To be called after initialize()
void enableImageHistEqualization(bool enable)
Declares a class derived from "CObservation" that encapsules a 3D range scan measurement,...
A class used to store a 3D pose (a 3D translation + a rotation in 3D).
This class allows loading and storing values and vectors of different types from a configuration text...
Structure to hold the parameters of a pinhole camera model.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.