28#define PEAK_AFL_EXPORT
29#undef PEAK_AFL_CALLCONV
30#define PEAK_AFL_CALLCONV
39typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Init)(void );
40typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Exit)(void );
41typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetLastError)(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize);
42typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetVersion)(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
43typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Create)(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle);
47typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Process)(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle);
49typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_DestroyAllController)(
peak_afl_manager_handle handle);
51typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_SetGainIPL)(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle);
56typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Set)(
peak_afl_controller_handle controller, uint32_t count);
57typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Get)(
peak_afl_controller_handle controller, uint32_t * count);
58typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
80typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverage)(
peak_afl_controller_handle controller, uint8_t * average);
81typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverages)(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue);
83typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Set)(
peak_afl_controller_handle controller, uint32_t target);
84typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Get)(
peak_afl_controller_handle controller, uint32_t * target);
85typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
87typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Set)(
peak_afl_controller_handle controller, uint32_t tolerance);
88typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Get)(
peak_afl_controller_handle controller, uint32_t * tolerance);
89typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
91typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Set)(
peak_afl_controller_handle controller,
double percentile);
92typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Get)(
peak_afl_controller_handle controller,
double * percentile);
93typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_GetRange)(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc);
113typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Default)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
114typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Set)(
peak_afl_controller_handle controller, uint8_t hysteresis);
115typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Get)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
116typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_GetRange)(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc);
140 static DynamicLoader& instance()
142 static DynamicLoader dynamicLoader{};
143 return dynamicLoader;
145 bool loadLib(
const char* file);
147 bool setPointers(
bool load);
152 static bool isLoaded();
157 static PEAK_AFL_API_STATUS
peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
250 void* m_handle =
nullptr;
251 dyn_peak_afl_Init m_peak_afl_Init{};
252 dyn_peak_afl_Exit m_peak_afl_Exit{};
253 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
254 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
255 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
256 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
257 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
258 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
259 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
260 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
261 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
262 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
263 dyn_peak_afl_AutoFeatureManager_SetGainIPL m_peak_afl_AutoFeatureManager_SetGainIPL{};
264 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
265 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
266 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
267 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
268 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
269 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
270 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
271 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
272 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
273 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
274 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
275 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
276 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
277 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
278 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
279 dyn_peak_afl_AutoController_BrightnessAlgorithm_Set m_peak_afl_AutoController_BrightnessAlgorithm_Set{};
280 dyn_peak_afl_AutoController_BrightnessAlgorithm_Get m_peak_afl_AutoController_BrightnessAlgorithm_Get{};
281 dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported{};
282 dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported{};
283 dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported{};
284 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set m_peak_afl_AutoController_BrightnessComponent_Mode_Set{};
285 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get m_peak_afl_AutoController_BrightnessComponent_Mode_Get{};
286 dyn_peak_afl_AutoController_BrightnessComponent_Status m_peak_afl_AutoController_BrightnessComponent_Status{};
287 dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set m_peak_afl_AutoController_BrightnessComponent_Callback_Set{};
288 dyn_peak_afl_AutoController_ExposureLimit_IsSupported m_peak_afl_AutoController_ExposureLimit_IsSupported{};
289 dyn_peak_afl_AutoController_ExposureLimit_Set m_peak_afl_AutoController_ExposureLimit_Set{};
290 dyn_peak_afl_AutoController_ExposureLimit_Get m_peak_afl_AutoController_ExposureLimit_Get{};
291 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
292 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
293 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
294 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
295 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
296 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
297 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
298 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
299 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
300 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
301 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
302 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
303 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
304 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
305 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
306 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
307 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
308 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
309 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
310 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
311 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
312 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
313 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
314 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
315 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
316 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
317 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
318 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
319 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
320 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
321 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
322 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
323 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
324 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
325 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
326 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
327 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
328 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
329 dyn_peak_afl_AutoController_GainLimit_IsSupported m_peak_afl_AutoController_GainLimit_IsSupported{};
330 dyn_peak_afl_AutoController_GainLimit_Set m_peak_afl_AutoController_GainLimit_Set{};
331 dyn_peak_afl_AutoController_GainLimit_Get m_peak_afl_AutoController_GainLimit_Get{};
332 dyn_peak_afl_AutoController_GainLimit_GetRange m_peak_afl_AutoController_GainLimit_GetRange{};
333 dyn_peak_afl_AutoController_GainAnalogLimit_Set m_peak_afl_AutoController_GainAnalogLimit_Set{};
334 dyn_peak_afl_AutoController_GainAnalogLimit_Get m_peak_afl_AutoController_GainAnalogLimit_Get{};
335 dyn_peak_afl_AutoController_GainAnalogLimit_GetRange m_peak_afl_AutoController_GainAnalogLimit_GetRange{};
336 dyn_peak_afl_AutoController_GainDigitalLimit_Set m_peak_afl_AutoController_GainDigitalLimit_Set{};
337 dyn_peak_afl_AutoController_GainDigitalLimit_Get m_peak_afl_AutoController_GainDigitalLimit_Get{};
338 dyn_peak_afl_AutoController_GainDigitalLimit_GetRange m_peak_afl_AutoController_GainDigitalLimit_GetRange{};
339 dyn_peak_afl_AutoController_GainCombinedLimit_Set m_peak_afl_AutoController_GainCombinedLimit_Set{};
340 dyn_peak_afl_AutoController_GainCombinedLimit_Get m_peak_afl_AutoController_GainCombinedLimit_Get{};
341 dyn_peak_afl_AutoController_GainCombinedLimit_GetRange m_peak_afl_AutoController_GainCombinedLimit_GetRange{};
342 dyn_peak_afl_AutoController_GainHostLimit_Set m_peak_afl_AutoController_GainHostLimit_Set{};
343 dyn_peak_afl_AutoController_GainHostLimit_Get m_peak_afl_AutoController_GainHostLimit_Get{};
344 dyn_peak_afl_AutoController_GainHostLimit_GetRange m_peak_afl_AutoController_GainHostLimit_GetRange{};
348inline void* import_function(
void *module,
const char* proc_name)
351 return dlsym(module, proc_name);
353 return reinterpret_cast<void*
>(GetProcAddress(
static_cast<HMODULE
>(module), proc_name));
357inline DynamicLoader::DynamicLoader()
359#if defined _WIN32 || defined _WIN64
361 if (_wgetenv_s(&sz, NULL, 0, L
"IDS_VISION_GENERIC_SDK_PATH") == 0
364 std::vector<wchar_t> env_ids_peak_afl(sz);
365 if (_wgetenv_s(&sz, env_ids_peak_afl.data(), sz, L
"IDS_VISION_GENERIC_SDK_PATH") == 0)
367 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
370 std::vector<wchar_t> env_path(sz);
371 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
373 std::wstring ids_peak_afl_path(env_ids_peak_afl.data());
375 ids_peak_afl_path.append(L
"\\libautofeature\\lib\\x86_64");
377 ids_peak_afl_path.append(L
"\\libautofeature\\lib\\x86_32");
379 AddDllDirectory(ids_peak_afl_path.c_str());
385 loadLib(
"ids_peak_afl.dll");
387 loadLib(
"libids_peak_afl.so");
391inline DynamicLoader::~DynamicLoader()
393 if(m_handle !=
nullptr)
399inline bool DynamicLoader::isLoaded()
401 auto&& inst = instance();
402 return inst.m_handle !=
nullptr;
405inline void DynamicLoader::unload()
409 if (m_handle !=
nullptr)
414 FreeLibrary(
static_cast<HMODULE
>(m_handle));
421inline bool DynamicLoader::loadLib(
const char* file)
428 m_handle = dlopen(file, RTLD_NOW);
430 m_handle = LoadLibraryExA(file,
nullptr, LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
432 if (m_handle !=
nullptr)
437 }
catch (
const std::exception&) {
444 throw std::runtime_error(std::string(
"Lib load failed: ") + file);
449 throw std::runtime_error(
"Filename empty");
455inline bool DynamicLoader::setPointers(
bool load)
458 m_peak_afl_Init = (dyn_peak_afl_Init) (load ? import_function(m_handle,
"peak_afl_Init") :
nullptr);
459 if(m_peak_afl_Init ==
nullptr && load)
461 throw std::runtime_error(
"Failed to load peak_afl_Init");
464 m_peak_afl_Exit = (dyn_peak_afl_Exit) (load ? import_function(m_handle,
"peak_afl_Exit") :
nullptr);
465 if(m_peak_afl_Exit ==
nullptr && load)
467 throw std::runtime_error(
"Failed to load peak_afl_Exit");
470 m_peak_afl_GetLastError = (dyn_peak_afl_GetLastError) (load ? import_function(m_handle,
"peak_afl_GetLastError") :
nullptr);
471 if(m_peak_afl_GetLastError ==
nullptr && load)
473 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
476 m_peak_afl_GetVersion = (dyn_peak_afl_GetVersion) (load ? import_function(m_handle,
"peak_afl_GetVersion") :
nullptr);
477 if(m_peak_afl_GetVersion ==
nullptr && load)
479 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
482 m_peak_afl_AutoFeatureManager_Create = (dyn_peak_afl_AutoFeatureManager_Create) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") :
nullptr);
483 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
485 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
488 m_peak_afl_AutoFeatureManager_Destroy = (dyn_peak_afl_AutoFeatureManager_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") :
nullptr);
489 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
491 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
494 m_peak_afl_AutoFeatureManager_AddController = (dyn_peak_afl_AutoFeatureManager_AddController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") :
nullptr);
495 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
497 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
500 m_peak_afl_AutoFeatureManager_RemoveController = (dyn_peak_afl_AutoFeatureManager_RemoveController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") :
nullptr);
501 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
503 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
506 m_peak_afl_AutoFeatureManager_Process = (dyn_peak_afl_AutoFeatureManager_Process) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") :
nullptr);
507 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
509 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
512 m_peak_afl_AutoFeatureManager_CreateController = (dyn_peak_afl_AutoFeatureManager_CreateController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") :
nullptr);
513 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
515 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
518 m_peak_afl_AutoFeatureManager_DestroyAllController = (dyn_peak_afl_AutoFeatureManager_DestroyAllController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") :
nullptr);
519 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
521 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
524 m_peak_afl_AutoFeatureManager_DestroyController = (dyn_peak_afl_AutoFeatureManager_DestroyController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") :
nullptr);
525 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
527 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
530 m_peak_afl_AutoFeatureManager_SetGainIPL = (dyn_peak_afl_AutoFeatureManager_SetGainIPL) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetGainIPL") :
nullptr);
531 if(m_peak_afl_AutoFeatureManager_SetGainIPL ==
nullptr && load)
533 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetGainIPL");
536 m_peak_afl_AutoFeatureManager_Status = (dyn_peak_afl_AutoFeatureManager_Status) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") :
nullptr);
537 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
539 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
542 m_peak_afl_AutoController_Create = (dyn_peak_afl_AutoController_Create) (load ? import_function(m_handle,
"peak_afl_AutoController_Create") :
nullptr);
543 if(m_peak_afl_AutoController_Create ==
nullptr && load)
545 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
548 m_peak_afl_AutoController_Destroy = (dyn_peak_afl_AutoController_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") :
nullptr);
549 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
551 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
554 m_peak_afl_AutoController_SkipFrames_IsSupported = (dyn_peak_afl_AutoController_SkipFrames_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_IsSupported") :
nullptr);
555 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
557 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
560 m_peak_afl_AutoController_SkipFrames_Set = (dyn_peak_afl_AutoController_SkipFrames_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Set") :
nullptr);
561 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
563 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
566 m_peak_afl_AutoController_SkipFrames_Get = (dyn_peak_afl_AutoController_SkipFrames_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Get") :
nullptr);
567 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
569 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
572 m_peak_afl_AutoController_SkipFrames_GetRange = (dyn_peak_afl_AutoController_SkipFrames_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_GetRange") :
nullptr);
573 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
575 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
578 m_peak_afl_AutoController_ROI_IsSupported = (dyn_peak_afl_AutoController_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_IsSupported") :
nullptr);
579 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
581 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
584 m_peak_afl_AutoController_ROI_Set = (dyn_peak_afl_AutoController_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Set") :
nullptr);
585 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
587 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
590 m_peak_afl_AutoController_ROI_Get = (dyn_peak_afl_AutoController_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Get") :
nullptr);
591 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
593 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
596 m_peak_afl_AutoController_ROI_Preset_IsSupported = (dyn_peak_afl_AutoController_ROI_Preset_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_IsSupported") :
nullptr);
597 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
599 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
602 m_peak_afl_AutoController_ROI_Preset_Set = (dyn_peak_afl_AutoController_ROI_Preset_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Preset_Set") :
nullptr);
603 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
605 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
608 m_peak_afl_AutoController_Mode_IsSupported = (dyn_peak_afl_AutoController_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_IsSupported") :
nullptr);
609 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
611 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
614 m_peak_afl_AutoController_Mode_Set = (dyn_peak_afl_AutoController_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Set") :
nullptr);
615 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
617 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
620 m_peak_afl_AutoController_Mode_Get = (dyn_peak_afl_AutoController_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Get") :
nullptr);
621 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
623 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
626 m_peak_afl_AutoController_BrightnessAlgorithm_Set = (dyn_peak_afl_AutoController_BrightnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Set") :
nullptr);
627 if(m_peak_afl_AutoController_BrightnessAlgorithm_Set ==
nullptr && load)
629 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Set");
632 m_peak_afl_AutoController_BrightnessAlgorithm_Get = (dyn_peak_afl_AutoController_BrightnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_Get") :
nullptr);
633 if(m_peak_afl_AutoController_BrightnessAlgorithm_Get ==
nullptr && load)
635 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_Get");
638 m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_BrightnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessAlgorithm_IsSupported") :
nullptr);
639 if(m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported ==
nullptr && load)
641 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessAlgorithm_IsSupported");
644 m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_IsSupported") :
nullptr);
645 if(m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported ==
nullptr && load)
647 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_IsSupported");
650 m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported = (dyn_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Unit_IsSupported") :
nullptr);
651 if(m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported ==
nullptr && load)
653 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Unit_IsSupported");
656 m_peak_afl_AutoController_BrightnessComponent_Mode_Set = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Set") :
nullptr);
657 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Set ==
nullptr && load)
659 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Set");
662 m_peak_afl_AutoController_BrightnessComponent_Mode_Get = (dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Mode_Get") :
nullptr);
663 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Get ==
nullptr && load)
665 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Get");
668 m_peak_afl_AutoController_BrightnessComponent_Status = (dyn_peak_afl_AutoController_BrightnessComponent_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Status") :
nullptr);
669 if(m_peak_afl_AutoController_BrightnessComponent_Status ==
nullptr && load)
671 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Status");
674 m_peak_afl_AutoController_BrightnessComponent_Callback_Set = (dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Callback_Set") :
nullptr);
675 if(m_peak_afl_AutoController_BrightnessComponent_Callback_Set ==
nullptr && load)
677 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Callback_Set");
680 m_peak_afl_AutoController_ExposureLimit_IsSupported = (dyn_peak_afl_AutoController_ExposureLimit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_IsSupported") :
nullptr);
681 if(m_peak_afl_AutoController_ExposureLimit_IsSupported ==
nullptr && load)
683 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_IsSupported");
686 m_peak_afl_AutoController_ExposureLimit_Set = (dyn_peak_afl_AutoController_ExposureLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Set") :
nullptr);
687 if(m_peak_afl_AutoController_ExposureLimit_Set ==
nullptr && load)
689 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Set");
692 m_peak_afl_AutoController_ExposureLimit_Get = (dyn_peak_afl_AutoController_ExposureLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ExposureLimit_Get") :
nullptr);
693 if(m_peak_afl_AutoController_ExposureLimit_Get ==
nullptr && load)
695 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ExposureLimit_Get");
698 m_peak_afl_AutoController_Status = (dyn_peak_afl_AutoController_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_Status") :
nullptr);
699 if(m_peak_afl_AutoController_Status ==
nullptr && load)
701 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
704 m_peak_afl_AutoController_GetLastAutoAverage = (dyn_peak_afl_AutoController_GetLastAutoAverage) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") :
nullptr);
705 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
707 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
710 m_peak_afl_AutoController_GetLastAutoAverages = (dyn_peak_afl_AutoController_GetLastAutoAverages) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") :
nullptr);
711 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
713 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
716 m_peak_afl_AutoController_AutoTarget_IsSupported = (dyn_peak_afl_AutoController_AutoTarget_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_IsSupported") :
nullptr);
717 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
719 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
722 m_peak_afl_AutoController_AutoTarget_Set = (dyn_peak_afl_AutoController_AutoTarget_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Set") :
nullptr);
723 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
725 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
728 m_peak_afl_AutoController_AutoTarget_Get = (dyn_peak_afl_AutoController_AutoTarget_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Get") :
nullptr);
729 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
731 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
734 m_peak_afl_AutoController_AutoTarget_GetRange = (dyn_peak_afl_AutoController_AutoTarget_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_GetRange") :
nullptr);
735 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
737 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
740 m_peak_afl_AutoController_AutoTolerance_IsSupported = (dyn_peak_afl_AutoController_AutoTolerance_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_IsSupported") :
nullptr);
741 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
743 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
746 m_peak_afl_AutoController_AutoTolerance_Set = (dyn_peak_afl_AutoController_AutoTolerance_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Set") :
nullptr);
747 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
749 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
752 m_peak_afl_AutoController_AutoTolerance_Get = (dyn_peak_afl_AutoController_AutoTolerance_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Get") :
nullptr);
753 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
755 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
758 m_peak_afl_AutoController_AutoTolerance_GetRange = (dyn_peak_afl_AutoController_AutoTolerance_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_GetRange") :
nullptr);
759 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
761 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
764 m_peak_afl_AutoController_AutoPercentile_IsSupported = (dyn_peak_afl_AutoController_AutoPercentile_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_IsSupported") :
nullptr);
765 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
767 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
770 m_peak_afl_AutoController_AutoPercentile_Set = (dyn_peak_afl_AutoController_AutoPercentile_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Set") :
nullptr);
771 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
773 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
776 m_peak_afl_AutoController_AutoPercentile_Get = (dyn_peak_afl_AutoController_AutoPercentile_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Get") :
nullptr);
777 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
779 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
782 m_peak_afl_AutoController_AutoPercentile_GetRange = (dyn_peak_afl_AutoController_AutoPercentile_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_GetRange") :
nullptr);
783 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
785 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
788 m_peak_afl_AutoController_Type_Get = (dyn_peak_afl_AutoController_Type_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Type_Get") :
nullptr);
789 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
791 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
794 m_peak_afl_AutoController_Algorithm_IsSupported = (dyn_peak_afl_AutoController_Algorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_IsSupported") :
nullptr);
795 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
797 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
800 m_peak_afl_AutoController_Algorithm_Set = (dyn_peak_afl_AutoController_Algorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Set") :
nullptr);
801 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
803 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
806 m_peak_afl_AutoController_Algorithm_Get = (dyn_peak_afl_AutoController_Algorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Get") :
nullptr);
807 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
809 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
812 m_peak_afl_AutoController_Algorithm_GetList = (dyn_peak_afl_AutoController_Algorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_GetList") :
nullptr);
813 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
815 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
818 m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_IsSupported") :
nullptr);
819 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
821 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
824 m_peak_afl_AutoController_SharpnessAlgorithm_Set = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Set") :
nullptr);
825 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
827 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
830 m_peak_afl_AutoController_SharpnessAlgorithm_Get = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Get") :
nullptr);
831 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
833 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
836 m_peak_afl_AutoController_SharpnessAlgorithm_GetList = (dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_GetList") :
nullptr);
837 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
839 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
842 m_peak_afl_AutoController_Callback_Set = (dyn_peak_afl_AutoController_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Callback_Set") :
nullptr);
843 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
845 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
848 m_peak_afl_AutoController_Weighted_ROI_IsSupported = (dyn_peak_afl_AutoController_Weighted_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_IsSupported") :
nullptr);
849 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
851 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
854 m_peak_afl_AutoController_Weighted_ROI_Min_Size = (dyn_peak_afl_AutoController_Weighted_ROI_Min_Size) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Min_Size") :
nullptr);
855 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
857 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
860 m_peak_afl_AutoController_Weighted_ROI_Set = (dyn_peak_afl_AutoController_Weighted_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Set") :
nullptr);
861 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
863 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
866 m_peak_afl_AutoController_Weighted_ROI_Get = (dyn_peak_afl_AutoController_Weighted_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Weighted_ROI_Get") :
nullptr);
867 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
869 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
872 m_peak_afl_AutoController_Limit_IsSupported = (dyn_peak_afl_AutoController_Limit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_IsSupported") :
nullptr);
873 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
875 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
878 m_peak_afl_AutoController_Limit_Default = (dyn_peak_afl_AutoController_Limit_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Default") :
nullptr);
879 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
881 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
884 m_peak_afl_AutoController_Limit_Set = (dyn_peak_afl_AutoController_Limit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Set") :
nullptr);
885 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
887 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
890 m_peak_afl_AutoController_Limit_Get = (dyn_peak_afl_AutoController_Limit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Get") :
nullptr);
891 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
893 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
896 m_peak_afl_AutoController_Hysteresis_IsSupported = (dyn_peak_afl_AutoController_Hysteresis_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_IsSupported") :
nullptr);
897 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
899 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
902 m_peak_afl_AutoController_Hysteresis_Default = (dyn_peak_afl_AutoController_Hysteresis_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Default") :
nullptr);
903 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
905 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
908 m_peak_afl_AutoController_Hysteresis_Set = (dyn_peak_afl_AutoController_Hysteresis_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Set") :
nullptr);
909 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
911 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
914 m_peak_afl_AutoController_Hysteresis_Get = (dyn_peak_afl_AutoController_Hysteresis_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Get") :
nullptr);
915 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
917 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
920 m_peak_afl_AutoController_Hysteresis_GetRange = (dyn_peak_afl_AutoController_Hysteresis_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_GetRange") :
nullptr);
921 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
923 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
926 m_peak_afl_AutoController_GainLimit_IsSupported = (dyn_peak_afl_AutoController_GainLimit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_IsSupported") :
nullptr);
927 if(m_peak_afl_AutoController_GainLimit_IsSupported ==
nullptr && load)
929 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_IsSupported");
932 m_peak_afl_AutoController_GainLimit_Set = (dyn_peak_afl_AutoController_GainLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Set") :
nullptr);
933 if(m_peak_afl_AutoController_GainLimit_Set ==
nullptr && load)
935 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Set");
938 m_peak_afl_AutoController_GainLimit_Get = (dyn_peak_afl_AutoController_GainLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Get") :
nullptr);
939 if(m_peak_afl_AutoController_GainLimit_Get ==
nullptr && load)
941 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Get");
944 m_peak_afl_AutoController_GainLimit_GetRange = (dyn_peak_afl_AutoController_GainLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_GetRange") :
nullptr);
945 if(m_peak_afl_AutoController_GainLimit_GetRange ==
nullptr && load)
947 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_GetRange");
950 m_peak_afl_AutoController_GainAnalogLimit_Set = (dyn_peak_afl_AutoController_GainAnalogLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Set") :
nullptr);
951 if(m_peak_afl_AutoController_GainAnalogLimit_Set ==
nullptr && load)
953 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Set");
956 m_peak_afl_AutoController_GainAnalogLimit_Get = (dyn_peak_afl_AutoController_GainAnalogLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_Get") :
nullptr);
957 if(m_peak_afl_AutoController_GainAnalogLimit_Get ==
nullptr && load)
959 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_Get");
962 m_peak_afl_AutoController_GainAnalogLimit_GetRange = (dyn_peak_afl_AutoController_GainAnalogLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainAnalogLimit_GetRange") :
nullptr);
963 if(m_peak_afl_AutoController_GainAnalogLimit_GetRange ==
nullptr && load)
965 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainAnalogLimit_GetRange");
968 m_peak_afl_AutoController_GainDigitalLimit_Set = (dyn_peak_afl_AutoController_GainDigitalLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Set") :
nullptr);
969 if(m_peak_afl_AutoController_GainDigitalLimit_Set ==
nullptr && load)
971 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Set");
974 m_peak_afl_AutoController_GainDigitalLimit_Get = (dyn_peak_afl_AutoController_GainDigitalLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_Get") :
nullptr);
975 if(m_peak_afl_AutoController_GainDigitalLimit_Get ==
nullptr && load)
977 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_Get");
980 m_peak_afl_AutoController_GainDigitalLimit_GetRange = (dyn_peak_afl_AutoController_GainDigitalLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainDigitalLimit_GetRange") :
nullptr);
981 if(m_peak_afl_AutoController_GainDigitalLimit_GetRange ==
nullptr && load)
983 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainDigitalLimit_GetRange");
986 m_peak_afl_AutoController_GainCombinedLimit_Set = (dyn_peak_afl_AutoController_GainCombinedLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Set") :
nullptr);
987 if(m_peak_afl_AutoController_GainCombinedLimit_Set ==
nullptr && load)
989 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Set");
992 m_peak_afl_AutoController_GainCombinedLimit_Get = (dyn_peak_afl_AutoController_GainCombinedLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_Get") :
nullptr);
993 if(m_peak_afl_AutoController_GainCombinedLimit_Get ==
nullptr && load)
995 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_Get");
998 m_peak_afl_AutoController_GainCombinedLimit_GetRange = (dyn_peak_afl_AutoController_GainCombinedLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainCombinedLimit_GetRange") :
nullptr);
999 if(m_peak_afl_AutoController_GainCombinedLimit_GetRange ==
nullptr && load)
1001 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainCombinedLimit_GetRange");
1004 m_peak_afl_AutoController_GainHostLimit_Set = (dyn_peak_afl_AutoController_GainHostLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Set") :
nullptr);
1005 if(m_peak_afl_AutoController_GainHostLimit_Set ==
nullptr && load)
1007 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Set");
1010 m_peak_afl_AutoController_GainHostLimit_Get = (dyn_peak_afl_AutoController_GainHostLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_Get") :
nullptr);
1011 if(m_peak_afl_AutoController_GainHostLimit_Get ==
nullptr && load)
1013 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_Get");
1016 m_peak_afl_AutoController_GainHostLimit_GetRange = (dyn_peak_afl_AutoController_GainHostLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainHostLimit_GetRange") :
nullptr);
1017 if(m_peak_afl_AutoController_GainHostLimit_GetRange ==
nullptr && load)
1019 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainHostLimit_GetRange");
1026inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_Init(
void )
1028 auto& inst = instance();
1029 if(inst.m_peak_afl_Init)
1031 return inst.m_peak_afl_Init();
1035 throw std::runtime_error(
"Library not loaded!");
1039inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_Exit(
void )
1041 auto& inst = instance();
1042 if(inst.m_peak_afl_Exit)
1044 return inst.m_peak_afl_Exit();
1048 throw std::runtime_error(
"Library not loaded!");
1052inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_GetLastError(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize)
1054 auto& inst = instance();
1055 if(inst.m_peak_afl_GetLastError)
1057 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
1061 throw std::runtime_error(
"Library not loaded!");
1065inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion)
1067 auto& inst = instance();
1068 if(inst.m_peak_afl_GetVersion)
1070 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
1074 throw std::runtime_error(
"Library not loaded!");
1078inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_Create(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
1080 auto& inst = instance();
1081 if(inst.m_peak_afl_AutoFeatureManager_Create)
1083 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
1087 throw std::runtime_error(
"Library not loaded!");
1093 auto& inst = instance();
1094 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
1096 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
1100 throw std::runtime_error(
"Library not loaded!");
1106 auto& inst = instance();
1107 if(inst.m_peak_afl_AutoFeatureManager_AddController)
1109 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
1113 throw std::runtime_error(
"Library not loaded!");
1119 auto& inst = instance();
1120 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
1122 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
1126 throw std::runtime_error(
"Library not loaded!");
1130inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_Process(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
1132 auto& inst = instance();
1133 if(inst.m_peak_afl_AutoFeatureManager_Process)
1135 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
1139 throw std::runtime_error(
"Library not loaded!");
1145 auto& inst = instance();
1146 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
1148 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
1152 throw std::runtime_error(
"Library not loaded!");
1156inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_DestroyAllController(
peak_afl_manager_handle handle)
1158 auto& inst = instance();
1159 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
1161 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
1165 throw std::runtime_error(
"Library not loaded!");
1171 auto& inst = instance();
1172 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
1174 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
1178 throw std::runtime_error(
"Library not loaded!");
1182inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoFeatureManager_SetGainIPL(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle)
1184 auto& inst = instance();
1185 if(inst.m_peak_afl_AutoFeatureManager_SetGainIPL)
1187 return inst.m_peak_afl_AutoFeatureManager_SetGainIPL(handle, gainHandle);
1191 throw std::runtime_error(
"Library not loaded!");
1197 auto& inst = instance();
1198 if(inst.m_peak_afl_AutoFeatureManager_Status)
1200 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
1204 throw std::runtime_error(
"Library not loaded!");
1210 auto& inst = instance();
1211 if(inst.m_peak_afl_AutoController_Create)
1213 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
1217 throw std::runtime_error(
"Library not loaded!");
1223 auto& inst = instance();
1224 if(inst.m_peak_afl_AutoController_Destroy)
1226 return inst.m_peak_afl_AutoController_Destroy(controller);
1230 throw std::runtime_error(
"Library not loaded!");
1236 auto& inst = instance();
1237 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
1239 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
1243 throw std::runtime_error(
"Library not loaded!");
1247inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_Set(
peak_afl_controller_handle controller, uint32_t count)
1249 auto& inst = instance();
1250 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
1252 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
1256 throw std::runtime_error(
"Library not loaded!");
1260inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_Get(
peak_afl_controller_handle controller, uint32_t * count)
1262 auto& inst = instance();
1263 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
1265 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
1269 throw std::runtime_error(
"Library not loaded!");
1273inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_SkipFrames_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1275 auto& inst = instance();
1276 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1278 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1282 throw std::runtime_error(
"Library not loaded!");
1288 auto& inst = instance();
1289 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1291 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1295 throw std::runtime_error(
"Library not loaded!");
1301 auto& inst = instance();
1302 if(inst.m_peak_afl_AutoController_ROI_Set)
1304 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1308 throw std::runtime_error(
"Library not loaded!");
1314 auto& inst = instance();
1315 if(inst.m_peak_afl_AutoController_ROI_Get)
1317 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1321 throw std::runtime_error(
"Library not loaded!");
1327 auto& inst = instance();
1328 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1330 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1334 throw std::runtime_error(
"Library not loaded!");
1340 auto& inst = instance();
1341 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1343 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1347 throw std::runtime_error(
"Library not loaded!");
1353 auto& inst = instance();
1354 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1356 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1360 throw std::runtime_error(
"Library not loaded!");
1366 auto& inst = instance();
1367 if(inst.m_peak_afl_AutoController_Mode_Set)
1369 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1373 throw std::runtime_error(
"Library not loaded!");
1379 auto& inst = instance();
1380 if(inst.m_peak_afl_AutoController_Mode_Get)
1382 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1386 throw std::runtime_error(
"Library not loaded!");
1392 auto& inst = instance();
1393 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set)
1395 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Set(controller, algorithm);
1399 throw std::runtime_error(
"Library not loaded!");
1405 auto& inst = instance();
1406 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get)
1408 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_Get(controller, algorithm);
1412 throw std::runtime_error(
"Library not loaded!");
1418 auto& inst = instance();
1419 if(inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported)
1421 return inst.m_peak_afl_AutoController_BrightnessAlgorithm_IsSupported(controller, supported);
1425 throw std::runtime_error(
"Library not loaded!");
1431 auto& inst = instance();
1432 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported)
1434 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(controller, supported);
1438 throw std::runtime_error(
"Library not loaded!");
1444 auto& inst = instance();
1445 if(inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported)
1447 return inst.m_peak_afl_AutoController_BrightnessComponent_Unit_IsSupported(controller, unit, supported);
1451 throw std::runtime_error(
"Library not loaded!");
1457 auto& inst = instance();
1458 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set)
1460 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set(controller, component, mode);
1464 throw std::runtime_error(
"Library not loaded!");
1470 auto& inst = instance();
1471 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get)
1473 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get(controller, component, mode);
1477 throw std::runtime_error(
"Library not loaded!");
1483 auto& inst = instance();
1484 if(inst.m_peak_afl_AutoController_BrightnessComponent_Status)
1486 return inst.m_peak_afl_AutoController_BrightnessComponent_Status(controller, component, status);
1490 throw std::runtime_error(
"Library not loaded!");
1496 auto& inst = instance();
1497 if(inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set)
1499 return inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set(controller, component, type, funcPtr, context);
1503 throw std::runtime_error(
"Library not loaded!");
1509 auto& inst = instance();
1510 if(inst.m_peak_afl_AutoController_ExposureLimit_IsSupported)
1512 return inst.m_peak_afl_AutoController_ExposureLimit_IsSupported(controller, supported);
1516 throw std::runtime_error(
"Library not loaded!");
1522 auto& inst = instance();
1523 if(inst.m_peak_afl_AutoController_ExposureLimit_Set)
1525 return inst.m_peak_afl_AutoController_ExposureLimit_Set(controller, limit);
1529 throw std::runtime_error(
"Library not loaded!");
1535 auto& inst = instance();
1536 if(inst.m_peak_afl_AutoController_ExposureLimit_Get)
1538 return inst.m_peak_afl_AutoController_ExposureLimit_Get(controller, limit);
1542 throw std::runtime_error(
"Library not loaded!");
1548 auto& inst = instance();
1549 if(inst.m_peak_afl_AutoController_Status)
1551 return inst.m_peak_afl_AutoController_Status(controller, status);
1555 throw std::runtime_error(
"Library not loaded!");
1559inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GetLastAutoAverage(
peak_afl_controller_handle controller, uint8_t * average)
1561 auto& inst = instance();
1562 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1564 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1568 throw std::runtime_error(
"Library not loaded!");
1572inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_GetLastAutoAverages(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue)
1574 auto& inst = instance();
1575 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1577 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1581 throw std::runtime_error(
"Library not loaded!");
1587 auto& inst = instance();
1588 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1590 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1594 throw std::runtime_error(
"Library not loaded!");
1598inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_Set(
peak_afl_controller_handle controller, uint32_t target)
1600 auto& inst = instance();
1601 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1603 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1607 throw std::runtime_error(
"Library not loaded!");
1611inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_Get(
peak_afl_controller_handle controller, uint32_t * target)
1613 auto& inst = instance();
1614 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1616 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1620 throw std::runtime_error(
"Library not loaded!");
1624inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTarget_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1626 auto& inst = instance();
1627 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1629 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1633 throw std::runtime_error(
"Library not loaded!");
1639 auto& inst = instance();
1640 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1642 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1646 throw std::runtime_error(
"Library not loaded!");
1650inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_Set(
peak_afl_controller_handle controller, uint32_t tolerance)
1652 auto& inst = instance();
1653 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1655 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1659 throw std::runtime_error(
"Library not loaded!");
1663inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_Get(
peak_afl_controller_handle controller, uint32_t * tolerance)
1665 auto& inst = instance();
1666 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1668 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1672 throw std::runtime_error(
"Library not loaded!");
1676inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoTolerance_GetRange(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc)
1678 auto& inst = instance();
1679 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1681 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1685 throw std::runtime_error(
"Library not loaded!");
1691 auto& inst = instance();
1692 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1694 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1698 throw std::runtime_error(
"Library not loaded!");
1702inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_Set(
peak_afl_controller_handle controller,
double percentile)
1704 auto& inst = instance();
1705 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1707 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1711 throw std::runtime_error(
"Library not loaded!");
1715inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_Get(
peak_afl_controller_handle controller,
double * percentile)
1717 auto& inst = instance();
1718 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1720 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1724 throw std::runtime_error(
"Library not loaded!");
1728inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_AutoPercentile_GetRange(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc)
1730 auto& inst = instance();
1731 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1733 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1737 throw std::runtime_error(
"Library not loaded!");
1743 auto& inst = instance();
1744 if(inst.m_peak_afl_AutoController_Type_Get)
1746 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1750 throw std::runtime_error(
"Library not loaded!");
1756 auto& inst = instance();
1757 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1759 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1763 throw std::runtime_error(
"Library not loaded!");
1769 auto& inst = instance();
1770 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1772 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1776 throw std::runtime_error(
"Library not loaded!");
1782 auto& inst = instance();
1783 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1785 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1789 throw std::runtime_error(
"Library not loaded!");
1795 auto& inst = instance();
1796 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1798 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1802 throw std::runtime_error(
"Library not loaded!");
1808 auto& inst = instance();
1809 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1811 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1815 throw std::runtime_error(
"Library not loaded!");
1821 auto& inst = instance();
1822 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1824 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1828 throw std::runtime_error(
"Library not loaded!");
1834 auto& inst = instance();
1835 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1837 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1841 throw std::runtime_error(
"Library not loaded!");
1847 auto& inst = instance();
1848 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1850 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1854 throw std::runtime_error(
"Library not loaded!");
1860 auto& inst = instance();
1861 if(inst.m_peak_afl_AutoController_Callback_Set)
1863 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1867 throw std::runtime_error(
"Library not loaded!");
1873 auto& inst = instance();
1874 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1876 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1880 throw std::runtime_error(
"Library not loaded!");
1886 auto& inst = instance();
1887 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1889 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1893 throw std::runtime_error(
"Library not loaded!");
1899 auto& inst = instance();
1900 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1902 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1906 throw std::runtime_error(
"Library not loaded!");
1912 auto& inst = instance();
1913 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1915 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1919 throw std::runtime_error(
"Library not loaded!");
1925 auto& inst = instance();
1926 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
1928 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
1932 throw std::runtime_error(
"Library not loaded!");
1938 auto& inst = instance();
1939 if(inst.m_peak_afl_AutoController_Limit_Default)
1941 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
1945 throw std::runtime_error(
"Library not loaded!");
1951 auto& inst = instance();
1952 if(inst.m_peak_afl_AutoController_Limit_Set)
1954 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
1958 throw std::runtime_error(
"Library not loaded!");
1964 auto& inst = instance();
1965 if(inst.m_peak_afl_AutoController_Limit_Get)
1967 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
1971 throw std::runtime_error(
"Library not loaded!");
1977 auto& inst = instance();
1978 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
1980 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
1984 throw std::runtime_error(
"Library not loaded!");
1988inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Default(
peak_afl_controller_handle controller, uint8_t * hysteresis)
1990 auto& inst = instance();
1991 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
1993 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
1997 throw std::runtime_error(
"Library not loaded!");
2001inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Set(
peak_afl_controller_handle controller, uint8_t hysteresis)
2003 auto& inst = instance();
2004 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
2006 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
2010 throw std::runtime_error(
"Library not loaded!");
2014inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_Get(
peak_afl_controller_handle controller, uint8_t * hysteresis)
2016 auto& inst = instance();
2017 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
2019 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
2023 throw std::runtime_error(
"Library not loaded!");
2027inline PEAK_AFL_API_STATUS DynamicLoader::peak_afl_AutoController_Hysteresis_GetRange(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc)
2029 auto& inst = instance();
2030 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
2032 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
2036 throw std::runtime_error(
"Library not loaded!");
2042 auto& inst = instance();
2043 if(inst.m_peak_afl_AutoController_GainLimit_IsSupported)
2045 return inst.m_peak_afl_AutoController_GainLimit_IsSupported(controller, supported);
2049 throw std::runtime_error(
"Library not loaded!");
2055 auto& inst = instance();
2056 if(inst.m_peak_afl_AutoController_GainLimit_Set)
2058 return inst.m_peak_afl_AutoController_GainLimit_Set(controller, limit);
2062 throw std::runtime_error(
"Library not loaded!");
2068 auto& inst = instance();
2069 if(inst.m_peak_afl_AutoController_GainLimit_Get)
2071 return inst.m_peak_afl_AutoController_GainLimit_Get(controller, limit);
2075 throw std::runtime_error(
"Library not loaded!");
2081 auto& inst = instance();
2082 if(inst.m_peak_afl_AutoController_GainLimit_GetRange)
2084 return inst.m_peak_afl_AutoController_GainLimit_GetRange(controller, limit);
2088 throw std::runtime_error(
"Library not loaded!");
2094 auto& inst = instance();
2095 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Set)
2097 return inst.m_peak_afl_AutoController_GainAnalogLimit_Set(controller, limit);
2101 throw std::runtime_error(
"Library not loaded!");
2107 auto& inst = instance();
2108 if(inst.m_peak_afl_AutoController_GainAnalogLimit_Get)
2110 return inst.m_peak_afl_AutoController_GainAnalogLimit_Get(controller, limit);
2114 throw std::runtime_error(
"Library not loaded!");
2120 auto& inst = instance();
2121 if(inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange)
2123 return inst.m_peak_afl_AutoController_GainAnalogLimit_GetRange(controller, limit);
2127 throw std::runtime_error(
"Library not loaded!");
2133 auto& inst = instance();
2134 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Set)
2136 return inst.m_peak_afl_AutoController_GainDigitalLimit_Set(controller, limit);
2140 throw std::runtime_error(
"Library not loaded!");
2146 auto& inst = instance();
2147 if(inst.m_peak_afl_AutoController_GainDigitalLimit_Get)
2149 return inst.m_peak_afl_AutoController_GainDigitalLimit_Get(controller, limit);
2153 throw std::runtime_error(
"Library not loaded!");
2159 auto& inst = instance();
2160 if(inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange)
2162 return inst.m_peak_afl_AutoController_GainDigitalLimit_GetRange(controller, limit);
2166 throw std::runtime_error(
"Library not loaded!");
2172 auto& inst = instance();
2173 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Set)
2175 return inst.m_peak_afl_AutoController_GainCombinedLimit_Set(controller, limit);
2179 throw std::runtime_error(
"Library not loaded!");
2185 auto& inst = instance();
2186 if(inst.m_peak_afl_AutoController_GainCombinedLimit_Get)
2188 return inst.m_peak_afl_AutoController_GainCombinedLimit_Get(controller, limit);
2192 throw std::runtime_error(
"Library not loaded!");
2198 auto& inst = instance();
2199 if(inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange)
2201 return inst.m_peak_afl_AutoController_GainCombinedLimit_GetRange(controller, limit);
2205 throw std::runtime_error(
"Library not loaded!");
2211 auto& inst = instance();
2212 if(inst.m_peak_afl_AutoController_GainHostLimit_Set)
2214 return inst.m_peak_afl_AutoController_GainHostLimit_Set(controller, limit);
2218 throw std::runtime_error(
"Library not loaded!");
2224 auto& inst = instance();
2225 if(inst.m_peak_afl_AutoController_GainHostLimit_Get)
2227 return inst.m_peak_afl_AutoController_GainHostLimit_Get(controller, limit);
2231 throw std::runtime_error(
"Library not loaded!");
2237 auto& inst = instance();
2238 if(inst.m_peak_afl_AutoController_GainHostLimit_GetRange)
2240 return inst.m_peak_afl_AutoController_GainHostLimit_GetRange(controller, limit);
2244 throw std::runtime_error(
"Library not loaded!");
PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if exposure limit is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature analog gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get the auto target range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Default(peak_afl_controller_handle controller, peak_afl_controller_limit *limit)
Get the autofeature default limit.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_GetRange(peak_afl_controller_handle controller, double *min, double *max, double *inc)
Get the auto percentile range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature analog gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Callback_Set(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_callback_type type, void *funcPtr, void *context)
Set a callback for a controller component.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get range for frames skipped for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Default(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis default.
PEAK_AFL_API_STATUS peak_afl_AutoController_Mode_Get(peak_afl_controller_handle controller, peak_afl_controller_automode *mode)
Get the current autofeature mode for a controller.
peak_afl_callback_type
controller callback type
Definition peak_afl.h:287
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if auto percentile is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature combined gain limit for a controller.
peak_afl_controllerType
controller types
Definition peak_afl.h:125
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Status(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_controller_status *status)
Get the status for a controller component.
peak_afl_controller_brightness_component
controller brightness component
Definition peak_afl.h:245
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessAlgorithm_Set(peak_afl_controller_handle controller, peak_afl_controller_brightness_algorithm algorithm)
Set the brightness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_Get(peak_afl_controller_handle controller, peak_afl_controller_algorithm *algorithm)
Get the used algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Mode_Get(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_controller_automode *mode)
Get the current brightness component mode for a controller.
peak_afl_controller_automode
controller automode
Definition peak_afl.h:144
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if auto target is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Get(peak_afl_controller_handle controller, peak_afl_controller_limit *limit)
Get the autofeature limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Status(peak_afl_controller_handle controller, peak_afl_controller_status *status)
Get the status for a controller.
peak_afl_roi_preset
controller roi preset
Definition peak_afl.h:312
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_Get(peak_afl_controller_handle controller, uint32_t *target)
Get the currently set auto target for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_GetList(peak_afl_controller_handle controller, peak_afl_controller_sharpness_algorithm *typeList, uint32_t *listSize)
Get the list of supported sharpness algorithms for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_Set(peak_afl_controller_handle controller, uint32_t count)
Set number of frames skipped for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature host gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_Get(peak_afl_controller_handle controller, uint32_t *count)
Get number of frames skipped for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_Set(peak_afl_controller_handle controller, uint32_t tolerance)
Set the auto tolerance for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Set(peak_afl_controller_handle controller, const peak_afl_weighted_rectangle *weightedRoiList, uint32_t listSize)
Set the autofeature weighted region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Preset_Set(peak_afl_controller_handle controller, peak_afl_roi_preset roiPreset)
Set the autofeature region of interest preset for a controller.
peak_afl_controller_brightness_algorithm
brightness calculation algorithm
Definition peak_afl.h:210
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Set(peak_afl_controller_handle controller, uint8_t hysteresis)
Set the autofeature hysteresis for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Get(peak_afl_controller_handle controller, peak_afl_weighted_rectangle *weightedRoiList, uint32_t *listSize)
Get the autofeature weighted region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Mode_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if auto mode is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SkipFrames_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if skip frames is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Mode_Set(peak_afl_controller_handle controller, peak_afl_controller_automode mode)
Set the autofeature mode for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Get(peak_afl_controller_handle controller, peak_afl_rectangle *roi)
Get the autofeature region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature exposure limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Callback_Set(peak_afl_controller_handle controller, peak_afl_callback_type type, void *funcPtr, void *context)
Set a callback for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_Get(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if hysteresis is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Preset_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if ROI preset is supported for a controller.
peak_afl_controller_status
controller status
Definition peak_afl.h:160
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if auto tolerance is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ExposureLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature exposure limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Create(peak_afl_controller_handle *controller, peak_afl_controllerType controllerType)
Create a new controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Mode_Set(peak_afl_controller_handle controller, peak_afl_controller_brightness_component component, peak_afl_controller_automode mode)
Set the autofeature mode for a brightness component.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_Set(peak_afl_controller_handle controller, peak_afl_controller_sharpness_algorithm algorithm)
Set the used sharpness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessAlgorithm_Get(peak_afl_controller_handle controller, peak_afl_controller_brightness_algorithm *algorithm)
Get the current brightness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_Min_Size(peak_afl_controller_handle controller, peak_afl_size *size)
Get the autofeature minimum size for the weighted region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Weighted_ROI_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if weighted region of interest is supported for a controller.
peak_afl_controller_algorithm
controller algorithm
Definition peak_afl.h:188
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_Set(peak_afl_controller_handle controller, double percentile)
Set the auto percentile for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check if setting an algorithm is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if limit is supported for a controller.
peak_afl_controller_sharpness_algorithm
controller sharpness algorithm (focus)
Definition peak_afl.h:223
PEAK_AFL_API_STATUS peak_afl_AutoController_GetLastAutoAverage(peak_afl_controller_handle controller, uint8_t *average)
Get the last auto average for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Unit_IsSupported(peak_afl_controller_handle controller, peak_afl_controller_brightness_component unit, peak_afl_BOOL8 *supported)
Check if a specific unit is supported for a brightness controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature digital gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GetLastAutoAverages(peak_afl_controller_handle controller, uint8_t *averageRed, uint8_t *averageGreen, uint8_t *averageBlue)
Get the last auto average for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTarget_Set(peak_afl_controller_handle controller, uint32_t target)
Set the auto target for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_Set(peak_afl_controller_handle controller, peak_afl_rectangle roi)
Set the autofeature region of interest for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Type_Get(peak_afl_controller_handle controller, peak_afl_controllerType *type)
Get the controller type.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainAnalogLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature analog gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Hysteresis_GetRange(peak_afl_controller_handle controller, uint8_t *min, uint8_t *max, uint8_t *inc)
Get autofeature hysteresis range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Destroy(peak_afl_controller_handle controller)
Destroy a controller. Will fail if it is queued inside a manager.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get the auto tolerance range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_GetList(peak_afl_controller_handle controller, peak_afl_controller_algorithm *typeList, uint32_t *listSize)
Get the list of supported algorithms for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoTolerance_Get(peak_afl_controller_handle controller, uint32_t *tolerance)
Get the current auto tolerance for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_AutoPercentile_Get(peak_afl_controller_handle controller, double *percentile)
Get the auto percentile for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_Get(peak_afl_controller_handle controller, peak_afl_controller_sharpness_algorithm *algorithm)
Get the used sharpness algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature combined gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature digital gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_ROI_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if setting a region of interest is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessAlgorithm_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if brightness algorithm is supported for a controller component.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainDigitalLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature digital gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if brightness component mode is supported for a controller component.
PEAK_AFL_API_STATUS peak_afl_AutoController_Algorithm_Set(peak_afl_controller_handle controller, peak_afl_controller_algorithm algorithm)
Set the used algorithm for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_SharpnessAlgorithm_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
check setting a sharpness algorithm is supported by a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_Limit_Set(peak_afl_controller_handle controller, peak_afl_controller_limit limit)
Set the autofeature limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainCombinedLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature combined gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if gain limit is supported for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainLimit_Get(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_Set(peak_afl_controller_handle controller, peak_afl_double_limit limit)
Set autofeature host gain limit for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoController_GainHostLimit_GetRange(peak_afl_controller_handle controller, peak_afl_double_limit *limit)
Get autofeature host gain limit range for a controller.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Create(peak_afl_manager_handle *handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
Create an automanager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_CreateController(peak_afl_manager_handle handle, peak_afl_controller_handle *controller, peak_afl_controllerType controllerType)
Create a controller and append it to Manager.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Process(peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Process an image.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_DestroyController(peak_afl_manager_handle handle, peak_afl_controller_handle controller)
Destroy a controller.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Status(peak_afl_manager_handle handle, peak_afl_BOOL8 *running)
Get the status of a manager.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_Destroy(peak_afl_manager_handle handle)
Destroy an automanager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_DestroyAllController(peak_afl_manager_handle handle)
Destroy all controllers for a manager.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_AddController(peak_afl_manager_handle handle, peak_afl_manager_handle controller)
Add a controller to an auto manager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_RemoveController(peak_afl_manager_handle handle, peak_afl_manager_handle controller)
Remove a controller to an automanager instance.
PEAK_AFL_API_STATUS peak_afl_AutoFeatureManager_SetGainIPL(peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle)
Set the IPL Gain.
PEAK_AFL_API_STATUS peak_afl_Init(void)
Init the peak_afl auto feature library.
PEAK_AFL_API_STATUS peak_afl_Exit(void)
Exit the peak_afl auto feature library.
PEAK_AFL_API_STATUS peak_afl_GetVersion(uint32_t *majorVersion, uint32_t *minorVersion, uint32_t *subminorVersion, uint32_t *patchVersion)
Query the library version.
PEAK_AFL_API_STATUS peak_afl_GetLastError(peak_afl_status *lastErrorCode, char *lastErrorMessage, size_t *lastErrorMessageSize)
Get the last error message.
peak_afl_status
peak_afl Status codes
Definition peak_afl.h:88
void * peak_afl_controller_handle
opaque controller handle type
Definition peak_afl.h:49
void * peak_afl_manager_handle
opaque manager handle type
Definition peak_afl.h:51
uint8_t peak_afl_BOOL8
custom boolean type
Definition peak_afl.h:422
peak_afl Focus Limit
Definition peak_afl.h:398
peak_afl Double Limit
Definition peak_afl.h:414
peak_afl Rectangle (2D)
Definition peak_afl.h:360
peak_afl Size (2D)
Definition peak_afl.h:326
peak_afl Focus Rectangle
Definition peak_afl.h:382