15 #ifndef VISIONTRANSFER_DEVICEPARAMETERS_H 16 #define VISIONTRANSFER_DEVICEPARAMETERS_H 18 #include "visiontransfer/common.h" 19 #include "visiontransfer/deviceinfo.h" 20 #include "visiontransfer/standardparameterids.h" 21 #include "visiontransfer/parameterinfo.h" 93 return static_cast<OperationMode>(readIntParameter(internal::StandardParameterIDs::OPERATION_MODE));
103 writeIntParameter(internal::StandardParameterIDs::OPERATION_MODE, static_cast<int>(mode));
110 return readIntParameter(internal::StandardParameterIDs::DISPARITY_OFFSET);
119 writeIntParameter(internal::StandardParameterIDs::DISPARITY_OFFSET, offset);
128 return readIntParameter(internal::StandardParameterIDs::SGM_P1_EDGE);
137 writeIntParameter(internal::StandardParameterIDs::SGM_P1_EDGE, p1);
144 return readIntParameter(internal::StandardParameterIDs::SGM_P1_NO_EDGE);
153 writeIntParameter(internal::StandardParameterIDs::SGM_P1_NO_EDGE, p1);
160 return readIntParameter(internal::StandardParameterIDs::SGM_P2_EDGE);
169 writeIntParameter(internal::StandardParameterIDs::SGM_P2_EDGE, p2);
176 return readIntParameter(internal::StandardParameterIDs::SGM_P2_NO_EDGE);
185 writeIntParameter(internal::StandardParameterIDs::SGM_P2_NO_EDGE, p2);
192 return readIntParameter(internal::StandardParameterIDs::SGM_EDGE_SENSITIVITY);
201 writeIntParameter(internal::StandardParameterIDs::SGM_EDGE_SENSITIVITY, sensitivity);
209 return readBoolParameter(internal::StandardParameterIDs::MASK_BORDER_PIXELS_ENABLED);
217 writeBoolParameter(internal::StandardParameterIDs::MASK_BORDER_PIXELS_ENABLED, enabled);
224 return readBoolParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_ENABLED);
231 writeBoolParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_ENABLED, enabled);
238 return readIntParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_SENSITIVITY);
247 writeIntParameter(internal::StandardParameterIDs::CONSISTENCY_CHECK_SENSITIVITY, sensitivity);
254 return readBoolParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_ENABLED);
261 writeBoolParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_ENABLED, enabled);
268 return readIntParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_SENSITIVITY);
277 writeIntParameter(internal::StandardParameterIDs::UNIQUENESS_CHECK_SENSITIVITY, sensitivity);
284 return readBoolParameter(internal::StandardParameterIDs::TEXTURE_FILTER_ENABLED);
291 writeBoolParameter(internal::StandardParameterIDs::TEXTURE_FILTER_ENABLED, enabled);
298 return readIntParameter(internal::StandardParameterIDs::TEXTURE_FILTER_SENSITIVITY);
307 writeIntParameter(internal::StandardParameterIDs::TEXTURE_FILTER_SENSITIVITY, sensitivity);
314 return readBoolParameter(internal::StandardParameterIDs::GAP_INTERPOLATION_ENABLED);
321 writeBoolParameter(internal::StandardParameterIDs::GAP_INTERPOLATION_ENABLED, enabled);
328 return readBoolParameter(internal::StandardParameterIDs::NOISE_REDUCTION_ENABLED);
335 writeBoolParameter(internal::StandardParameterIDs::NOISE_REDUCTION_ENABLED, enabled);
342 return readIntParameter(internal::StandardParameterIDs::SPECKLE_FILTER_ITERATIONS);
349 writeIntParameter(internal::StandardParameterIDs::SPECKLE_FILTER_ITERATIONS, iter);
359 AUTO_EXPOSURE_AND_GAIN = 0,
362 AUTO_EXPOSURE_MANUAL_GAIN = 1,
365 MANUAL_EXPOSORE_AUTO_GAIN = 2,
368 MANUAL_EXPOSURE_MANUAL_GAIN = 3
376 return static_cast<AutoMode>(readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_MODE));
384 writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_MODE, static_cast<int>(mode));
395 return readDoubleParameter(internal::StandardParameterIDs::AUTO_TARGET_INTENSITY);
406 writeDoubleParameter(internal::StandardParameterIDs::AUTO_TARGET_INTENSITY, intensity);
417 return readDoubleParameter(internal::StandardParameterIDs::AUTO_INTENSITY_DELTA);
428 writeDoubleParameter(internal::StandardParameterIDs::AUTO_INTENSITY_DELTA, delta);
451 return static_cast<TargetFrame>(readIntParameter(internal::StandardParameterIDs::AUTO_TARGET_FRAME));
459 writeIntParameter(internal::StandardParameterIDs::AUTO_TARGET_FRAME, static_cast<int>(target));
470 return readIntParameter(internal::StandardParameterIDs::AUTO_SKIPPED_FRAMES);
481 writeIntParameter(internal::StandardParameterIDs::AUTO_SKIPPED_FRAMES, skipped);
489 return readDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_EXPOSURE_TIME);
497 writeDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_EXPOSURE_TIME, time);
505 return readDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_GAIN);
513 writeDoubleParameter(internal::StandardParameterIDs::AUTO_MAXIMUM_GAIN, gain);
526 return readDoubleParameter(internal::StandardParameterIDs::MANUAL_EXPOSURE_TIME);
539 writeDoubleParameter(internal::StandardParameterIDs::MANUAL_EXPOSURE_TIME, time);
552 return readDoubleParameter(internal::StandardParameterIDs::MANUAL_GAIN);
565 writeDoubleParameter(internal::StandardParameterIDs::MANUAL_GAIN, gain);
572 return readBoolParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_ENABLED);
579 writeBoolParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_ENABLED, enabled);
596 x = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_X);
597 y = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_Y);
598 width = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_WIDTH);
599 height = readIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_HEIGHT);
616 writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_X, x);
617 writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_Y, y);
618 writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_WIDTH, width);
619 writeIntParameter(internal::StandardParameterIDs::AUTO_EXPOSURE_ROI_HEIGHT, height);
631 return readIntParameter(internal::StandardParameterIDs::MAX_FRAME_TIME_DIFFERENCE_MS);
641 writeIntParameter(internal::StandardParameterIDs::MAX_FRAME_TIME_DIFFERENCE_MS, diffMs);
649 return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_FREQUENCY);
657 writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_FREQUENCY, freq);
664 return readBoolParameter(internal::StandardParameterIDs::TRIGGER_0_ENABLED);
671 writeBoolParameter(internal::StandardParameterIDs::TRIGGER_0_ENABLED, enabled);
678 return readBoolParameter(internal::StandardParameterIDs::TRIGGER_0_CONSTANT);
685 writeBoolParameter(internal::StandardParameterIDs::TRIGGER_0_CONSTANT, on);
693 return readBoolParameter(internal::StandardParameterIDs::TRIGGER_0_POLARITY);
701 writeBoolParameter(internal::StandardParameterIDs::TRIGGER_0_POLARITY, invert);
708 return readBoolParameter(internal::StandardParameterIDs::TRIGGER_1_ENABLED);
715 writeBoolParameter(internal::StandardParameterIDs::TRIGGER_1_ENABLED, enabled);
722 return readBoolParameter(internal::StandardParameterIDs::TRIGGER_1_CONSTANT);
729 writeBoolParameter(internal::StandardParameterIDs::TRIGGER_1_CONSTANT, on);
737 return readBoolParameter(internal::StandardParameterIDs::TRIGGER_1_POLARITY);
745 writeBoolParameter(internal::StandardParameterIDs::TRIGGER_1_POLARITY, invert);
757 case 0:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0_PULSE_WIDTH);
758 case 1:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0B_PULSE_WIDTH);
759 case 2:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0C_PULSE_WIDTH);
760 case 3:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0D_PULSE_WIDTH);
761 case 4:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0E_PULSE_WIDTH);
762 case 5:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0F_PULSE_WIDTH);
763 case 6:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0G_PULSE_WIDTH);
764 case 7:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_0H_PULSE_WIDTH);
778 case 0: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0_PULSE_WIDTH, width);
break;
779 case 1: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0B_PULSE_WIDTH, width);
break;
780 case 2: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0C_PULSE_WIDTH, width);
break;
781 case 3: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0D_PULSE_WIDTH, width);
break;
782 case 4: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0E_PULSE_WIDTH, width);
break;
783 case 5: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0F_PULSE_WIDTH, width);
break;
784 case 6: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0G_PULSE_WIDTH, width);
break;
785 case 7: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_0H_PULSE_WIDTH, width);
break;
799 case 0:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_PULSE_WIDTH);
800 case 1:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1B_PULSE_WIDTH);
801 case 2:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1C_PULSE_WIDTH);
802 case 3:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1D_PULSE_WIDTH);
803 case 4:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1E_PULSE_WIDTH);
804 case 5:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1F_PULSE_WIDTH);
805 case 6:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1G_PULSE_WIDTH);
806 case 7:
return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1H_PULSE_WIDTH);
820 case 0: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_PULSE_WIDTH, width);
break;
821 case 1: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1B_PULSE_WIDTH, width);
break;
822 case 2: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1C_PULSE_WIDTH, width);
break;
823 case 3: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1D_PULSE_WIDTH, width);
break;
824 case 4: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1E_PULSE_WIDTH, width);
break;
825 case 5: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1F_PULSE_WIDTH, width);
break;
826 case 6: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1G_PULSE_WIDTH, width);
break;
827 case 7: writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1H_PULSE_WIDTH, width);
break;
837 return readDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_OFFSET);
845 writeDoubleParameter(internal::StandardParameterIDs::TRIGGER_1_OFFSET, offset);
852 return readBoolParameter(internal::StandardParameterIDs::TRIGGER_INPUT);
859 writeBoolParameter(internal::StandardParameterIDs::TRIGGER_INPUT, enabled);
869 return readBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_ENABLED);
876 writeBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_ENABLED, enabled);
883 return readBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_PERMANENT);
890 writeBoolParameter(internal::StandardParameterIDs::AUTO_RECALIBRATION_PERMANENT, save);
898 return readBoolParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_ENABLED);
906 writeBoolParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_ENABLED, enabled);
923 x = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_X);
924 y = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_Y);
925 width = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_WIDTH);
926 height = readIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_HEIGHT);
943 writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_X, x);
944 writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_Y, y);
945 writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_WIDTH, width);
946 writeIntParameter(internal::StandardParameterIDs::SUBPIXEL_OPTIMIZATION_ROI_HEIGHT, height);
953 writeBoolParameter(internal::StandardParameterIDs::REBOOT,
true);
960 std::map<std::string, ParameterInfo> getAllParameters();
966 void setNamedParameter(
const std::string& name, T value);
972 T getNamedParameter(
const std::string& name);
984 int readIntParameter(
int id);
985 double readDoubleParameter(
int id);
986 bool readBoolParameter(
int id);
989 void writeIntParameter(
int id,
int value);
990 void writeDoubleParameter(
int id,
double value);
991 void writeBoolParameter(
int id,
bool value);
995 #ifndef DOXYGEN_SHOULD_SKIP_THIS 997 DEPRECATED(
"Use DeviceParameters instead.")
void setTrigger0Constant(bool on)
Sets the constant value that is output when trigger 0 is disabled.
void setTrigger1Enabled(bool enabled)
Enables or disables trigger signal 1.
int getAutoSkippedFrames()
Gets the current interval at which the automatic exposure and gain control is run.
bool getTextureFilterEnabled()
Returns true if the texture filter is enabled.
double getTrigger1PulseWidth(int pulse=0)
Gets the pulse width of trigger signal 1.
void setAutoTargetFrame(TargetFrame target)
Selects the target frame for automatic exposure and gain control.
void setMaskBorderPixelsEnabled(bool enabled)
Enables or disables the removal of border pixels from the computed disparity map. ...
void setAutoROI(int x, int y, int width, int height)
Sets the configured ROI for automatic exposure and gain control.
bool getTrigger1Polarity()
Returns false if trigger1 polarity is active-high (non-inverted) and false if polarity is active-low ...
int getConsistencyCheckSensitivity()
Gets the current sensitivity value for the consistency check.
bool getTrigger1Enabled()
Returns true if trigger signal 1 is enabled.
void setAutoMaxExposureTime(double time)
Sets the maximum exposure time that can be selected automatically.
TargetFrame
Possible options for the target frame selection of the automatic exposure and gain control...
double getAutoIntensityDelta()
Gets the minimum intensity change that is required for adjusting the camera settings.
TargetFrame getAutoTargetFrame()
Gets the selected target frame for automatic exposure and gain control.
int getStereoMatchingP2NoEdge()
Gets the SGM penalty P2 for large disparity changes at image edges.
bool getMaskBorderPixelsEnabled()
Returns true if border pixels are removed from the computed disparity map.
int getSpeckleFilterIterations()
Returns true if the speckle filter is enabled.
void setAutoTargetIntensity(double intensity)
Sets the target image intensity of the automatic exposure and gain control.
void setAutoIntensityDelta(double delta)
Sets the minimum intensity change that is required for adjusting the camera settings.
void setAutoROIEnabled(bool enabled)
Enables or disables an ROI for automatic exposure and gain control.
void setDisparityOffset(int offset)
Sets the offset of the evaluated disparity range.
void setTrigger0Polarity(bool invert)
Sets the polarity for trigger0. If invert is false, the polarity is active-high (non-inverted). Otherwise the polarity is active-low (inverted).
double getAutoMaxGain()
Gets the maximum gain that can be selected automatically.
void setTrigger1Polarity(bool invert)
Sets the polarity for trigger1. If invert is false, the polarity is active-high (non-inverted). Otherwise the polarity is active-low (inverted).
OperationMode getOperationMode()
Gets the current operation mode.
void reboot()
Remotely triggers a reboot of the device.
void setConsistencyCheckEnabled(bool enabled)
Enables or disables the consistency check.
void setAutoRecalibrationEnabled(bool enabled)
Enables or disables auto-recalibration.
void setOperationMode(OperationMode mode)
Configures the device to a new operation mode.
void setStereoMatchingEdgeSensitivity(int sensitivity)
Sets the edge sensitivity of the SGM algorithm.
double getTrigger0PulseWidth(int pulse=0)
Gets the pulse width of trigger signal 0.
void setTrigger1Constant(bool on)
Sets the constant value that is output when trigger 1 is disabled.
void setTrigger0Enabled(bool enabled)
Enables or disables trigger signal 0.
void setTrigger0PulseWidth(double width, int pulse=0)
Sets the pulse width of trigger signal 0.
bool getTrigger0Polarity()
Returns false if trigger0 polarity is active-high (non-inverted) and false if polarity is active-low ...
void setSubpixelOptimizationROIEnabled(bool enabled)
Enables or disables an ROI for the subpixel optimization algorithm. (if disabled, complete frames are...
void setGapInterpolationEnabled(bool enabled)
Enables or disables the gap interpolation.
int getStereoMatchingEdgeSensitivity()
Gets the edge sensitivity of the SGM algorithm.
double getAutoMaxExposureTime()
Gets the maximum exposure time that can be selected automatically.
double getTriggerFrequency()
Gets the frequency of the trigger signal.
void getAutoROI(int &x, int &y, int &width, int &height)
Gets the configured ROI for automatic exposure and gain control.
bool getSubpixelOptimizationROIEnabled()
Returns true if an ROI for the subpixel optimization algorithm is enabled (otherwise complete frames ...
bool getAutoROIEnabled()
Returns true if an ROI for automatic exposure and gain control is enabled.
void setConsistencyCheckSensitivity(int sensitivity)
Sets a new sensitivity value for the consistency check.
double getTrigger1Offset()
Gets the time offset between trigger signal 1 and signal 0.
bool getUniquenessCheckEnabled()
Returns true if the consistency check is enabled.
bool getInput()
Returns true if the extgernal trigger input is enabled.
void setTriggerFrequency(double freq)
Sets the frequency of the trigger signal.
double getManualGain()
Gets the manually selected gain.
void setSpeckleFilterIterations(int iter)
Enables or disables the speckle filter.
void setSubpixelOptimizationROI(int x, int y, int width, int height)
Sets the configured ROI for the subpixel optimization algorithm.
void setStereoMatchingP1Edge(int p1)
Sets the SGM penalty P1 for small disparity changes at image edges.
void getSubpixelOptimizationROI(int &x, int &y, int &width, int &height)
Gets the configured ROI for the subpixel optimization algorithm.
double getAutoTargetIntensity()
Gets the target image intensity of the automatic exposure and gain control.
void setStereoMatchingP2Edge(int p2)
Sets the SGM penalty P2 for large disparity changes at image edges.
int getMaxFrameTimeDifference()
Gets the maximum allowed time difference between two corresponding frames.
void setTextureFilterSensitivity(int sensitivity)
Sets a new sensitivity value for the texture filter.
int getUniquenessCheckSensitivity()
Gets the current sensitivity value for the uniqueness check.
bool getTrigger0Constant()
Returns the constant value that is output when trigger 0 is disabled.
void setNoiseReductionEnabled(bool enabled)
Enables or disables the noise reduction filter.
Aggregates information about a discovered device.
Allows for configuration of the parameters of a Nerian stereo device through a network connection...
int getTextureFilterSensitivity()
Gets the current sensitivity value for the texture filter.
void setStereoMatchingP2NoEdge(int p2)
Sets the SGM penalty P2 for large disparity changes at image edges.
void setTrigger1PulseWidth(double width, int pulse=0)
Sets the pulse width of trigger signal 1.
void setTrigger1Offset(bool enabled)
Enables or disables the external trigger input.
bool getAutoRecalibrationEnabled()
Returns true if auto re-calibration is enabled.
void setAutoSkippedFrames(int skipped)
Sets the current interval at which the automatic exposure and gain control is run.
void setSaveAutoRecalibration(bool save)
Enables or disables persistent storage of auto re-calibration results.
int getStereoMatchingP1NoEdge()
Gets the SGM penalty P1 for small disparity changes outside image edges.
void setManualExposureTime(double time)
Sets the manually selected exposure time.
int getStereoMatchingP2Edge()
Gets the SGM penalty P2 for large disparity changes at image edges.
int getStereoMatchingP1Edge()
Gets the SGM penalty P1 for small disparity changes at image edges.
void setUniquenessCheckEnabled(bool enabled)
Enables or disables the uniqueness check.
int getDisparityOffset()
Gets the current offset of the evaluated disparity range.
void setUniquenessCheckSensitivity(int sensitivity)
Sets a new sensitivity value for the uniqueness check.
AutoMode getAutoMode()
Gets the current mode of the automatic exposure and gain control.
void setTrigger1Offset(double offset)
Sets the time offset between trigger signal 1 and signal 0.
bool getSaveAutoRecalibration()
Returns true if persistent storage of auto re-calibration results is enabled.
void setAutoMaxGain(double gain)
Gets the maximum gain that can be selected automatically.
void setTextureFilterEnabled(bool enabled)
Enables or disables the texture filter.
double getManualExposureTime()
Gets the manually selected exposure time.
bool getTrigger1Constant()
Returns the constant value that is output when trigger 1 is disabled.
bool getConsistencyCheckEnabled()
Returns true if the consistency check is enabled.
bool getTrigger0Enabled()
Returns true if trigger signal 0 is enabled.
void setStereoMatchingP1NoEdge(int p1)
Sets the SGM penalty P1 for small disparity changes outside image edges.
AutoMode
Possible modes of the automatic exposure and gain control.
bool getNoiseReductionEnabled()
Returns true if the noise reduction filter is enabled.
void setMaxFrameTimeDifference(int diffMs)
Sets the maximum allowed time difference between two corresponding frames.
bool getGapInterpolationEnabled()
Returns true if the texture gap interpolation is enabled.
void setAutoMode(AutoMode mode)
Sets the current mode of the automatic exposure and gain control.
void setManualGain(double gain)
Sets the manually selected gain.
OperationMode
Operation modes supported by Nerian stereo devices.