|
LibMultiSense
LibMultiSense Documentation
|
Go to the documentation of this file.
37 #ifndef LibMultiSense_MultiSenseTypes_hh
38 #define LibMultiSense_MultiSenseTypes_hh
46 #if defined (CRL_HAVE_CONSTEXPR)
47 #define CRL_CONSTEXPR constexpr
49 #define CRL_CONSTEXPR const
54 #if !defined(MULTISENSE_API)
55 #if defined (_MSC_VER)
56 #if defined (MultiSense_STATIC)
57 #define MULTISENSE_API __declspec(dllexport)
58 #elif defined (MultiSense_EXPORTS)
59 #define MULTISENSE_API __declspec(dllexport)
61 #define MULTISENSE_API __declspec(dllimport)
65 #define MULTISENSE_API
70 #if defined (_MSC_VER)
77 #pragma warning (push)
78 #pragma warning (disable: 4251)
82 namespace multisense {
250 const std::vector<RemoteHeadChannel> &r) :
512 m_exposure(10000), m_aeEnabled(true), m_aeMax(5000000), m_aeDecay(7), m_aeThresh(0.9f),
513 m_autoExposureRoiX(0), m_autoExposureRoiY(0),
585 m_autoExposureRoiX = start_x;
586 m_autoExposureRoiY = start_y;
587 m_autoExposureRoiWidth = width;
588 m_autoExposureRoiHeight = height;
687 float gain()
const {
return m_gain; };
805 uint32_t h) { m_width=w;m_height=h; };
915 float b) { m_wbRed=r;m_wbBlue=b; };
963 void setHdr (
bool e) { m_hdrEnabled = e; };
982 m_exposure.setAutoExposureRoi(start_x, start_y, width, height);
1014 uint32_t
width ()
const {
return m_width; };
1022 uint32_t
height ()
const {
return m_height; };
1039 float fps ()
const {
return m_fps; };
1046 float gain ()
const {
return m_gain; };
1055 uint32_t
exposure ()
const {
return m_exposure.exposure(); };
1197 float gamma()
const {
return m_gamma; };
1213 float fx()
const {
return m_fx; };
1224 float fy()
const {
return m_fy; };
1236 float cx()
const {
return m_cx; };
1248 float cy()
const {
return m_cy; };
1258 float tx()
const {
return m_tx; };
1269 float ty()
const {
return m_ty; };
1280 float tz()
const {
return m_tz; };
1290 float roll()
const {
return m_roll; };
1300 float pitch()
const {
return m_pitch; };
1310 float yaw()
const {
return m_yaw; };
1318 m_wbBlue(1.0f), m_wbRed(1.0f), m_wbEnabled(true), m_wbDecay(3), m_wbThresh(0.5f),
1319 m_width(1024), m_height(544), m_disparities(128), m_spfStrength(0.5f),
1320 m_hdrEnabled(false),
1323 m_fx(0), m_fy(0), m_cx(0), m_cy(0),
1324 m_tx(0), m_ty(0), m_tz(0), m_roll(0), m_pitch(0), m_yaw(0) {};
1423 float b) { m_wbRed=r;m_wbBlue=b; };
1478 m_exposure.setAutoExposureRoi(start_x, start_y, width, height);
1488 m_profile = profile;
1545 float fx()
const {
return m_fx; };
1556 float fy()
const {
return m_fy; };
1568 float cx()
const {
return m_cx; };
1580 float cy()
const {
return m_cy; };
1587 float gain ()
const {
return m_gain; };
1595 uint32_t
exposure ()
const {
return m_exposure.exposure(); };
1729 float gamma()
const {
return m_gamma; };
1758 m_wbBlue(1.0f), m_wbRed(1.0f), m_wbEnabled(true), m_wbDecay(3), m_wbThresh(0.5f),
1759 m_hdrEnabled(false),
1762 m_sharpeningEnable(false), m_sharpeningPercentage(0.0f), m_sharpeningLimit(0),
1763 m_fx(0), m_fy(0), m_cx(0), m_cy(0) {};
1983 m_syncGroups(sync_groups)
1991 void setSyncGroups(
const std::vector<RemoteHeadSyncGroup> &sync_groups) { m_syncGroups = sync_groups; }
1998 std::vector<RemoteHeadSyncGroup>
syncGroups()
const {
return m_syncGroups; }
2157 float laserToSpindle[4][4];
2160 float cameraToSpindleFixed[4][4];
2165 namespace lighting {
2290 std::fill(m_dutyCycle.begin(),
2313 m_dutyCycle[i] = percent;
2329 return m_dutyCycle[i];
2342 return m_numberPulses;
2356 m_numberPulses = numPulses;
2368 return m_lightStartupOffset_us;
2382 m_lightStartupOffset_us = ledTransientResponse_us;
2394 return m_invertPulse;
2407 m_invertPulse = invert;
2423 m_rollingShutterLedEnabled = enabled;
2435 return m_rollingShutterLedEnabled;
2442 m_numberPulses(1), m_lightStartupOffset_us(0), m_invertPulse(false),
2443 m_rollingShutterLedEnabled(false) {};
2447 bool m_flashEnabled;
2591 return (
static_cast<double>(timeSeconds) +
2592 1e-6 *
static_cast<double>(timeMicroSeconds));
2817 namespace compressed_image {
2871 namespace ground_surface {
2897 float xzCellOrigin[2];
2899 float xzCellSize[2];
2903 float minMaxAzimuthAngle[2];
2907 float extrinsics[6];
2911 float quadraticParams[6];
2922 namespace apriltag {
2945 double tagToImageHomography[3][3];
2953 double corners[4][2];
2978 namespace feature_detector {
3085 supportedDataSources(d),
3150 sensorFirmwareVersion(0),
3151 sensorHardwareVersion(0),
3152 sensorHardwareMagic(0),
3153 sensorFpgaDna(0) {};
3219 static CRL_CONSTEXPR uint32_t HARDWARE_REV_MULTISENSE_S = HARDWARE_REV_MULTISENSE_S7;
3252 static CRL_CONSTEXPR uint32_t LIGHTING_TYPE_PATTERN_PROJECTOR_AND_OUTPUT_TRIGGER = 5;
3307 hardwareRevision(0),
3312 nominalBaseline(0.0),
3313 nominalFocalLength(0.0),
3314 nominalRelativeAperture(0.0),
3319 motorGearReduction(0.0) {};
3403 ipv4Address(
"10.66.171.21"),
3404 ipv4Gateway(
"10.66.171.1"),
3405 ipv4Netmask(
"255.255.240.0") {};
3417 const std::string& g,
3418 const std::string& n) :
3528 laserMotorOk(false),
3531 externalLedsOk(false),
3532 processingPipelineOk(false),
3533 powerSupplyTemperature(0.),
3534 fpgaTemperature(0.),
3535 leftImagerTemperature(0.),
3536 rightImagerTemperature(0.),
3783 ground_surface_number_of_levels_x(4),
3784 ground_surface_number_of_levels_z(4),
3785 ground_surface_base_model(1),
3786 ground_surface_pointcloud_grid_size(0.5),
3787 ground_surface_min_points_per_grid(10),
3788 ground_surface_pointcloud_decimation(1),
3789 ground_surface_pointcloud_max_range_m(30.0),
3790 ground_surface_pointcloud_min_range_m(0.5),
3791 ground_surface_pointcloud_max_width_m(25.0),
3792 ground_surface_pointcloud_min_width_m(-25.0),
3793 ground_surface_pointcloud_max_height_m(10.0),
3794 ground_surface_pointcloud_min_height_m(-10.0),
3795 ground_surface_obstacle_height_thresh_m(2.0),
3796 ground_surface_obstacle_percentage_thresh(0.5),
3797 ground_surface_max_fitting_iterations(10),
3798 ground_surface_adjacent_cell_search_size_m(1.5) {};
3891 family(
"tagStandard52h13"),
3893 quad_detection_blur_sigma(0.75),
3894 quad_detection_decimate(1.0),
3895 min_border_width(5),
3896 refine_quad_edges(false),
3897 decode_sharpening(0.25) {};
4033 std::cout <<
"WARNING: The number of features requested is above recommended level!" <<
'\n';
4034 std::cout <<
"If a performance impact is noticed reduce number of features and/or framerate of camera" <<
'\n';
4035 std::cout <<
"The recommended maximum camera settings when using the feature detector is:" <<
'\n';
4036 std::cout <<
"Quarter Res: 15FPS and 1500 Features" <<
'\n';
4037 std::cout <<
"Full Res: 5FPS and 5000 Features" <<
'\n';
4040 m_numberOfFeatures = numberOfFeatures;
4082 uint8_t gm_id[8] = {0};
4098 steps_removed(0) {};
4175 #if defined (_MSC_VER)
4176 #pragma warning (pop)
4179 #endif // LibMultiSense_MultiSenseTypes_hh
static CRL_CONSTEXPR TriggerSource Trigger_PTP
Syncronize cameras on integer timestamps when using PTP.
float ty() const
Query the current camera calibrations stereo baseline.
bool enableSharpening() const
Query whether sharpening is enabled or not on the aux camera.
static CRL_CONSTEXPR Status Status_Failed
int ground_surface_base_model
The model to apply to the raw pointcloud data before modeling with a B-Spline.
float ground_surface_pointcloud_max_range_m
The max pointcloud range (along the z dimension / optical axis) after applying external transform,...
Class used to store a specific IMU configuration.
bool enabled
A boolean flag indicating whether the given IMU source is currently enabled.
uint16_t m_autoExposureRoiY
float gain() const
Query the current image configuration's gain setting.
DeviceInfo()
Default constructor.
static CRL_CONSTEXPR int RECOMMENDED_MAX_FEATURES_QUARTER_RES
The recommended maximum number of features for quarter resolution camera operation.
void setAutoExposureRoi(uint16_t start_x, uint16_t start_y, uint16_t width, uint16_t height)
Set the desired ROI to use when computing the auto-exposure.
float y
The external y translation of the MultiSense in meters.
static CRL_CONSTEXPR Status Status_Ok
bool getInvertPulse() const
Get whether or not the LED pulse is inverted.
static CRL_CONSTEXPR DataSource Source_Compressed_Aux
uint32_t autoWhiteBalanceDecay() const
Query the current image configuration's white-balance decay rate.
float whiteBalanceBlue() const
Query the current image configuration's blue white-balance setting.
PTP status data associated with a specific stamped MultiSense message.
uint32_t motorType
The type of the sensor's motor.
float inputCurrent
The current drawn from the input power supply by the MultiSense.
RemoteHeadSyncGroup()
Default constructor.
static CRL_CONSTEXPR DataSource Source_Compressed_Rectified_Aux
float autoExposureTargetIntensity() const
Query the current image configuration's auto-exposure target Intensity.
std::string buildDate
The date the device was manufactured.
float ground_surface_pointcloud_max_height_m
The max pointcloud height (along the y dimension) after applying external transform,...
void setAutoExposure(bool e)
Set auto-exposure enable flag.
static CRL_CONSTEXPR Status Status_Error
int delay
Delay between completing a frame and actually sending it over the network (in ms)
std::size_t numImageMetaData
GroundSurfaceParams()
Default constructor.
float roll() const
Query the current camera calibrations roll value.
Class used For querying/setting camera calibration.
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Right
static CRL_CONSTEXPR DataSource Source_AprilTag_Detections
bool setInvertPulse(const bool invert)
Invert the output signal that drives lighting.
void setAutoExposureRoi(uint16_t start_x, uint16_t start_y, uint16_t width, uint16_t height)
Set the desired ROI to use when computing the auto-exposure.
uint32_t getStartupTime() const
Get the startup time offset of the led in microseconds The LED or output trigger is triggered this ma...
float pitch() const
Query the current camera calibrations pitch value.
static CRL_CONSTEXPR DataSource Source_Disparity_Aux
void setGain(float g)
Set the desired output image's gain.
void setAutoExposureDecay(uint32_t d)
Set the desired auto-exposure decay rate.
Data right
Full resolution camera calibration corresponding to the right camera.
float ground_surface_obstacle_height_thresh_m
This is the height threshold, in meters, that a cluster of points must be above the initial ground su...
uint32_t autoExposureDecay() const
Query the current image configuration's auto-exposure decay rate.
std::string name
The name of a given device.
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks of image data.
float fx() const
Query the current aux camera calibration rectified projection focal length in the x dimension.
void setAutoWhiteBalance(bool e)
Set the white-balance enable flag.
uint32_t autoExposureDecay() const
Query the current image configuration's auto-exposure decay rate.
static CRL_CONSTEXPR DataSource Source_Raw_Aux
static CRL_CONSTEXPR RemoteHeadChannel Remote_Head_0
The Remote Head Camera at position 0.
StatusMessage()
Default constructor for a single StatusMessage object.
void setAutoWhiteBalanceDecay(uint32_t d)
Set the white-balance decay rate.
uint32_t VersionType
Sensor version typedef used to store a given version number.
static CRL_CONSTEXPR DataSource Source_Compressed_Left
uint32_t autoExposureDecay() const
Query the current image configuration's auto-exposure decay rate.
bool autoWhiteBalance() const
Query the current image configuration's white-balance enable setting.
bool autoExposure() const
Query the current image configuration's auto-exposure enable setting.
std::vector< RangeEntry > ranges
The various ranges and resolutions available for a specific IMU source.
void setAutoExposureTargetIntensity(float d)
Set the desired auto-exposure target Intensity.
uint32_t exposure() const
Query the current image configuration's exposure setting.
CameraProfile cameraProfile() const
Query the current image configurations camera profile.
uint32_t autoExposureMax() const
Query the current image configuration's maximum auto-exposure value.
float autoExposureTargetIntensity() const
Query the current image configuration's auto-exposure target intensity.
uint32_t ImageCompressionCodec
Image compression codec typedef indicating the compression scheme which was used on the compressed ou...
uint16_t autoExposureRoiX() const
Query the current image configuration's auto-exposure ROI X value.
std::string device
The device name for a specific IMU source.
static CRL_CONSTEXPR DataSource Source_Compressed_Rectified_Right
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks for feature_detector data.
float resolution
The resolution setting for a given IMU source.
uint32_t laserType
The type of the sensor's laser.
float pitch
The external pitch translation of the MultiSense in degrees.
uint16_t autoExposureRoiY() const
Query the current image configuration's auto-exposure ROI Y value.
static CRL_CONSTEXPR DataSource Source_Luma_Left
double quad_detection_decimate
Amount to decimate image before detecting quads.
uint32_t imagerHeight
The maximum height of the sensor's imager.
void setGamma(const float g)
Set the gamma correction factor.
void setHdr(bool e)
Set the HDR enable flag.
bool grouping() const
Query the status of the feature detector feature grouping.
void setAutoExposure(bool e)
Set auto-exposure enable flag.
int ground_surface_pointcloud_decimation
The decimation factor for the disparity image when generating the pointcloud.
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks of lidar data.
static CRL_CONSTEXPR DataSource Source_Imu
Config()
Default constructor for a image configuration.
void setAutoExposureMax(uint32_t m)
Set the desired maximum auto-exposure value.
Histogram()
Default constructor.
std::vector< PcbInfo > pcbs
The information for all the PCBs in the device.
std::string ipv4Address
An Ipv4 address corresponding to a sensor.
Data aux
Full resolution camera calibration corresponding to aux color camera.
void setResolution(uint32_t w, uint32_t h)
Set a desired output resolution.
A struct for storing statistics for a channel object.
static CRL_CONSTEXPR DataSource Source_Disparity
bool setStartupTime(uint32_t ledTransientResponse_us)
Set the transient startup time of the led, for better synchronization.
std::string name
The name of a specific IMU source.
uint32_t rateTableIndex
The index into the rate table for a given IMU source specified in crl::multisense::imu::Info::rates.
static CRL_CONSTEXPR int RECOMMENDED_MAX_FEATURES_FULL_RES
The recommended maximum number of features for full resolution camera operation.
bool enable
Enable interpacket delay, should be used when client network cannot handle inbound messages.
static CRL_CONSTEXPR RemoteHeadChannel Remote_Head_VPB
The Remote Head Vision Processor Board.
uint32_t lensType
The type of the sensor's lens.
static CRL_CONSTEXPR DataSource Source_Feature_Right
Example code showing usage of the onboard feature detector.
static CRL_CONSTEXPR RemoteHeadChannel Remote_Head_Invalid
Invalid Remote Head position.
float ground_surface_pointcloud_grid_size
This is the size of grid dimension that the poiontcloud is binned into along the X/Z plane.
float nominalFocalLength
The nominal focal length for the lens in meters.
static CRL_CONSTEXPR CameraProfile Full_Res_Aux_Cam
User would like full resolution images from the aux camera regardless of the requested resolution of ...
void setAutoWhiteBalanceThresh(float t)
Set the white-balance threshold.
static CRL_CONSTEXPR CameraProfile Detail_Disparity
User would like more detail in the disparity image.
bool setDutyCycle(float percent)
Set a sensors duty cycle in terms of percent for all the on-board lights.
std::string laserName
The name of the sensor's laser.
std::string apiBuildDate
The build date of libMultiSense.
void setAutoExposureTargetIntensity(float d)
Set the desired auto-exposure target Intensity .
bool setNumberOfPulses(const uint32_t numPulses)
Set the number of pulses of the light within a single exposure This is used to trigger the light or o...
Class used to store device information specific to a sensor.
bool motion() const
Query the status of the feature detector motion detection.
float whiteBalanceBlue() const
Query the current image configuration's blue white-balance setting.
uint32_t exposure() const
Query the current image configuration's exposure setting.
void setFlash(bool onOff)
Turn on/off light flashing.
std::size_t numDispatchedGroundSurfaceSpline
int64_t gm_offset
Offset of camera PHC to PTP grandmaster clock in nanosec.
static CRL_CONSTEXPR DataSource Source_Ground_Surface_Spline_Data
NetworkConfig(const std::string &a, const std::string &g, const std::string &n)
Constructor to initialize the Ipv4 parameters.
std::string family
Apriltag family to detect.
Class used query the device modes for a given sensor.
Class which stores a image histogram from a camera image.
float cy() const
Query the current camera calibrations left rectified image center in the y dimension.
void setWhiteBalance(float r, float b)
Set the desired image white-balance.
float fpgaTemperature
The temperature of the FPGA.
int64_t path_delay
Estimated delay of syncronization messages from master in nanosec.
std::vector< RemoteHeadSyncGroup > m_syncGroups
The groups of remote head cameras to be synchronized.
float fps() const
Query the current image configuration's frames-per-second setting.
static CRL_CONSTEXPR DataSource Source_Chroma_Aux
float cx() const
Query the current aux camera calibration aux rectified image center in the x dimension.
float sampleRate
The sample rate of a given IMU source in Hz.
bool camerasOk
A boolean flag indicating if the imagers are functioning.
bool hdrEnabled() const
Query the current image configuration's HDR enable flag.
float y
y data for each sample
ExternalCalibration()
Default constructor.
VersionType sensorFirmwareVersion
The version type of the sensor firmware.
uint16_t m_autoExposureRoiHeight
static CRL_CONSTEXPR RemoteHeadChannel Remote_Head_3
The Remote Head Camera at position 3.
void setAutoExposureMax(uint32_t m)
Set the desired maximum auto-exposure value.
float autoExposureThresh() const
Query the current image configuration's auto-exposure threshold.
uint32_t m_numberOfFeatures
numberOfFeatures The maximum features to be searched for in one image.
static CRL_CONSTEXPR Status Status_Unsupported
static CRL_CONSTEXPR DataSource Source_Disparity_Right
bool hdrEnabled() const
Query the current image configuration's HDR enable flag.
void setWidth(uint32_t w)
Set the width of the desired output resolution.
static CRL_CONSTEXPR DataSource Source_Chroma_Left
void setAutoExposureThresh(float t)
Set the desired auto-exposure threshold.
static CRL_CONSTEXPR float MAX_DUTY_CYCLE
The maximum duty cycle for adjusting light intensity.
static CRL_CONSTEXPR RemoteHeadChannel Remote_Head_1
The Remote Head Camera at position 1.
bool laserMotorOk
A boolean flag indicating if the laser motor controller is functioning.
float powerSupplyTemperature
The temperature of the internal switching mode power supply.
Class used to store a laser calibration.
FeatureDetectorConfig()
Default constructor.
uint32_t m_lightStartupOffset_us
void setGain(const float &g)
Set the gain applied to the camera.
int ground_surface_min_points_per_grid
This is the minimum number of pointcloud points which ust be within a binned grid cell in oder for th...
uint32_t imagerType
The type of the sensor's imager.
static CRL_CONSTEXPR DataSource Source_Compressed_Right
float x
x data for each sample
static CRL_CONSTEXPR DataSource Exposure_Default_Source
static CRL_CONSTEXPR DataSource Source_Compressed_Rectified_Left
static CRL_CONSTEXPR Status Status_Unknown
std::string sensorFirmwareBuildDate
The build date of the sensor firmware.
float autoWhiteBalanceThresh() const
Query the current image configuration's white-balance threshold.
bool laserOk
A boolean flag indicating if the laser is functioning.
CameraProfile cameraProfile() const
Query the current image configurations camera profile.
static CRL_CONSTEXPR CameraProfile User_Control
User has direct control over all settings in the image configuration.
PcbInfo()
Default constructor.
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks for IMU data.
uint16_t steps_removed
Number of network hops from GM to local clock.
std::string ipv4Netmask
An Ipv4 netmask corresponding to a sensor.
uint32_t height() const
Query the current image configuration's height.
float ambientLightPercentage
This represents the percentage of light the ambient sensor currently sees.
float gain() const
Query the current image configuration's gain setting.
float cy() const
Query the current aux camera calibration aux rectified image center in the y dimension.
float rightImagerTemperature
The temperature of the right imager.
uint32_t hardwareRevision
The hardware revision of the given sensor.
std::string ipv4Gateway
An Ipv4 gateway corresponding to a sensor.
static CRL_CONSTEXPR DataSource Source_Pps
void setAutoExposureThresh(float t)
Set the desired auto-exposure threshold.
bool setDutyCycle(uint32_t i, float percent)
Set a sensors duty cycle in terms of percent for a specific light based off its index.
uint16_t autoExposureRoiWidth() const
Query the current image configuration's auto-exposure ROI width value Will return crl::multisense::Ro...
PtpStatus()
Default constructor for a single PtpStatus object.
Class containing status information for a particular device.
float cx() const
Query the current camera calibrations left rectified image center in the x dimension.
float x
The external x translation of the MultiSense in meters.
uint8_t m_sharpeningLimit
float gamma() const
Query the gamma correction factor.
void setAutoWhiteBalanceThresh(float t)
Set the white-balance threshold.
uint32_t IntensityType
The type of a single laser intensity measurement
uint32_t autoExposureMax() const
Query the current image configuration's maximum auto-exposure value.
std::string motorName
The name of the sensor's motor.
uint32_t autoExposureMax() const
Query the current image configuration's maximum auto-exposure value.
uint64_t DataSource
Data sources typedef representing the various data sources available from sensors in the MultiSense-S...
uint32_t imagerWidth
The maximum width of the sensor's imager.
float ground_surface_obstacle_percentage_thresh
The percentage of points in a cell cluster that must be above the height threshold in order to classi...
static CRL_CONSTEXPR CameraProfile AprilTag
User would like to run apriltag detector on the camera.
Class used to store PCB information for the various circuit boards in a sensor.
uint16_t autoExposureRoiHeight() const
Query the current image configuration's auto-exposure ROI height value Will return crl::multisense::R...
static CRL_CONSTEXPR CameraProfile Show_ROIs
User would like see the auto exposure Regions of Interest drawn on the image.
std::size_t numDispatchedAprilTagDetections
void setCameraProfile(const CameraProfile &profile)
Set the operation profile for the camera to use.
static CRL_CONSTEXPR ImageCompressionCodec H264
Image data is compressed with the H.264 Codec.
void setSharpeningPercentage(const float &s)
Set the sharpening percentage for the aux luma channel.
std::vector< RemoteHeadSyncGroup > syncGroups() const
Query the groups of remote head cameras to be synchronized.
static CRL_CONSTEXPR DataSource Source_Raw_Right
void setAutoExposure(bool e)
Set auto-exposure enable flag.
uint16_t m_autoExposureRoiX
void setExposure(uint32_t e)
Set the exposure time used to capture images.
static CRL_CONSTEXPR DataSource Source_All
bool processingPipelineOk
A boolean indicating if the processing pipeline is ok.
float ground_surface_pointcloud_min_width_m
The min pointcloud width (along the x dimension) after applying external transform.
static CRL_CONSTEXPR DataSource Source_Ground_Surface_Class_Image
void setAutoExposureRoi(uint16_t start_x, uint16_t start_y, uint16_t width, uint16_t height)
Set the desired ROI to use when computing the auto-exposure.
uint16_t Type
Typedef used to determine which data source a sample came from.
float autoWhiteBalanceThresh() const
Query the current image configuration's white-balance threshold.
VersionInfo()
Default constructor which initialize all values to 0.
bool m_grouping
grouping Enable/Disable the grouping feature in feaure detection.
uint16_t m_autoExposureRoiWidth
static CRL_CONSTEXPR DataSource Source_Lidar_Scan
void setAutoExposureDecay(uint32_t d)
Set the desired auto-exposure decay rate.
float yaw() const
Query the current camera calibrations yaw value.
uint32_t lightingType
The lighting type supported by the sensor.
uint32_t bins
The number of possible pixel values for each color channel.
void setSharpeningLimit(const uint8_t &s)
Set the sharpening limit.
Data left
Full resolution camera calibration corresponding to the left camera.
static CRL_CONSTEXPR DataSource Source_Luma_Right
DataSource supportedDataSources
A listing of all the data sources available for a specific device mode.
DeviceMode(uint32_t w=0, uint32_t h=0, DataSource d=0, int32_t s=-1)
Constructor.
static CRL_CONSTEXPR DataSource Source_Luma_Aux
int32_t disparities
The number of valid disparities for a given device mode.
RemoteHeadConfig()
Default constructor with no sync groups.
static CRL_CONSTEXPR DataSource Source_Raw_Left
std::size_t numDispatchedFeatureDetections
static CRL_CONSTEXPR TriggerSource Trigger_Internal
Default internal trigger source.
uint8_t gm_present
Status of grandmaster clock; 1 if synchronized to nonlocal GM OR if nonlocal GM was present any time ...
uint32_t disparities() const
Query the current image configuration's number of disparities.
Class containing a one valid IMU range configuration.
std::string serialNumber
The serial number of the device.
std::size_t numDispatchedLidar
std::size_t numDispatchedCompressedImage
Class used to store a specific lighting configuration.
float m_aeTargetIntensity
float nominalBaseline
The nominal sensor baseline in meters.
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks for Ground Surface Spline data.
uint32_t rangeTableIndex
The index into the range table for a given IMU source specified in crl::multisense::imu::Info::ranges...
Class containing a one valid IMU rate configuration.
void setWhiteBalance(float r, float b)
Set the desired image white-balance.
Class containing parameters for the ground surface modeling and obstacle detection application which ...
float fx() const
Query the current camera calibrations rectified projection focal length in the x dimension.
static CRL_CONSTEXPR DataSource Source_Disparity_Left
static CRL_CONSTEXPR DataSource Source_Disparity_Cost
bool autoExposure() const
Query the current image configuration's auto-exposure enable setting.
uint32_t exposure() const
Query the current image configuration's exposure setting.
A external calibration associated with the MultiSense.
uint32_t timeMicroSeconds
The time microseconds value corresponding to the specific sample.
uint64_t sensorHardwareMagic
The hardware magic number.
uint8_t sharpeningLimit() const
Query the limit of sharpening applied to the aux luma image.
bool enableRollingShutterLedSynchronization(const bool enabled)
bool autoExposure() const
Query the current image configuration's auto-exposure enable setting.
uint32_t m_motion
motion Enable / disable motion detection in the feature detector.
ExposureConfig m_exposure
static CRL_CONSTEXPR RemoteHeadChannel Remote_Head_2
The Remote Head Camera at position 2.
VersionType apiVersion
The version of libMultiSense.
double uptime
The system uptime of the MultiSense in seconds.
void setGrouping(const bool &g)
Set the feature grouping capability the feature detector.
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks for compressed image data.
int32_t Status
General status typdef used as a return value for get/set crl::multisense::Channel methods.
float inputVoltage
The input voltage supplied to the MultiSense.
ExposureConfig m_exposure
uint16_t autoExposureRoiX() const
Query the current image configuration's auto-exposure ROI X value.
size_t min_border_width
Minimum border width that can be considered a valid tag.
static CRL_CONSTEXPR DataSource Source_Unknown
bool systemOk
A boolean flag indicating if the overall system status is good.
static CRL_CONSTEXPR float Exposure_Default_Target_Intensity
void setStereoPostFilterStrength(float s)
Set the desired stereo post-filter strength.
float logicPower
The power consumed by the MicroBlaze CPU.
ApriltagParams()
Default constructor.
uint32_t getNumberOfPulses() const
Get the number of pulses of the light per a single exposure This is used to trigger the light or outp...
bool autoWhiteBalance() const
Query the current image configuration's white-balance enable setting.
uint32_t height
The image height configuration for a given device mode.
uint32_t numberOfLights
The number of lights supported by the sensor.
float whiteBalanceRed() const
Query the current image configuration's red white-balance setting.
static CRL_CONSTEXPR Status Status_Exception
float ground_surface_pointcloud_min_height_m
The min pointcloud height (along the y dimension) after applying external transform,...
static CRL_CONSTEXPR DataSource Source_Jpeg_Left
std::string name
The name of a specific IMU source corresponding to crl::multisense::imu::Info::name.
uint16_t autoExposureRoiWidth() const
Query the current image configuration's auto-exposure ROI width value Will return crl::multisense::Ro...
std::string name
The name of a PCB.
bool imuOk
A boolean flag indicating if the imu is functioning.
void setCameraProfile(const CameraProfile &profile)
Set the operation profile for the camera to use.
void setAutoExposureThresh(float t)
Set the desired auto-exposure threshold.
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks for PPS events.
NetworkConfig()
Default constructor with the sensor factory default IP configuration.
std::size_t numMissedHeaders
float tz() const
Query the current camera calibrations stereo baseline.
uint32_t width
The image width configuration for a given device mode.
RemoteHeadConfig(const std::vector< RemoteHeadSyncGroup > &sync_groups)
Constructor allowing definition of sync groups.
Remote head sync group defines a group of remote heads which will have their image captures synchroni...
uint64_t sensorHardwareVersion
The hardware version of the sensor.
static CRL_CONSTEXPR DataSource Source_Chroma_Right
float ground_surface_pointcloud_max_width_m
The max pointcloud width (along the x dimension) after applying external transform.
void setSyncGroups(const std::vector< RemoteHeadSyncGroup > &sync_groups)
Set the groups of remote head cameras to be synchronized.
double quad_detection_blur_sigma
Sigma of the Gaussian blur applied to the image before quad_detection Specified in full resolution pi...
std::size_t numDroppedAssemblers
static CRL_CONSTEXPR DataSource Source_Feature_Aux
bool externalLedsOk
A boolean flag indicating if the external LEDs are OK.
Class containing the network configuration for a specific sensor.
static CRL_CONSTEXPR DataSource Source_Rgb_Left
void setAutoExposureMax(uint32_t m)
Set the desired maximum auto-exposure value.
uint16_t autoExposureRoiHeight() const
Query the current image configuration's auto-exposure ROI height value Will return crl::multisense::R...
std::vector< uint32_t > data
The histogram data concatinated serially in GRBG order.
uint64_t sensorFpgaDna
The FPGA DNA.
void setExposure(uint32_t e)
Set the exposure time used to capture images.
float motorGearReduction
The gear reduction for the sensor's laser assembly.
static CRL_CONSTEXPR int Roi_Full_Image
Use Roi_Full_Image as the height and width when setting the autoExposureRoi to set the ROI to the ful...
void setHdr(bool e)
Set the HDR enable flag.
bool refine_quad_edges
Whether or not to refine the edges before attempting to decode.
static CRL_CONSTEXPR Status Status_TimedOut
float tx() const
Query the current camera calibrations stereo baseline.
std::size_t numDispatchedImage
Class containing a single IMU sample.
float nominalRelativeAperture
The nominal relative aperature for the sensor.
float bandwidthCutoff
The bandwith cutoff for a given IMU source in Hz.
static CRL_CONSTEXPR uint32_t MAX_LIGHTS
The maximum number of lights for a given sensor.
void setMotion(const uint32_t &m)
Set the feature motion detection capability of the feature detector Functions to enable motion detect...
float imagerPower
The power consumed by the imager chips.
float autoExposureThresh() const
Query the current image configuration's auto-exposure threshold.
void setGain(float g)
Set the desired output image's gain.
float ground_surface_adjacent_cell_search_size_m
The size of the neighborhood to search around an obstacle cell for the lowest/minimum cell centroid h...
void setGamma(const float g)
Set the gamma correction factor.
bool getRollingShutterLedSynchronizationStatus(void) const
Get the setting of the rollingShutterSynchronization.
static CRL_CONSTEXPR TriggerSource Trigger_External
External OPTO_RX trigger input.
static CRL_CONSTEXPR float Exposure_Default_Gain
float fpgaPower
The power consumed by the FPGA.
void setFps(float f)
Set the desired output frames per second.
static CRL_CONSTEXPR DataSource Source_Feature_Left
Class containing detailed information for the IMU.
float getDutyCycle(uint32_t i) const
Get the current duty cycle in terms of percent for a specific light.
void setExposure(uint32_t e)
Set the exposure time used to capture images.
uint16_t autoExposureRoiX() const
Query the current image configuration's auto-exposure ROI X value.
void setHeight(uint32_t h)
Set the height of the desired output resolution.
int ground_surface_number_of_levels_z
This argument specifies how many levels of spline interpolation are to be performed in the z dimensio...
bool getFlash() const
Get the current lighting flash setting.
float leftImagerTemperature
The temperature of the left imager.
uint32_t numberOfFeatures() const
Query the maximum number of features applied to the camera feature detector.
std::string imagerName
The name of the sensor's imager.
static CRL_CONSTEXPR CameraProfile High_Contrast
User would like more contrast in images.
std::vector< float > m_dutyCycle
void setAutoWhiteBalanceDecay(uint32_t d)
Set the white-balance decay rate.
float autoExposureTargetIntensity() const
Query the current image configuration's auto-exposure target intensity.
Class to store camera calibration matrices.
AuxConfig()
Default constructor for a image configuration.
Class containing version info for a specific sensor.
Config()
Default constructor.
std::vector< RateEntry > rates
The various rates available for a specific IMU source.
uint8_t max_hamming
The maximum hamming correction that will be applied while detecting codes.
std::size_t numDispatchedPps
void setAutoExposureTargetIntensity(float d)
Set the desired auto-exposure target Intensity.
static CRL_CONSTEXPR DataSource Source_Chroma_Rectified_Aux
Type type
The type of data contained in the instance of imu::Sample.
uint32_t CameraProfile
Camera profile typedef representing the various stereo profiles available from newer S27/S30 MultiSen...
void setNumberOfFeatures(const uint32_t &numberOfFeatures)
Set the maximum number of features applied to the camera feature detector.
void setDisparities(uint32_t d)
For stereo sensors, set the desired number of disparities used to search for matching features betwee...
std::string lensName
The name of the sensor's lens.
float m_sharpeningPercentage
RemoteHeadSyncGroup(const RemoteHeadChannel c, const std::vector< RemoteHeadChannel > &r)
Constructor to initialize a remote head sync pair.
uint32_t RangeType
The type of a single laser range measurement
static CRL_CONSTEXPR TriggerSource Trigger_External_Inverted
External OPTO_RX trigger input with Inverted Polarity.
uint16_t autoExposureRoiY() const
Query the current image configuration's auto-exposure ROI Y value.
float yaw
The external yaw translation of the MultiSense in degrees.
void setAutoWhiteBalance(bool e)
Set the white-balance enable flag.
void enableSharpening(const bool &s)
Enable sharpening for the aux luma channel.
float z
The external z translation of the MultiSense in meters.
static CRL_CONSTEXPR CameraProfile Ground_Surface
User would like to run spline-based ground surface algorithm on the camera.
float stereoPostFilterStrength() const
Query the current image configuration's stereo post-filter strength.
uint16_t autoExposureRoiHeight() const
Query the current image configuration's auto-exposure ROI height value Will return crl::multisense::R...
void setAutoExposureDecay(uint32_t d)
Set the desired auto-exposure decay rate.
float autoExposureThresh() const
Query the current image configuration's auto-exposure threshold.
float roll
The external roll translation of the MultiSense in degrees.
double decode_sharpening
How much to sharpen the quad before sampling the pixels.
float gamma() const
Query the gamma correction factor.
Class containing parameters for the apriltag fiduciual detection algorithm application which may be r...
A external sensor status.
bool m_rollingShutterLedEnabled
float ground_surface_pointcloud_min_range_m
The min pointcloud range (along the z dimension / optical axis) after applying external transform,...
Class used to store a specific camera configuration.
float range
The range of valid sample readings for a IMU source.
int16_t RemoteHeadChannel
Remote head channel defines which channel is used to communicate to a specific component in the Remot...
uint32_t timeSeconds
The time seconds value corresponding to the specific sample.
double time() const
A convenience function used for getting the time of the specific sample.
int ground_surface_max_fitting_iterations
The maximum number of iterations to undertake in the spline fit and obstacle detection loop.
int ground_surface_number_of_levels_x
This argument specifies how many levels of spline interpolation are to be performed in the x dimensio...
uint32_t autoWhiteBalanceDecay() const
Query the current image configuration's white-balance decay rate.
float fy() const
Query the current aux camera calibration rectified projection focal length in the y dimension.
float whiteBalanceRed() const
Query the current image configuration's red white-balance setting.
std::vector< RemoteHeadChannel > responders
The synchronization responders.
std::size_t numDispatchedImu
float fy() const
Query the current camera calibrations rectified projection focal length in the y dimension.
std::string units
The units of for a specific IMU source.
uint16_t autoExposureRoiY() const
Query the current image configuration's auto-exposure ROI Y value.
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Left
uint32_t revision
The revision number of a PCB.
uint16_t autoExposureRoiWidth() const
Query the current image configuration's auto-exposure ROI width value Will return crl::multisense::Ro...
void(* Callback)(const Header &header, void *userDataP)
Function pointer for receiving callbacks for apriltag data.
float sharpeningPercentage() const
Query the percentage of sharpening applied to the aux luma image.
uint32_t width() const
Query the current image configuration's width.
float z
z data for each sample
RemoteHeadChannel controller
The synchronization controller.
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Aux