RVC  1.15.0
a product by RVBUST.
RVC::X2::CaptureOptions Struct Reference

Capture options. More...

#include <RVC.h>

Public Member Functions

 CaptureOptions ()
 Construct a new Capture Options object.
 

Public Attributes

CameraID transform_to_camera
 CameraID_Left transfrom 3D points from calibration board system to left camera coordinate system CameraID_Right transfrom 3D points from calibration board system to right camera coordinate system other is do not transfrom.
 
int projector_brightness
 Set the projector brightness value.
 
bool calc_normal
 flag Whether calculate 3D points normal vector
 
unsigned int calc_normal_radius
 Neighborhood radius in pixel of calculating normal, > 0.
 
int light_contrast_threshold
 Light contrast trheshold, range in [0, 10]. The contrast of point less than this value will be treat as invalid point and be removed.
 
int edge_noise_reduction_threshold
 edge control after point matching, range in [0, 10], default = 2. The big the value, the more edge noise to be removed.
 
int exposure_time_2d
 Set the exposure_time 2D value in milliseconds.
 
int exposure_time_3d
 Set the exposure_time 3D value in milliseconds.
 
float gain_2d
 Set the 2D gain value in milliseconds.
 
float gain_3d
 Set the 3D gain value in milliseconds.
 
int hdr_exposure_times
 Set the hdr exposure times value. 0,2,3.
 
int hdr_exposuretime_content [3]
 Set the hdr exposure time content. capture with white light, range [11, 100], others [3, 100]. If use M-series, range[10, 100].
 
float hdr_gain_3d [3]
 Set the hdr 3D gain content.
 
int hdr_projector_brightness [3]
 Set the hdr projector brightness value.
 
float gamma_2d
 Set the 2D gamma value in milliseconds.
 
float gamma_3d
 Set the 3D gamma value in milliseconds.
 
ProjectorColor projector_color
 projector color
 
bool use_projector_capturing_2d_image
 Set 2D image whether use projector.
 
SmoothnessLevel smoothness
 control point map smoothness
 
bool use_auto_noise_removal
 flag Whether to use auto noise removal. If true, the noise_removal_distance and noise_removal_point_number will be ignored. It will automatically adjust these two parameters according to the point cloud data and do noise removal. More...
 
double noise_removal_distance
 The smaller the value, the greater the filtering degree. range: 0 ~ 20 (units: mm)
 
int noise_removal_point_number
 Set the noise filter parameter 2. The larger the value, the greater the filtering degree.
 
double downsample_distance
 uniform downsample distance. if <= 0, do nothing.
 
CaptureMode capture_mode
 control capture mode
 
double confidence_threshold
 confidence threshold, the point with confindence low then this value will be removed range: [0, 1]
 
int scan_times
 scan times, only use in robust mode. range: [1, 8]
 
int hdr_scan_times [3]
 Set the hdr scan times, only use in robust mode. range: [1, 8].
 
int bilateral_filter_kernal_size
 the kernal size of bilateral filter of depth map range: [3, 31], 0 for not use bilateral filter
 
double bilateral_filter_depth_sigma
 the guassian sigma in depth of bilateral filter of depth map range: [0, 100]
 
double bilateral_filter_space_sigma
 the guassian sigma in space of bilateral filter of depth map range: [0, 100]
 
int line_scanner_scan_time_ms
 Set line scanner mode's total scan time.
 
int line_scanner_exposure_time_us
 Set line scanner mode's single line exposure time.
 
int line_scanner_min_distance
 Set line scanner mode's minimum working distance.
 
int line_scanner_max_distance
 Set line scanner mode's maximum working distance.
 
bool correspond2d
 whether to generate point clouds corresponding to 2D images
 
uint16_t line_scanner_laser_position
 select laser position in fixed line scan mode
 
bool use_auto_bilateral_filter
 flag Whether to use auto bilateral filter. If true, the bilateral_filter_kernal_size and bilateral_filter_depth_sigma and bilateral_filter_space_sigma will be ignored. It will automatically adjust these three parameters according to the point cloud data and do bilateral filter.
 
int reflection_filter_threshold
 Used to remove large-area erroneous point clouds caused by reflections. The higher this value is set, the more points will be removed by the reflection filter. Setting it too large may remove data from thin and pointy objects. range:[0, 30].
 
