LibMultiSense
LibMultiSense Documentation
crl::multisense::image::Config Class Reference

Class used to store a specific camera configuration. More...

#include <MultiSenseTypes.hh>

Public Member Functions

void setResolution (uint32_t w, uint32_t h)
 Set a desired output resolution. More...
 
void setDisparities (uint32_t d)
 For stereo sensors, set the desired number of disparities used to search for matching features between the left and right images when computing the output disparity image. More...
 
void setWidth (uint32_t w)
 Set the width of the desired output resolution. More...
 
void setHeight (uint32_t h)
 Set the height of the desired output resolution. More...
 
void setFps (float f)
 Set the desired output frames per second. More...
 
void setGain (float g)
 Set the desired output image's gain. More...
 
void setExposure (uint32_t e)
 Set the exposure time used to capture images. More...
 
void setAutoExposure (bool e)
 Set auto-exposure enable flag. More...
 
void setAutoExposureMax (uint32_t m)
 Set the desired maximum auto-exposure value. More...
 
void setAutoExposureDecay (uint32_t d)
 Set the desired auto-exposure decay rate. More...
 
void setAutoExposureThresh (float t)
 Set the desired auto-exposure threshold. More...
 
void setWhiteBalance (float r, float b)
 Set the desired image white-balance. More...
 
void setAutoWhiteBalance (bool e)
 Set the white-balance enable flag. More...
 
void setAutoWhiteBalanceDecay (uint32_t d)
 Set the white-balance decay rate. More...
 
void setAutoWhiteBalanceThresh (float t)
 Set the white-balance threshold. More...
 
void setStereoPostFilterStrength (float s)
 Set the desired stereo post-filter strength. More...
 
void setHdr (bool e)
 Set the HDR enable flag. More...
 
uint32_t width () const
 Query the current image configuration's width. More...
 
uint32_t height () const
 Query the current image configuration's height. More...
 
uint32_t disparities () const
 Query the current image configuration's number of disparities. More...
 
float fps () const
 Query the current image configuration's frames-per-second setting. More...
 
float gain () const
 Query the current image configuration's gain setting. More...
 
uint32_t exposure () const
 Query the current image configuration's exposure setting. More...
 
bool autoExposure () const
 Query the current image configuration's auto-exposure enable setting. More...
 
uint32_t autoExposureMax () const
 Query the current image configuration's maximum auto-exposure value. More...
 
uint32_t autoExposureDecay () const
 Query the current image configuration's auto-exposure decay rate. More...
 
float autoExposureThresh () const
 Query the current image configuration's auto-exposure threshold. More...
 
float whiteBalanceRed () const
 Query the current image configuration's red white-balance setting. More...
 
float whiteBalanceBlue () const
 Query the current image configuration's blue white-balance setting. More...
 
bool autoWhiteBalance () const
 Query the current image configuration's white-balance enable setting. More...
 
uint32_t autoWhiteBalanceDecay () const
 Query the current image configuration's white-balance decay rate. More...
 
float autoWhiteBalanceThresh () const
 Query the current image configuration's white-balance threshold. More...
 
float stereoPostFilterStrength () const
 Query the current image configuration's stereo post-filter strength. More...
 
bool hdrEnabled () const
 Query the current image configuration's HDR enable flag. More...
 
float fx () const
 Query the current camera calibrations rectified projection focal length in the x dimension. More...
 
float fy () const
 Query the current camera calibrations rectified projection focal length in the y dimension. More...
 
float cx () const
 Query the current camera calibrations left rectified image center in the x dimension. More...
 
float cy () const
 Query the current camera calibrations left rectified image center in the y dimension. More...
 
float tx () const
 Query the current camera calibrations stereo baseline. More...
 
float ty () const
 Query the current camera calibrations stereo baseline. More...
 
float tz () const
 Query the current camera calibrations stereo baseline. More...
 
float roll () const
 Query the current camera calibrations roll value. More...
 
float pitch () const
 Query the current camera calibrations pitch value. More...
 
float yaw () const
 Query the current camera calibrations yaw value. More...
 
 Config ()
 Default constructor for a image configuration. More...
 

Protected Attributes

float m_fx
 
float m_fy
 
float m_cx
 
float m_cy
 
float m_tx
 
float m_ty
 
float m_tz
 
float m_roll
 
