SenShaMart/demo/camera_client/dependencies/libvisiontransfer/visiontransfer/standardparameterids.cpp
2023-07-13 11:32:02 +10:00

102 lines
4.8 KiB
C++

#include <visiontransfer/standardparameterids.h>
namespace visiontransfer {
namespace internal {
/// Return the ID for a string configuration key (reverse lookup), or UNDEFINED if unknown
StandardParameterIDs::ParameterID StandardParameterIDs::getParameterIDForName(const std::string& name)
{
static std::map<std::string, StandardParameterIDs::ParameterID> lookup;
if (!lookup.size()) {
std::map<std::string, StandardParameterIDs::ParameterID> m;
for (const auto& kv: StandardParameterIDs::parameterNameByID) {
m[kv.second] = kv.first;
}
lookup = m;
}
auto it = lookup.find(name);
if (it==lookup.end()) return StandardParameterIDs::ParameterID::UNDEFINED;
return it->second;
}
const std::map<StandardParameterIDs::ParameterID, std::string>
StandardParameterIDs::parameterNameByID {
// Processing settings
{OPERATION_MODE, "operation_mode"},
{NUMBER_OF_DISPARITIES, "number_of_disparities"},
{DISPARITY_OFFSET, "disparity_offset"},
{MAX_NUMBER_OF_IMAGES, "max_number_of_images"},
// Algorithmic settings
{SGM_P1_EDGE, "sgm_p1_edge"},
{SGM_P2_EDGE, "sgm_p2_edge"},
{SGM_P1_NO_EDGE, "sgm_p1_no_edge"},
{SGM_P2_NO_EDGE, "sgm_p2_no_edge"},
{SGM_EDGE_SENSITIVITY, "sgm_edge_sensitivity"},
{MASK_BORDER_PIXELS_ENABLED, "mask_border_pixels_enabled"},
{CONSISTENCY_CHECK_ENABLED, "consistency_check_enabled"},
{CONSISTENCY_CHECK_SENSITIVITY, "consistency_check_sensitivity"},
{UNIQUENESS_CHECK_ENABLED, "uniqueness_check_enabled"},
{UNIQUENESS_CHECK_SENSITIVITY, "uniqueness_check_sensitivity"},
{TEXTURE_FILTER_ENABLED, "texture_filter_enabled"},
{TEXTURE_FILTER_SENSITIVITY, "texture_filter_sensitivity"},
{GAP_INTERPOLATION_ENABLED, "gap_interpolation_enabled"},
{NOISE_REDUCTION_ENABLED, "noise_reduction_enabled"},
{SPECKLE_FILTER_ITERATIONS, "speckle_filter_iterations"},
{SUBPIXEL_OPTIMIZATION_ROI_ENABLED, "subpixel_optimization_roi_enabled"},
{SUBPIXEL_OPTIMIZATION_ROI_X, "subpixel_optimization_roi_x"},
{SUBPIXEL_OPTIMIZATION_ROI_Y, "subpixel_optimization_roi_y"},
{SUBPIXEL_OPTIMIZATION_ROI_WIDTH, "subpixel_optimization_roi_width"},
{SUBPIXEL_OPTIMIZATION_ROI_HEIGHT, "subpixel_optimization_roi_height"},
// Exposure settings
{AUTO_EXPOSURE_MODE, "auto_exposure_mode"},
{AUTO_TARGET_INTENSITY, "auto_target_intensity"},
{AUTO_INTENSITY_DELTA, "auto_intensity_delta"},
{AUTO_TARGET_FRAME, "auto_target_frame"},
{AUTO_SKIPPED_FRAMES, "auto_skipped_frames"},
{AUTO_MAXIMUM_EXPOSURE_TIME, "auto_maximum_exposure_time"},
{AUTO_MAXIMUM_GAIN, "auto_maximum_gain"},
{MANUAL_EXPOSURE_TIME, "manual_exposure_time"},
{MANUAL_GAIN, "manual_gain"},
{AUTO_EXPOSURE_ROI_ENABLED, "auto_exposure_roi_enabled"},
{AUTO_EXPOSURE_ROI_X, "auto_exposure_roi_x"},
{AUTO_EXPOSURE_ROI_Y, "auto_exposure_roi_y"},
{AUTO_EXPOSURE_ROI_WIDTH, "auto_exposure_roi_width"},
{AUTO_EXPOSURE_ROI_HEIGHT, "auto_exposure_roi_height"},
// Trigger / Pairing
{MAX_FRAME_TIME_DIFFERENCE_MS, "max_frame_time_difference_ms"},
{TRIGGER_FREQUENCY, "trigger_frequency"},
{TRIGGER_0_ENABLED, "trigger_0_enabled"},
{TRIGGER_0_PULSE_WIDTH, "trigger_0_pulse_width"},
{TRIGGER_1_ENABLED, "trigger_1_enabled"},
{TRIGGER_1_PULSE_WIDTH, "trigger_1_pulse_width"},
{TRIGGER_1_OFFSET, "trigger_1_offset"},
{TRIGGER_0B_PULSE_WIDTH, "trigger_0b_pulse_width"},
{TRIGGER_0C_PULSE_WIDTH, "trigger_0c_pulse_width"},
{TRIGGER_0D_PULSE_WIDTH, "trigger_0d_pulse_width"},
{TRIGGER_1B_PULSE_WIDTH, "trigger_1b_pulse_width"},
{TRIGGER_1C_PULSE_WIDTH, "trigger_1c_pulse_width"},
{TRIGGER_1D_PULSE_WIDTH, "trigger_1d_pulse_width"},
{TRIGGER_0_POLARITY, "trigger_0_polarity"},
{TRIGGER_1_POLARITY, "trigger_1_polarity"},
{TRIGGER_0E_PULSE_WIDTH, "trigger_0e_pulse_width"},
{TRIGGER_0F_PULSE_WIDTH, "trigger_0f_pulse_width"},
{TRIGGER_0G_PULSE_WIDTH, "trigger_0g_pulse_width"},
{TRIGGER_0H_PULSE_WIDTH, "trigger_0h_pulse_width"},
{TRIGGER_1E_PULSE_WIDTH, "trigger_1e_pulse_width"},
{TRIGGER_1F_PULSE_WIDTH, "trigger_1f_pulse_width"},
{TRIGGER_1G_PULSE_WIDTH, "trigger_1g_pulse_width"},
{TRIGGER_1H_PULSE_WIDTH, "trigger_1h_pulse_width"},
{TRIGGER_0_CONSTANT, "trigger_0_constant"},
{TRIGGER_1_CONSTANT, "trigger_0_constant"},
{TRIGGER_INPUT, "trigger_input"},
// Auto Re-calibration
{AUTO_RECALIBRATION_ENABLED, "auto_recalibration_enabled"},
{AUTO_RECALIBRATION_PERMANENT, "auto_recalibration_permanent"},
// System settings
{REBOOT, "reboot"},
{PPS_SYNC, "pps_sync"},
};
}} // namespace