double smooth_sigma
 The Gaussian filters are used to smooth points. The larger the smooth_sigma, the smoother the point cloud becomes. However, an excessively large smooth_sigma can cause edges to be smoothed out as well. range: [0, 5].
 
RVC::ROI roi
 set ROI function, only 3d points in the roi will be generated. This function can improve 3d capture speed and only support SwingLineScan capture mode. The parameters of roi must comply with the rules of the equipment and can be checked by CheckRoi. We recommend that you adjust roi automatically through C before AutoAdjustRoi.
 
bool enable_2d_in_capture
 Acquire 2D images during capture.
 
bool pointcloud_completion
 In 'CaptureMode_SwingLineScan' mode with 'correspond2d' enabled,turning on 'pointcloud_completion' will interpolate the point cloud to produce a dense reconstruction.
 
int line_scanner_brightness_threshold
 
TriggerMode trigger_mode
 Trigger mode. Currently, only the 'FixedLineScan' mode supports hardware triggering (TriggerMode_HardWare); all other modes only support software triggering (TriggerMode_SoftWare).
 
int encoder_trigger_interval
 Number of encoder pulses required to trigger one profile acquisition.
 
double truncate_z_min
 truncate point map and depth map by z direction minimum value (units: mm) and truncate_z_min should less than truncate_z_max range: [-29999, 29999]
 
double truncate_z_max
 truncate point map and depth map by z direction maximum value (units: mm) and truncate_z_max should more than truncate_z_min range: [-29999, 29999]
 
double line_scanner_confidence
 Line scanner confidence threshold for point cloud filtering. More...
 
double fixed_rate
 Fixed-rate trigger frequency in Hz. More...
 
bool auto_set_fixed_rate
 Enable automatic fixed rate estimation. More...
 
bool enable_transfer_control
 Enable transfer control. More...
 

Detailed Description

Capture options.

Member Data Documentation

◆ auto_set_fixed_rate

bool RVC::X2::CaptureOptions::auto_set_fixed_rate

Enable automatic fixed rate estimation.

When true: camera auto-estimates trigger rate, ignoring fixed_rate. When false: manual fixed_rate setting takes effect.

Note
Automatic rate estimation provides a relatively safe value but doesn't guarantee no frame drops.

◆ enable_transfer_control

bool RVC::X2::CaptureOptions::enable_transfer_control

Enable transfer control.

When true: Network transmission is more stable, but data may be lost if the buffer is full. When false: Network transmission is faster, but packet loss may occur.

◆ fixed_rate

double RVC::X2::CaptureOptions::fixed_rate

Fixed-rate trigger frequency in Hz.

Specifies the internal trigger frequency in TriggerMode_FixedRate mode.

  • Unit: Hertz (Hz), frames per second
  • Only effective when TriggerMode = TriggerMode_FixedRate
  • Behavior:
    • If auto_set_fixed_rate = true: ignored, camera auto-estimates rate
    • If auto_set_fixed_rate = false: use specified frequency
Note
Automatic rate estimation provides a relatively safe value but doesn't guarantee no frame drops.

◆ line_scanner_confidence

double RVC::X2::CaptureOptions::line_scanner_confidence

Line scanner confidence threshold for point cloud filtering.

Sets the minimum confidence level for line scanner data points [0,1]

  • Value 0: disables this filtering function
  • Values >0: points with confidence below this value are removed and fixed when possible

How it works:

  • Higher values: more points removed (cleaner data)
  • Lower values: more points kept (may include noise)
  • Removes noise that clustering filters cannot remove
  • Default 0.72 works well for most scenarios within the default working range

Adjustment suggestions:

  • 0.72 is optimal for most scenarios within the default working range
  • For extended ranges (e.g., scanning distant objects), consider lowering this value

Warning: Setting too high may remove valid data points

◆ use_auto_noise_removal

bool RVC::X2::CaptureOptions::use_auto_noise_removal

flag Whether to use auto noise removal. If true, the noise_removal_distance and noise_removal_point_number will be ignored. It will automatically adjust these two parameters according to the point cloud data and do noise removal.

Point cloud noise removal algorithm, contains three parameters: use_auto_noise_removal, noise_removal_distance and noise_removal_point_number. This algorithm performs noise reduction through a clustering algorithm. The point cloud is classified into blocks according to the distance (noise_removal_distance). If the total number of points in the block is less than a certain threshold (noise_removal_point_number), the points in the block are considered as noise points and need to be removed.


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