float m_pitch
 
float m_yaw
 

Private Attributes

float m_fps
 
float m_gain
 
uint32_t m_exposure
 
bool m_aeEnabled
 
uint32_t m_aeMax
 
uint32_t m_aeDecay
 
float m_aeThresh
 
float m_wbBlue
 
float m_wbRed
 
bool m_wbEnabled
 
uint32_t m_wbDecay
 
float m_wbThresh
 
uint32_t m_width
 
uint32_t m_height
 
uint32_t m_disparities
 
float m_spfStrength
 
bool m_hdrEnabled
 

Detailed Description

Class used to store a specific camera configuration.

Members in this class are set via get and set methods. The class is used as an input to a channel object to query or set camera parameters.

Example code to query an image configuration:

//
// Instantiate a channel connecting to a sensor at the factory default
// IP address
channel = crl::multisense::Channel::Create("10.66.171.21");
channel->setMtu(7200);
//
// Create a imageConfig instance to store the queried configuration
//
// Query the image configuration from the Channel instance
crl::multisense::Status status = channel->getImageConfig(imageConfig);
//
// Check to see if the configuration query succeeded
throw std::runtime_error("Unable to query image configuration");
}
//
// Use the image configuration...
//
// Destroy the channel instance

Example code to set an image configurations:

//
// Instantiate a channel connecting to a sensor at the factory default
// IP address
channel = crl::multisense::Channel::Create("10.66.171.21");
channel->setMtu(7200);
//
// Create a imageConfig instance to store the queried configuration
//
// Query the image configuration from the Channel instance
status = channel->getImageConfig(imageConfig);
//
// Check to see if the configuration query succeeded
throw std::runtime_error("Unable to query image configuration");
}
//
// Modify image configuration parameters
// Here we increase the frame rate to 30 FPS
imageConfig.setFps(30.0);
//
// Send the new image configuration to the sensor
status = channel->setImageConfig(imageConfig);
//
// Check to see if the configuration was successfully received by the
// sensor
throw std::runtime_error("Unable to set image configuration");
}
//
// Destroy the channel instance

Definition at line 515 of file MultiSenseTypes.hh.

Constructor & Destructor Documentation

crl::multisense::image::Config::Config ( )
inline

Default constructor for a image configuration.

Initializes all image configuration members to their default values

Definition at line 938 of file MultiSenseTypes.hh.

Member Function Documentation

bool crl::multisense::image::Config::autoExposure ( ) const
inline

Query the current image configuration's auto-exposure enable setting.

Returns
The current image configuration's auto-exposure enable flag

Definition at line 738 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::autoExposureDecay ( ) const
inline

Query the current image configuration's auto-exposure decay rate.

Returns
The current configuration's auto-exposure decay rate

Definition at line 754 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::autoExposureMax ( ) const
inline

Query the current image configuration's maximum auto-exposure value.

Returns
The current image configuration's maximum auto-exposure value

Definition at line 746 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::autoExposureThresh ( ) const
inline

Query the current image configuration's auto-exposure threshold.

Returns
The current image configuration's auto-exposure threshold

Definition at line 762 of file MultiSenseTypes.hh.

bool crl::multisense::image::Config::autoWhiteBalance ( ) const
inline

Query the current image configuration's white-balance enable setting.

Returns
The current image configuration's white-balance enable flag

Definition at line 786 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::autoWhiteBalanceDecay ( ) const
inline

Query the current image configuration's white-balance decay rate.

Returns
The current image configuration's white-balance decay rate

Definition at line 794 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::autoWhiteBalanceThresh ( ) const
inline

Query the current image configuration's white-balance threshold.

Returns
The current image configuration's white-balance threshold

Definition at line 802 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::cx ( ) const
inline

Query the current camera calibrations left rectified image center in the x dimension.

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations rectified image center in the x dimension

Definition at line 858 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::cy ( ) const
inline

Query the current camera calibrations left rectified image center in the y dimension.

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations rectified image center in the y dimension

Definition at line 870 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::disparities ( ) const
inline

Query the current image configuration's number of disparities.

Returns
The current number of disparities used when searching for stereo feature matches

Definition at line 705 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::exposure ( ) const
inline

Query the current image configuration's exposure setting.

Returns
the current image exposure setting in microseconds

Definition at line 730 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::fps ( ) const
inline

