26 #undef PEAK_AFL_EXPORT 27 #define PEAK_AFL_EXPORT 28 #undef PEAK_AFL_CALLCONV 29 #define PEAK_AFL_CALLCONV 39 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Init)(void );
40 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Exit)(void );
41 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetLastError)(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize);
42 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetVersion)(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
43 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Create)(
peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle);
47 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Process)(
peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle);
49 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_DestroyAllController)(
peak_afl_manager_handle handle);
51 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_SetGainIPL)(
peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle);
56 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Set)(
peak_afl_controller_handle controller, uint32_t count);
57 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Get)(
peak_afl_controller_handle controller, uint32_t * count);
58 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
73 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverage)(
peak_afl_controller_handle controller, uint8_t * average);
74 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverages)(
peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue);
76 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Set)(
peak_afl_controller_handle controller, uint32_t target);
77 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Get)(
peak_afl_controller_handle controller, uint32_t * target);
78 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
80 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Set)(
peak_afl_controller_handle controller, uint32_t tolerance);
81 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Get)(
peak_afl_controller_handle controller, uint32_t * tolerance);
82 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_GetRange)(
peak_afl_controller_handle controller, uint32_t * min, uint32_t * max, uint32_t * inc);
84 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Set)(
peak_afl_controller_handle controller,
double percentile);
85 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Get)(
peak_afl_controller_handle controller,
double * percentile);
86 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_GetRange)(
peak_afl_controller_handle controller,
double * min,
double * max,
double * inc);
106 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Default)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
107 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Set)(
peak_afl_controller_handle controller, uint8_t hysteresis);
108 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Get)(
peak_afl_controller_handle controller, uint8_t * hysteresis);
109 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_GetRange)(
peak_afl_controller_handle controller, uint8_t * min, uint8_t * max, uint8_t * inc);
121 static DynamicLoader& instance()
123 static DynamicLoader dynamicLoader{};
124 return dynamicLoader;
126 bool loadLib(
const char* file);
128 bool setPointers(
bool load);
133 static bool isLoaded();
138 static PEAK_AFL_API_STATUS
peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
212 void* m_handle =
nullptr;
213 dyn_peak_afl_Init m_peak_afl_Init{};
214 dyn_peak_afl_Exit m_peak_afl_Exit{};
215 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
216 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
217 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
218 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
219 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
220 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
221 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
222 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
223 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
224 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
225 dyn_peak_afl_AutoFeatureManager_SetGainIPL m_peak_afl_AutoFeatureManager_SetGainIPL{};
226 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
227 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
228 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
229 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
230 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
231 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
232 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
233 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
234 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
235 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
236 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
237 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
238 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
239 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
240 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
241 dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported{};
242 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set m_peak_afl_AutoController_BrightnessComponent_Mode_Set{};
243 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get m_peak_afl_AutoController_BrightnessComponent_Mode_Get{};
244 dyn_peak_afl_AutoController_BrightnessComponent_Status m_peak_afl_AutoController_BrightnessComponent_Status{};
245 dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set m_peak_afl_AutoController_BrightnessComponent_Callback_Set{};
246 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
247 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
248 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
249 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
250 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
251 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
252 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
253 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
254 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
255 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
256 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
257 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
258 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
259 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
260 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
261 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
262 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
263 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
264 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
265 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
266 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
267 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
268 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
269 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
270 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
271 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
272 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
273 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
274 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
275 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
276 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
277 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
278 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
279 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
280 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
281 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
282 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
283 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
284 dyn_peak_afl_AutoController_GainLimit_IsSupported m_peak_afl_AutoController_GainLimit_IsSupported{};
285 dyn_peak_afl_AutoController_GainLimit_Set m_peak_afl_AutoController_GainLimit_Set{};
286 dyn_peak_afl_AutoController_GainLimit_Get m_peak_afl_AutoController_GainLimit_Get{};
287 dyn_peak_afl_AutoController_GainLimit_GetRange m_peak_afl_AutoController_GainLimit_GetRange{};
291 inline void* import_function(
void *module,
const char* proc_name)
294 return dlsym(module, proc_name);
296 return GetProcAddress(static_cast<HMODULE>(module), proc_name);
300 inline DynamicLoader::DynamicLoader()
302 #if defined _WIN32 || defined _WIN64 304 if (_wgetenv_s(&sz, NULL, 0, L
"aapienvvarrootpath") == 0
307 std::vector<wchar_t> env_peak_afl(sz);
308 if (_wgetenv_s(&sz, env_peak_afl.data(), sz, L
"aapienvvarrootpath") == 0)
310 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
313 std::vector<wchar_t> env_path(sz);
314 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
316 std::wstring peak_afl_path(env_peak_afl.data());
318 peak_afl_path.append(L
"\\aapi\\lib\\x86_64");
320 peak_afl_path.append(L
"\\aapi\\lib\\x86_32");
322 std::wstring path_var(env_path.data());
323 path_var.append(L
";").append(peak_afl_path);
324 _wputenv_s(L
"PATH", path_var.c_str());
330 loadLib(
"peak_afl.dll");
332 loadLib(
"libpeak_afl.so");
336 inline DynamicLoader::~DynamicLoader()
338 if(m_handle !=
nullptr)
344 inline bool DynamicLoader::isLoaded()
346 auto&& inst = instance();
347 return inst.m_handle !=
nullptr;
350 inline void DynamicLoader::unload()
354 if (m_handle !=
nullptr)
359 FreeLibrary(static_cast<HMODULE>(m_handle));
366 inline bool DynamicLoader::loadLib(
const char* file)
373 m_handle = dlopen(file, RTLD_NOW);
375 m_handle = LoadLibraryA(file);
377 if (m_handle !=
nullptr)
382 }
catch (
const std::exception&) {
389 throw std::runtime_error(std::string(
"Lib load failed: ") + file);
394 throw std::runtime_error(
"Filename empty");
400 inline bool DynamicLoader::setPointers(
bool load)
403 m_peak_afl_Init = (dyn_peak_afl_Init) (load ? import_function(m_handle,
"peak_afl_Init") :
nullptr);
404 if(m_peak_afl_Init ==
nullptr && load)
406 throw std::runtime_error(
"Failed to load peak_afl_Init");
409 m_peak_afl_Exit = (dyn_peak_afl_Exit) (load ? import_function(m_handle,
"peak_afl_Exit") :
nullptr);
410 if(m_peak_afl_Exit ==
nullptr && load)
412 throw std::runtime_error(
"Failed to load peak_afl_Exit");
415 m_peak_afl_GetLastError = (dyn_peak_afl_GetLastError) (load ? import_function(m_handle,
"peak_afl_GetLastError") :
nullptr);
416 if(m_peak_afl_GetLastError ==
nullptr && load)
418 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
421 m_peak_afl_GetVersion = (dyn_peak_afl_GetVersion) (load ? import_function(m_handle,
"peak_afl_GetVersion") :
nullptr);
422 if(m_peak_afl_GetVersion ==
nullptr && load)
424 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
427 m_peak_afl_AutoFeatureManager_Create = (dyn_peak_afl_AutoFeatureManager_Create) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") :
nullptr);
428 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
430 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
433 m_peak_afl_AutoFeatureManager_Destroy = (dyn_peak_afl_AutoFeatureManager_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") :
nullptr);
434 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
436 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
439 m_peak_afl_AutoFeatureManager_AddController = (dyn_peak_afl_AutoFeatureManager_AddController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") :
nullptr);
440 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
442 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
445 m_peak_afl_AutoFeatureManager_RemoveController = (dyn_peak_afl_AutoFeatureManager_RemoveController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") :
nullptr);
446 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
448 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
451 m_peak_afl_AutoFeatureManager_Process = (dyn_peak_afl_AutoFeatureManager_Process) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") :
nullptr);
452 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
454 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
457 m_peak_afl_AutoFeatureManager_CreateController = (dyn_peak_afl_AutoFeatureManager_CreateController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") :
nullptr);
458 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
460 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
463 m_peak_afl_AutoFeatureManager_DestroyAllController = (dyn_peak_afl_AutoFeatureManager_DestroyAllController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") :
nullptr);
464 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
466 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
469 m_peak_afl_AutoFeatureManager_DestroyController = (dyn_peak_afl_AutoFeatureManager_DestroyController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") :
nullptr);
470 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
472 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
475 m_peak_afl_AutoFeatureManager_SetGainIPL = (dyn_peak_afl_AutoFeatureManager_SetGainIPL) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetGainIPL") :
nullptr);
476 if(m_peak_afl_AutoFeatureManager_SetGainIPL ==
nullptr && load)
478 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetGainIPL");
481 m_peak_afl_AutoFeatureManager_Status = (dyn_peak_afl_AutoFeatureManager_Status) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") :
nullptr);
482 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
484 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
487 m_peak_afl_AutoController_Create = (dyn_peak_afl_AutoController_Create) (load ? import_function(m_handle,
"peak_afl_AutoController_Create") :
nullptr);
488 if(m_peak_afl_AutoController_Create ==
nullptr && load)
490 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
493 m_peak_afl_AutoController_Destroy = (dyn_peak_afl_AutoController_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") :
nullptr);
494 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
496 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
499 m_peak_afl_AutoController_SkipFrames_IsSupported = (dyn_peak_afl_AutoController_SkipFrames_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_IsSupported") :
nullptr);
500 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
502 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
505 m_peak_afl_AutoController_SkipFrames_Set = (dyn_peak_afl_AutoController_SkipFrames_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Set") :
nullptr);
506 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
508 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
511 m_peak_afl_AutoController_SkipFrames_Get = (dyn_peak_afl_AutoController_SkipFrames_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Get") :
nullptr);
512 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
514 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
517 m_peak_afl_AutoController_SkipFrames_GetRange = (dyn_peak_afl_AutoController_SkipFrames_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_GetRange") :
nullptr);
518 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
520 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
523 m_peak_afl_AutoController_ROI_IsSupported = (dyn_peak_afl_AutoController_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_IsSupported") :
nullptr);
524 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
526 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
529 m_peak_afl_AutoController_ROI_Set = (dyn_peak_afl_AutoController_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Set") :
nullptr);
530 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
532 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
535 m_peak_afl_AutoController_ROI_Get = (dyn_peak_afl_AutoController_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Get") :
nullptr);
536 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
538 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
541 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);
542 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
544 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
547 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);
548 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
550 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
553 m_peak_afl_AutoController_Mode_IsSupported = (dyn_peak_afl_AutoController_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_IsSupported") :
nullptr);
554 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
556 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
559 m_peak_afl_AutoController_Mode_Set = (dyn_peak_afl_AutoController_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Set") :
nullptr);
560 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
562 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
565 m_peak_afl_AutoController_Mode_Get = (dyn_peak_afl_AutoController_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Get") :
nullptr);
566 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
568 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
571 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);
572 if(m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported ==
nullptr && load)
574 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_IsSupported");
577 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);
578 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Set ==
nullptr && load)
580 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Set");
583 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);
584 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Get ==
nullptr && load)
586 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Get");
589 m_peak_afl_AutoController_BrightnessComponent_Status = (dyn_peak_afl_AutoController_BrightnessComponent_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Status") :
nullptr);
590 if(m_peak_afl_AutoController_BrightnessComponent_Status ==
nullptr && load)
592 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Status");
595 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);
596 if(m_peak_afl_AutoController_BrightnessComponent_Callback_Set ==
nullptr && load)
598 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Callback_Set");
601 m_peak_afl_AutoController_Status = (dyn_peak_afl_AutoController_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_Status") :
nullptr);
602 if(m_peak_afl_AutoController_Status ==
nullptr && load)
604 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
607 m_peak_afl_AutoController_GetLastAutoAverage = (dyn_peak_afl_AutoController_GetLastAutoAverage) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") :
nullptr);
608 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
610 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
613 m_peak_afl_AutoController_GetLastAutoAverages = (dyn_peak_afl_AutoController_GetLastAutoAverages) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") :
nullptr);
614 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
616 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
619 m_peak_afl_AutoController_AutoTarget_IsSupported = (dyn_peak_afl_AutoController_AutoTarget_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_IsSupported") :
nullptr);
620 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
622 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
625 m_peak_afl_AutoController_AutoTarget_Set = (dyn_peak_afl_AutoController_AutoTarget_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Set") :
nullptr);
626 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
628 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
631 m_peak_afl_AutoController_AutoTarget_Get = (dyn_peak_afl_AutoController_AutoTarget_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Get") :
nullptr);
632 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
634 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
637 m_peak_afl_AutoController_AutoTarget_GetRange = (dyn_peak_afl_AutoController_AutoTarget_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_GetRange") :
nullptr);
638 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
640 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
643 m_peak_afl_AutoController_AutoTolerance_IsSupported = (dyn_peak_afl_AutoController_AutoTolerance_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_IsSupported") :
nullptr);
644 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
646 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
649 m_peak_afl_AutoController_AutoTolerance_Set = (dyn_peak_afl_AutoController_AutoTolerance_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Set") :
nullptr);
650 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
652 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
655 m_peak_afl_AutoController_AutoTolerance_Get = (dyn_peak_afl_AutoController_AutoTolerance_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Get") :
nullptr);
656 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
658 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
661 m_peak_afl_AutoController_AutoTolerance_GetRange = (dyn_peak_afl_AutoController_AutoTolerance_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_GetRange") :
nullptr);
662 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
664 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
667 m_peak_afl_AutoController_AutoPercentile_IsSupported = (dyn_peak_afl_AutoController_AutoPercentile_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_IsSupported") :
nullptr);
668 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
670 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
673 m_peak_afl_AutoController_AutoPercentile_Set = (dyn_peak_afl_AutoController_AutoPercentile_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Set") :
nullptr);
674 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
676 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
679 m_peak_afl_AutoController_AutoPercentile_Get = (dyn_peak_afl_AutoController_AutoPercentile_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Get") :
nullptr);
680 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
682 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
685 m_peak_afl_AutoController_AutoPercentile_GetRange = (dyn_peak_afl_AutoController_AutoPercentile_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_GetRange") :
nullptr);
686 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
688 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
691 m_peak_afl_AutoController_Type_Get = (dyn_peak_afl_AutoController_Type_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Type_Get") :
nullptr);
692 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
694 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
697 m_peak_afl_AutoController_Algorithm_IsSupported = (dyn_peak_afl_AutoController_Algorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_IsSupported") :
nullptr);
698 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
700 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
703 m_peak_afl_AutoController_Algorithm_Set = (dyn_peak_afl_AutoController_Algorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Set") :
nullptr);
704 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
706 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
709 m_peak_afl_AutoController_Algorithm_Get = (dyn_peak_afl_AutoController_Algorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Get") :
nullptr);
710 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
712 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
715 m_peak_afl_AutoController_Algorithm_GetList = (dyn_peak_afl_AutoController_Algorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_GetList") :
nullptr);
716 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
718 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
721 m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_IsSupported") :
nullptr);
722 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
724 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
727 m_peak_afl_AutoController_SharpnessAlgorithm_Set = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Set") :
nullptr);
728 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
730 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
733 m_peak_afl_AutoController_SharpnessAlgorithm_Get = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Get") :
nullptr);
734 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
736 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
739 m_peak_afl_AutoController_SharpnessAlgorithm_GetList = (dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_GetList") :
nullptr);
740 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
742 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
745 m_peak_afl_AutoController_Callback_Set = (dyn_peak_afl_AutoController_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Callback_Set") :
nullptr);
746 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
748 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
751 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);
752 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
754 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
757 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);
758 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
760 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
763 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);
764 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
766 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
769 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);
770 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
772 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
775 m_peak_afl_AutoController_Limit_IsSupported = (dyn_peak_afl_AutoController_Limit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_IsSupported") :
nullptr);
776 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
778 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
781 m_peak_afl_AutoController_Limit_Default = (dyn_peak_afl_AutoController_Limit_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Default") :
nullptr);
782 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
784 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
787 m_peak_afl_AutoController_Limit_Set = (dyn_peak_afl_AutoController_Limit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Set") :
nullptr);
788 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
790 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
793 m_peak_afl_AutoController_Limit_Get = (dyn_peak_afl_AutoController_Limit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Get") :
nullptr);
794 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
796 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
799 m_peak_afl_AutoController_Hysteresis_IsSupported = (dyn_peak_afl_AutoController_Hysteresis_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_IsSupported") :
nullptr);
800 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
802 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
805 m_peak_afl_AutoController_Hysteresis_Default = (dyn_peak_afl_AutoController_Hysteresis_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Default") :
nullptr);
806 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
808 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
811 m_peak_afl_AutoController_Hysteresis_Set = (dyn_peak_afl_AutoController_Hysteresis_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Set") :
nullptr);
812 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
814 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
817 m_peak_afl_AutoController_Hysteresis_Get = (dyn_peak_afl_AutoController_Hysteresis_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Get") :
nullptr);
818 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
820 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
823 m_peak_afl_AutoController_Hysteresis_GetRange = (dyn_peak_afl_AutoController_Hysteresis_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_GetRange") :
nullptr);
824 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
826 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
829 m_peak_afl_AutoController_GainLimit_IsSupported = (dyn_peak_afl_AutoController_GainLimit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_IsSupported") :
nullptr);
830 if(m_peak_afl_AutoController_GainLimit_IsSupported ==
nullptr && load)
832 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_IsSupported");
835 m_peak_afl_AutoController_GainLimit_Set = (dyn_peak_afl_AutoController_GainLimit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Set") :
nullptr);
836 if(m_peak_afl_AutoController_GainLimit_Set ==
nullptr && load)
838 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Set");
841 m_peak_afl_AutoController_GainLimit_Get = (dyn_peak_afl_AutoController_GainLimit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_Get") :
nullptr);
842 if(m_peak_afl_AutoController_GainLimit_Get ==
nullptr && load)
844 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_Get");
847 m_peak_afl_AutoController_GainLimit_GetRange = (dyn_peak_afl_AutoController_GainLimit_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_GainLimit_GetRange") :
nullptr);
848 if(m_peak_afl_AutoController_GainLimit_GetRange ==
nullptr && load)
850 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GainLimit_GetRange");
859 auto& inst = instance();
860 if(inst.m_peak_afl_Init)
862 return inst.m_peak_afl_Init();
866 throw std::runtime_error(
"Library not loaded!");
872 auto& inst = instance();
873 if(inst.m_peak_afl_Exit)
875 return inst.m_peak_afl_Exit();
879 throw std::runtime_error(
"Library not loaded!");
885 auto& inst = instance();
886 if(inst.m_peak_afl_GetLastError)
888 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
892 throw std::runtime_error(
"Library not loaded!");
898 auto& inst = instance();
899 if(inst.m_peak_afl_GetVersion)
901 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
905 throw std::runtime_error(
"Library not loaded!");
911 auto& inst = instance();
912 if(inst.m_peak_afl_AutoFeatureManager_Create)
914 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
918 throw std::runtime_error(
"Library not loaded!");
924 auto& inst = instance();
925 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
927 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
931 throw std::runtime_error(
"Library not loaded!");
937 auto& inst = instance();
938 if(inst.m_peak_afl_AutoFeatureManager_AddController)
940 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
944 throw std::runtime_error(
"Library not loaded!");
950 auto& inst = instance();
951 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
953 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
957 throw std::runtime_error(
"Library not loaded!");
963 auto& inst = instance();
964 if(inst.m_peak_afl_AutoFeatureManager_Process)
966 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
970 throw std::runtime_error(
"Library not loaded!");
976 auto& inst = instance();
977 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
979 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
983 throw std::runtime_error(
"Library not loaded!");
989 auto& inst = instance();
990 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
992 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
996 throw std::runtime_error(
"Library not loaded!");
1002 auto& inst = instance();
1003 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
1005 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
1009 throw std::runtime_error(
"Library not loaded!");
1015 auto& inst = instance();
1016 if(inst.m_peak_afl_AutoFeatureManager_SetGainIPL)
1018 return inst.m_peak_afl_AutoFeatureManager_SetGainIPL(handle, gainHandle);
1022 throw std::runtime_error(
"Library not loaded!");
1028 auto& inst = instance();
1029 if(inst.m_peak_afl_AutoFeatureManager_Status)
1031 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
1035 throw std::runtime_error(
"Library not loaded!");
1041 auto& inst = instance();
1042 if(inst.m_peak_afl_AutoController_Create)
1044 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
1048 throw std::runtime_error(
"Library not loaded!");
1054 auto& inst = instance();
1055 if(inst.m_peak_afl_AutoController_Destroy)
1057 return inst.m_peak_afl_AutoController_Destroy(controller);
1061 throw std::runtime_error(
"Library not loaded!");
1067 auto& inst = instance();
1068 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
1070 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
1074 throw std::runtime_error(
"Library not loaded!");
1080 auto& inst = instance();
1081 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
1083 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
1087 throw std::runtime_error(
"Library not loaded!");
1093 auto& inst = instance();
1094 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
1096 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
1100 throw std::runtime_error(
"Library not loaded!");
1106 auto& inst = instance();
1107 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1109 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1113 throw std::runtime_error(
"Library not loaded!");
1119 auto& inst = instance();
1120 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1122 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1126 throw std::runtime_error(
"Library not loaded!");
1132 auto& inst = instance();
1133 if(inst.m_peak_afl_AutoController_ROI_Set)
1135 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1139 throw std::runtime_error(
"Library not loaded!");
1145 auto& inst = instance();
1146 if(inst.m_peak_afl_AutoController_ROI_Get)
1148 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1152 throw std::runtime_error(
"Library not loaded!");
1158 auto& inst = instance();
1159 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1161 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1165 throw std::runtime_error(
"Library not loaded!");
1171 auto& inst = instance();
1172 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1174 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1178 throw std::runtime_error(
"Library not loaded!");
1184 auto& inst = instance();
1185 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1187 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1191 throw std::runtime_error(
"Library not loaded!");
1197 auto& inst = instance();
1198 if(inst.m_peak_afl_AutoController_Mode_Set)
1200 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1204 throw std::runtime_error(
"Library not loaded!");
1210 auto& inst = instance();
1211 if(inst.m_peak_afl_AutoController_Mode_Get)
1213 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1217 throw std::runtime_error(
"Library not loaded!");
1223 auto& inst = instance();
1224 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported)
1226 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(controller, supported);
1230 throw std::runtime_error(
"Library not loaded!");
1236 auto& inst = instance();
1237 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set)
1239 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set(controller, component, mode);
1243 throw std::runtime_error(
"Library not loaded!");
1249 auto& inst = instance();
1250 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get)
1252 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get(controller, component, mode);
1256 throw std::runtime_error(
"Library not loaded!");
1262 auto& inst = instance();
1263 if(inst.m_peak_afl_AutoController_BrightnessComponent_Status)
1265 return inst.m_peak_afl_AutoController_BrightnessComponent_Status(controller, component, status);
1269 throw std::runtime_error(
"Library not loaded!");
1275 auto& inst = instance();
1276 if(inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set)
1278 return inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set(controller, component, type, funcPtr, context);
1282 throw std::runtime_error(
"Library not loaded!");
1288 auto& inst = instance();
1289 if(inst.m_peak_afl_AutoController_Status)
1291 return inst.m_peak_afl_AutoController_Status(controller, status);
1295 throw std::runtime_error(
"Library not loaded!");
1301 auto& inst = instance();
1302 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1304 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1308 throw std::runtime_error(
"Library not loaded!");
1314 auto& inst = instance();
1315 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1317 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1321 throw std::runtime_error(
"Library not loaded!");
1327 auto& inst = instance();
1328 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1330 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1334 throw std::runtime_error(
"Library not loaded!");
1340 auto& inst = instance();
1341 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1343 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1347 throw std::runtime_error(
"Library not loaded!");
1353 auto& inst = instance();
1354 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1356 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1360 throw std::runtime_error(
"Library not loaded!");
1366 auto& inst = instance();
1367 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1369 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1373 throw std::runtime_error(
"Library not loaded!");
1379 auto& inst = instance();
1380 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1382 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1386 throw std::runtime_error(
"Library not loaded!");
1392 auto& inst = instance();
1393 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1395 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1399 throw std::runtime_error(
"Library not loaded!");
1405 auto& inst = instance();
1406 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1408 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1412 throw std::runtime_error(
"Library not loaded!");
1418 auto& inst = instance();
1419 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1421 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1425 throw std::runtime_error(
"Library not loaded!");
1431 auto& inst = instance();
1432 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1434 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1438 throw std::runtime_error(
"Library not loaded!");
1444 auto& inst = instance();
1445 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1447 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1451 throw std::runtime_error(
"Library not loaded!");
1457 auto& inst = instance();
1458 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1460 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1464 throw std::runtime_error(
"Library not loaded!");
1470 auto& inst = instance();
1471 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1473 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1477 throw std::runtime_error(
"Library not loaded!");
1483 auto& inst = instance();
1484 if(inst.m_peak_afl_AutoController_Type_Get)
1486 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1490 throw std::runtime_error(
"Library not loaded!");
1496 auto& inst = instance();
1497 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1499 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1503 throw std::runtime_error(
"Library not loaded!");
1509 auto& inst = instance();
1510 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1512 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1516 throw std::runtime_error(
"Library not loaded!");
1522 auto& inst = instance();
1523 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1525 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1529 throw std::runtime_error(
"Library not loaded!");
1535 auto& inst = instance();
1536 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1538 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1542 throw std::runtime_error(
"Library not loaded!");
1548 auto& inst = instance();
1549 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1551 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1555 throw std::runtime_error(
"Library not loaded!");
1561 auto& inst = instance();
1562 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1564 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1568 throw std::runtime_error(
"Library not loaded!");
1574 auto& inst = instance();
1575 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1577 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1581 throw std::runtime_error(
"Library not loaded!");
1587 auto& inst = instance();
1588 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1590 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1594 throw std::runtime_error(
"Library not loaded!");
1600 auto& inst = instance();
1601 if(inst.m_peak_afl_AutoController_Callback_Set)
1603 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1607 throw std::runtime_error(
"Library not loaded!");
1613 auto& inst = instance();
1614 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1616 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1620 throw std::runtime_error(
"Library not loaded!");
1626 auto& inst = instance();
1627 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1629 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1633 throw std::runtime_error(
"Library not loaded!");
1639 auto& inst = instance();
1640 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1642 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1646 throw std::runtime_error(
"Library not loaded!");
1652 auto& inst = instance();
1653 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1655 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1659 throw std::runtime_error(
"Library not loaded!");
1665 auto& inst = instance();
1666 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
1668 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
1672 throw std::runtime_error(
"Library not loaded!");
1678 auto& inst = instance();
1679 if(inst.m_peak_afl_AutoController_Limit_Default)
1681 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
1685 throw std::runtime_error(
"Library not loaded!");
1691 auto& inst = instance();
1692 if(inst.m_peak_afl_AutoController_Limit_Set)
1694 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
1698 throw std::runtime_error(
"Library not loaded!");
1704 auto& inst = instance();
1705 if(inst.m_peak_afl_AutoController_Limit_Get)
1707 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
1711 throw std::runtime_error(
"Library not loaded!");
1717 auto& inst = instance();
1718 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
1720 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
1724 throw std::runtime_error(
"Library not loaded!");
1730 auto& inst = instance();
1731 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
1733 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
1737 throw std::runtime_error(
"Library not loaded!");
1743 auto& inst = instance();
1744 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
1746 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
1750 throw std::runtime_error(
"Library not loaded!");
1756 auto& inst = instance();
1757 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
1759 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
1763 throw std::runtime_error(
"Library not loaded!");
1769 auto& inst = instance();
1770 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
1772 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
1776 throw std::runtime_error(
"Library not loaded!");
1782 auto& inst = instance();
1783 if(inst.m_peak_afl_AutoController_GainLimit_IsSupported)
1785 return inst.m_peak_afl_AutoController_GainLimit_IsSupported(controller, supported);
1789 throw std::runtime_error(
"Library not loaded!");
1795 auto& inst = instance();
1796 if(inst.m_peak_afl_AutoController_GainLimit_Set)
1798 return inst.m_peak_afl_AutoController_GainLimit_Set(controller, limit);
1802 throw std::runtime_error(
"Library not loaded!");
1808 auto& inst = instance();
1809 if(inst.m_peak_afl_AutoController_GainLimit_Get)
1811 return inst.m_peak_afl_AutoController_GainLimit_Get(controller, limit);
1815 throw std::runtime_error(
"Library not loaded!");
1821 auto& inst = instance();
1822 if(inst.m_peak_afl_AutoController_GainLimit_GetRange)
1824 return inst.m_peak_afl_AutoController_GainLimit_GetRange(controller, limit);
1828 throw std::runtime_error(
"Library not loaded!");
peak_afl_status peak_afl_GetVersion(uint32_t *majorVersion, uint32_t *minorVersion, uint32_t *subminorVersion, uint32_t *patchVersion)
Query the library version.
peak_afl_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_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_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_status peak_afl_AutoController_SkipFrames_Get(peak_afl_controller_handle controller, uint32_t *count)
Get number of frames skipped for a controller.
peak_afl_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_controller_sharpness_algorithm
controller sharpness algorithm (focus)
Definition: peak_afl.h:209
peak_afl_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_status peak_afl_AutoController_SkipFrames_Set(peak_afl_controller_handle controller, uint32_t count)
Set number of frames skipped for a controller.
peak_afl_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_status peak_afl_AutoController_Limit_Default(peak_afl_controller_handle controller, peak_afl_controller_limit *limit)
Get the autofeature default limit.
peak_afl_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_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_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_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_status peak_afl_AutoFeatureManager_Status(peak_afl_manager_handle handle, peak_afl_BOOL8 *running)
Get the status of a manager.
peak_afl_status
peak_afl Status codes
Definition: peak_afl.h:87
Definition: peak_afl.hpp:56
peak_afl Size (2D)
Definition: peak_afl.h:300
peak_afl_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_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_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_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 Rectangle (2D)
Definition: peak_afl.h:334
peak_afl_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_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_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_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_status peak_afl_AutoController_Type_Get(peak_afl_controller_handle controller, peak_afl_controllerType *type)
Get the controller type.
peak_afl_status peak_afl_AutoController_AutoPercentile_Get(peak_afl_controller_handle controller, double *percentile)
Get the auto percentile for a controller.
peak_afl_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 Focus Limit
Definition: peak_afl.h:372
peak_afl_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_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_status peak_afl_AutoFeatureManager_Destroy(peak_afl_manager_handle handle)
Destroy an automanager instance.
peak_afl_status peak_afl_AutoFeatureManager_RemoveController(peak_afl_manager_handle handle, peak_afl_manager_handle controller)
Remove a controller to an automanager instance.
peak_afl_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_roi_preset
controller roi preset
Definition: peak_afl.h:286
peak_afl_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_controller_automode
controller automode
Definition: peak_afl.h:143
peak_afl_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.
uint8_t peak_afl_BOOL8
custom boolean type
Definition: peak_afl.h:397
peak_afl_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.
void * peak_afl_manager_handle
opaque manager handle type
Definition: peak_afl.h:51
peak_afl_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_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_status peak_afl_AutoFeatureManager_DestroyAllController(peak_afl_manager_handle handle)
Destroy all controllers for a manager.
peak_afl_status peak_afl_AutoController_AutoTarget_Set(peak_afl_controller_handle controller, uint32_t target)
Set the auto target for a controller.
peak_afl_status peak_afl_Init(void)
Init the peak_afl auto feature library.
peak_afl_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_status peak_afl_AutoController_GetLastAutoAverage(peak_afl_controller_handle controller, uint8_t *average)
Get the last auto average for a controller.
peak_afl_controller_algorithm
controller algorithm
Definition: peak_afl.h:187
peak_afl_status peak_afl_Exit(void)
Exit the peak_afl auto feature library.
peak_afl_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_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_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_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_status peak_afl_AutoController_Destroy(peak_afl_controller_handle controller)
Destroy a controller. Will fail if it is queued inside a manager.
peak_afl_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_status peak_afl_AutoFeatureManager_Create(peak_afl_manager_handle *handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
Create an automanager instance.
peak_afl_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_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_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_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_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_status peak_afl_AutoController_Status(peak_afl_controller_handle controller, peak_afl_controller_status *status)
Get the status for a controller.
peak_afl_status peak_afl_AutoFeatureManager_SetGainIPL(peak_afl_manager_handle handle, PEAK_IPL_GAIN_HANDLE gainHandle)
Set the IPL Gain.
peak_afl_status peak_afl_AutoController_Hysteresis_Default(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis default.
peak_afl Double Limit
Definition: peak_afl.h:388
peak_afl_status peak_afl_AutoController_AutoTolerance_Set(peak_afl_controller_handle controller, uint32_t tolerance)
Set the auto tolerance for a controller.
peak_afl Focus Rectangle
Definition: peak_afl.h:356
peak_afl_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_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_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_status peak_afl_AutoController_AutoTolerance_Get(peak_afl_controller_handle controller, uint32_t *tolerance)
Get the current auto tolerance for a controller.
peak_afl_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_status peak_afl_AutoController_Create(peak_afl_controller_handle *controller, peak_afl_controllerType controllerType)
Create a new controller.
peak_afl_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_controller_status
controller status
Definition: peak_afl.h:159
peak_afl_status peak_afl_AutoFeatureManager_Process(peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Process an image.
peak_afl_status peak_afl_AutoController_Hysteresis_Get(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis for a controller.
peak_afl_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.
void * peak_afl_controller_handle
opaque controller handle type
Definition: peak_afl.h:49
peak_afl_status peak_afl_GetLastError(peak_afl_status *lastErrorCode, char *lastErrorMessage, size_t *lastErrorMessageSize)
Get the last error message.
peak_afl_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_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_controllerType
controller types
Definition: peak_afl.h:124
peak_afl_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_controller_brightness_component
controller brightness component
Definition: peak_afl.h:231
peak_afl_status peak_afl_AutoController_AutoPercentile_Set(peak_afl_controller_handle controller, double percentile)
Set the auto percentile for a controller.
peak_afl_status peak_afl_AutoController_Hysteresis_Set(peak_afl_controller_handle controller, uint8_t hysteresis)
Set the autofeature hysteresis for a controller.
peak_afl_callback_type
controller callback type
Definition: peak_afl.h:261
peak_afl_status peak_afl_AutoFeatureManager_DestroyController(peak_afl_manager_handle handle, peak_afl_controller_handle controller)
Destroy a controller.