Query the current image configuration's frames-per-second setting.

Returns
The current frames per second

Definition at line 713 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::fx ( ) const
inline

Query the current camera calibrations rectified projection focal length in the x dimension.

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations focal length in the x dimension

Definition at line 835 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::fy ( ) const
inline

Query the current camera calibrations rectified projection focal length in the y dimension.

Note this value is scaled based on the current image resolution

Returns
The current camera calibrations focal length in the y dimension

Definition at line 846 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::gain ( ) const
inline

Query the current image configuration's gain setting.

Returns
The current image gain setting

Definition at line 721 of file MultiSenseTypes.hh.

bool crl::multisense::image::Config::hdrEnabled ( ) const
inline

Query the current image configuration's HDR enable flag.

Returns
The current image configuration's HDR enable flag

Definition at line 817 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::height ( ) const
inline

Query the current image configuration's height.

Returns
The current image height

Definition at line 696 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::pitch ( ) const
inline

Query the current camera calibrations pitch value.

This is the Euler pitch angle to rotate the right camera frame into the left camera frame. For rectified images this value will be 0.

Returns
the current camera calibrations pitch value

Definition at line 922 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::roll ( ) const
inline

Query the current camera calibrations roll value.

This is the Euler roll angle to rotate the right camera frame into the left camera frame. For rectified images this value will be 0.

Returns
the current camera calibrations roll value

Definition at line 912 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setAutoExposure ( bool  e)
inline

Set auto-exposure enable flag.

Default value: true

Parameters
eA boolean used to enable or disable auto-exposure

Definition at line 592 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setAutoExposureDecay ( uint32_t  d)
inline

Set the desired auto-exposure decay rate.

Default value: 7

Parameters
dThe auto-exposure decay rate [0, 20]

Definition at line 608 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setAutoExposureMax ( uint32_t  m)
inline

Set the desired maximum auto-exposure value.

Default value: 5000000

Parameters
mThe maximum auto-exposure value in microseconds

Definition at line 600 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setAutoExposureThresh ( float  t)
inline

Set the desired auto-exposure threshold.

This is the percentage of the image that should be white. Default value: 0.75

Parameters
tThe desired auto-exposure threshold [0.0, 1.0]

Definition at line 617 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setAutoWhiteBalance ( bool  e)
inline

Set the white-balance enable flag.

Default value: true

Parameters
eA boolean used to enable or disable white-balance

Definition at line 637 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setAutoWhiteBalanceDecay ( uint32_t  d)
inline

Set the white-balance decay rate.

Default value: 3

Parameters
dThe white-balance decay rate [0, 20]

Definition at line 645 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setAutoWhiteBalanceThresh ( float  t)
inline

Set the white-balance threshold.

Default value: 0.5

Parameters
tThe desired white-balance threshold [0.0, 1.0]

Definition at line 653 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setDisparities ( uint32_t  d)
inline

For stereo sensors, set the desired number of disparities used to search for matching features between the left and right images when computing the output disparity image.

Default value: 128

Parameters
dThe number of disparites

Definition at line 541 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setExposure ( uint32_t  e)
inline

Set the exposure time used to capture images.

Note auto exposure must be disabled for this to take effect. Default value: 10000

Parameters
eThe output exposure time in microseconds [10, 5000000]

Definition at line 584 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setFps ( float  f)
inline

Set the desired output frames per second.

Default value: 5

Parameters
fThe desired frames per second

Definition at line 567 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setGain ( float  g)
inline

Set the desired output image's gain.

Default value: 1

Parameters
gThe output image gain

Definition at line 575 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setHdr ( bool  e)
inline

Set the HDR enable flag.

This feature is only available in sensor firmware version greater than 3.1. Default value: false. Note enabling HDR will disable image white balance. It may also degrade the stereo performance. It is advised to manually tune exposure and gain settings to achieve desired performance.

Parameters
eA boolean used to enable or disable HDR on the camera imagers

Definition at line 677 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setHeight ( uint32_t  h)
inline

Set the height of the desired output resolution.

Default value: 544

Parameters
hThe new resolution's height

Definition at line 559 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setResolution ( uint32_t  w,
uint32_t  h 
)
inline

Set a desired output resolution.

Default value: 1024x544

Parameters
wThe new resolutions width
hThe new resolutions height

Definition at line 529 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setStereoPostFilterStrength ( float  s)
inline

Set the desired stereo post-filter strength.

This is used to filter low confidence stereo data before it is sent to the host. Larger numbers indicate more aggressive filtering. This feature is only available on sensor firmware versions greater than 3.0. Default value: 0.5

Parameters
sThe desired stereo post-filter strength [0.0, 1.0]

Definition at line 665 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setWhiteBalance ( float  r,
float  b 
)
inline

Set the desired image white-balance.

Default value: 1.0 for both r and b

Parameters
rThe input read white-balance value [0.25, 4.0]
bThe input blue white-balance value [0.25, 4.0]

Definition at line 628 of file MultiSenseTypes.hh.

void crl::multisense::image::Config::setWidth ( uint32_t  w)
inline

Set the width of the desired output resolution.

Default value: 1024

Parameters
wThe new resolution's width

Definition at line 550 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::stereoPostFilterStrength ( ) const
inline

Query the current image configuration's stereo post-filter strength.

Returns
The current image configuration's stereo post-filter strength

Definition at line 810 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::tx ( ) const
inline

Query the current camera calibrations stereo baseline.

This is the component of the vector in the x dimension which points from the right rectified camera frame to the left rectified camera frame

Returns
The x component of the current calibrations stereo baseline

Definition at line 880 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::ty ( ) const
inline

Query the current camera calibrations stereo baseline.

This is the component of the vector in the y dimension which points from the right rectified camera frame to the left rectified camera frame. For rectified images this value will be 0.

Returns
The y component of the current calibrations stereo baseline

Definition at line 891 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::tz ( ) const
inline

Query the current camera calibrations stereo baseline.

This is the component of the vector in the z dimension which points from the right rectified frame center to the left rectified camera frame. For rectified images this value will be 0.

Returns
The z component of the current calibrations stereo baseline

Definition at line 902 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::whiteBalanceBlue ( ) const
inline

Query the current image configuration's blue white-balance setting.

Returns
The current image configuration's blue white-balance setting

Definition at line 778 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::whiteBalanceRed ( ) const
inline

Query the current image configuration's red white-balance setting.

Returns
The current image configuration's red white-balance setting

Definition at line 770 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::width ( ) const
inline

Query the current image configuration's width.

Returns
The current image width

Definition at line 688 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::yaw ( ) const
inline

Query the current camera calibrations yaw value.

This is the Euler yaw angle to rotate the right camera frame into the left camera frame. For rectified images this value will be 0.

Returns
the current camera calibrations yaw value

Definition at line 932 of file MultiSenseTypes.hh.

Member Data Documentation

uint32_t crl::multisense::image::Config::m_aeDecay
private

Definition at line 950 of file MultiSenseTypes.hh.

bool crl::multisense::image::Config::m_aeEnabled
private

Definition at line 948 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::m_aeMax
private

Definition at line 949 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_aeThresh
private

Definition at line 951 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_cx
protected

Definition at line 964 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_cy
protected

Definition at line 964 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::m_disparities
private

Definition at line 958 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::m_exposure
private

Definition at line 947 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_fps
private

Definition at line 943 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_fx
protected

Definition at line 964 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_fy
protected

Definition at line 964 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_gain
private

Definition at line 943 of file MultiSenseTypes.hh.

bool crl::multisense::image::Config::m_hdrEnabled
private

Definition at line 960 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::m_height
private

Definition at line 957 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_pitch
protected

Definition at line 966 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_roll
protected

Definition at line 966 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_spfStrength
private

Definition at line 959 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_tx
protected

Definition at line 965 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_ty
protected

Definition at line 965 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_tz
protected

Definition at line 965 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_wbBlue
private

Definition at line 952 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::m_wbDecay
private

Definition at line 955 of file MultiSenseTypes.hh.

bool crl::multisense::image::Config::m_wbEnabled
private

Definition at line 954 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_wbRed
private

Definition at line 953 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_wbThresh
private

Definition at line 956 of file MultiSenseTypes.hh.

uint32_t crl::multisense::image::Config::m_width
private

Definition at line 957 of file MultiSenseTypes.hh.

float crl::multisense::image::Config::m_yaw
protected

Definition at line 966 of file MultiSenseTypes.hh.


The documentation for this class was generated from the following file: