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);
117 static DynamicLoader& instance()
119 static DynamicLoader dynamicLoader{};
120 return dynamicLoader;
122 bool loadLib(
const char* file);
124 bool setPointers(
bool load);
129 static bool isLoaded();
134 static PEAK_AFL_API_STATUS
peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
204 void* m_handle =
nullptr;
205 dyn_peak_afl_Init m_peak_afl_Init{};
206 dyn_peak_afl_Exit m_peak_afl_Exit{};
207 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
208 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
209 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
210 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
211 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
212 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
213 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
214 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
215 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
216 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
217 dyn_peak_afl_AutoFeatureManager_SetGainIPL m_peak_afl_AutoFeatureManager_SetGainIPL{};
218 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
219 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
220 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
221 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
222 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
223 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
224 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
225 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
226 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
227 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
228 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
229 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
230 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
231 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
232 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
233 dyn_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported{};
234 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Set m_peak_afl_AutoController_BrightnessComponent_Mode_Set{};
235 dyn_peak_afl_AutoController_BrightnessComponent_Mode_Get m_peak_afl_AutoController_BrightnessComponent_Mode_Get{};
236 dyn_peak_afl_AutoController_BrightnessComponent_Status m_peak_afl_AutoController_BrightnessComponent_Status{};
237 dyn_peak_afl_AutoController_BrightnessComponent_Callback_Set m_peak_afl_AutoController_BrightnessComponent_Callback_Set{};
238 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
239 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
240 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
241 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
242 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
243 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
244 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
245 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
246 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
247 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
248 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
249 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
250 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
251 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
252 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
253 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
254 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
255 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
256 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
257 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
258 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
259 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
260 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
261 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
262 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
263 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
264 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
265 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
266 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
267 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
268 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
269 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
270 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
271 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
272 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
273 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
274 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
275 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
279 inline void* import_function(
void *module,
const char* proc_name)
282 return dlsym(module, proc_name);
284 return GetProcAddress(static_cast<HMODULE>(module), proc_name);
288 inline DynamicLoader::DynamicLoader()
290 #if defined _WIN32 || defined _WIN64 292 if (_wgetenv_s(&sz, NULL, 0, L
"aapienvvarrootpath") == 0
295 std::vector<wchar_t> env_peak_afl(sz);
296 if (_wgetenv_s(&sz, env_peak_afl.data(), sz, L
"aapienvvarrootpath") == 0)
298 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
301 std::vector<wchar_t> env_path(sz);
302 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
304 std::wstring peak_afl_path(env_peak_afl.data());
306 peak_afl_path.append(L
"\\aapi\\lib\\x86_64");
308 peak_afl_path.append(L
"\\aapi\\lib\\x86_32");
310 std::wstring path_var(env_path.data());
311 path_var.append(L
";").append(peak_afl_path);
312 _wputenv_s(L
"PATH", path_var.c_str());
318 loadLib(
"peak_afl.dll");
320 loadLib(
"libpeak_afl.so");
324 inline DynamicLoader::~DynamicLoader()
326 if(m_handle !=
nullptr)
332 inline bool DynamicLoader::isLoaded()
334 auto&& inst = instance();
335 return inst.m_handle !=
nullptr;
338 inline void DynamicLoader::unload()
342 if (m_handle !=
nullptr)
347 FreeLibrary(static_cast<HMODULE>(m_handle));
354 inline bool DynamicLoader::loadLib(
const char* file)
361 m_handle = dlopen(file, RTLD_NOW);
363 m_handle = LoadLibraryA(file);
365 if (m_handle !=
nullptr)
370 }
catch (
const std::exception&) {
377 throw std::runtime_error(std::string(
"Lib load failed: ") + file);
382 throw std::runtime_error(
"Filename empty");
388 inline bool DynamicLoader::setPointers(
bool load)
391 m_peak_afl_Init = (dyn_peak_afl_Init) (load ? import_function(m_handle,
"peak_afl_Init") :
nullptr);
392 if(m_peak_afl_Init ==
nullptr && load)
394 throw std::runtime_error(
"Failed to load peak_afl_Init");
397 m_peak_afl_Exit = (dyn_peak_afl_Exit) (load ? import_function(m_handle,
"peak_afl_Exit") :
nullptr);
398 if(m_peak_afl_Exit ==
nullptr && load)
400 throw std::runtime_error(
"Failed to load peak_afl_Exit");
403 m_peak_afl_GetLastError = (dyn_peak_afl_GetLastError) (load ? import_function(m_handle,
"peak_afl_GetLastError") :
nullptr);
404 if(m_peak_afl_GetLastError ==
nullptr && load)
406 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
409 m_peak_afl_GetVersion = (dyn_peak_afl_GetVersion) (load ? import_function(m_handle,
"peak_afl_GetVersion") :
nullptr);
410 if(m_peak_afl_GetVersion ==
nullptr && load)
412 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
415 m_peak_afl_AutoFeatureManager_Create = (dyn_peak_afl_AutoFeatureManager_Create) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") :
nullptr);
416 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
418 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
421 m_peak_afl_AutoFeatureManager_Destroy = (dyn_peak_afl_AutoFeatureManager_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") :
nullptr);
422 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
424 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
427 m_peak_afl_AutoFeatureManager_AddController = (dyn_peak_afl_AutoFeatureManager_AddController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") :
nullptr);
428 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
430 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
433 m_peak_afl_AutoFeatureManager_RemoveController = (dyn_peak_afl_AutoFeatureManager_RemoveController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") :
nullptr);
434 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
436 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
439 m_peak_afl_AutoFeatureManager_Process = (dyn_peak_afl_AutoFeatureManager_Process) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") :
nullptr);
440 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
442 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
445 m_peak_afl_AutoFeatureManager_CreateController = (dyn_peak_afl_AutoFeatureManager_CreateController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") :
nullptr);
446 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
448 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
451 m_peak_afl_AutoFeatureManager_DestroyAllController = (dyn_peak_afl_AutoFeatureManager_DestroyAllController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") :
nullptr);
452 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
454 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
457 m_peak_afl_AutoFeatureManager_DestroyController = (dyn_peak_afl_AutoFeatureManager_DestroyController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") :
nullptr);
458 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
460 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
463 m_peak_afl_AutoFeatureManager_SetGainIPL = (dyn_peak_afl_AutoFeatureManager_SetGainIPL) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_SetGainIPL") :
nullptr);
464 if(m_peak_afl_AutoFeatureManager_SetGainIPL ==
nullptr && load)
466 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_SetGainIPL");
469 m_peak_afl_AutoFeatureManager_Status = (dyn_peak_afl_AutoFeatureManager_Status) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") :
nullptr);
470 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
472 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
475 m_peak_afl_AutoController_Create = (dyn_peak_afl_AutoController_Create) (load ? import_function(m_handle,
"peak_afl_AutoController_Create") :
nullptr);
476 if(m_peak_afl_AutoController_Create ==
nullptr && load)
478 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
481 m_peak_afl_AutoController_Destroy = (dyn_peak_afl_AutoController_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") :
nullptr);
482 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
484 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
487 m_peak_afl_AutoController_SkipFrames_IsSupported = (dyn_peak_afl_AutoController_SkipFrames_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_IsSupported") :
nullptr);
488 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
490 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
493 m_peak_afl_AutoController_SkipFrames_Set = (dyn_peak_afl_AutoController_SkipFrames_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Set") :
nullptr);
494 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
496 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
499 m_peak_afl_AutoController_SkipFrames_Get = (dyn_peak_afl_AutoController_SkipFrames_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Get") :
nullptr);
500 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
502 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
505 m_peak_afl_AutoController_SkipFrames_GetRange = (dyn_peak_afl_AutoController_SkipFrames_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_GetRange") :
nullptr);
506 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
508 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
511 m_peak_afl_AutoController_ROI_IsSupported = (dyn_peak_afl_AutoController_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_IsSupported") :
nullptr);
512 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
514 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
517 m_peak_afl_AutoController_ROI_Set = (dyn_peak_afl_AutoController_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Set") :
nullptr);
518 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
520 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
523 m_peak_afl_AutoController_ROI_Get = (dyn_peak_afl_AutoController_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Get") :
nullptr);
524 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
526 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
529 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);
530 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
532 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
535 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);
536 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
538 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
541 m_peak_afl_AutoController_Mode_IsSupported = (dyn_peak_afl_AutoController_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_IsSupported") :
nullptr);
542 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
544 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
547 m_peak_afl_AutoController_Mode_Set = (dyn_peak_afl_AutoController_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Set") :
nullptr);
548 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
550 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
553 m_peak_afl_AutoController_Mode_Get = (dyn_peak_afl_AutoController_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Get") :
nullptr);
554 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
556 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
559 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);
560 if(m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported ==
nullptr && load)
562 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_IsSupported");
565 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);
566 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Set ==
nullptr && load)
568 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Set");
571 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);
572 if(m_peak_afl_AutoController_BrightnessComponent_Mode_Get ==
nullptr && load)
574 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Mode_Get");
577 m_peak_afl_AutoController_BrightnessComponent_Status = (dyn_peak_afl_AutoController_BrightnessComponent_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_BrightnessComponent_Status") :
nullptr);
578 if(m_peak_afl_AutoController_BrightnessComponent_Status ==
nullptr && load)
580 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Status");
583 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);
584 if(m_peak_afl_AutoController_BrightnessComponent_Callback_Set ==
nullptr && load)
586 throw std::runtime_error(
"Failed to load peak_afl_AutoController_BrightnessComponent_Callback_Set");
589 m_peak_afl_AutoController_Status = (dyn_peak_afl_AutoController_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_Status") :
nullptr);
590 if(m_peak_afl_AutoController_Status ==
nullptr && load)
592 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
595 m_peak_afl_AutoController_GetLastAutoAverage = (dyn_peak_afl_AutoController_GetLastAutoAverage) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") :
nullptr);
596 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
598 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
601 m_peak_afl_AutoController_GetLastAutoAverages = (dyn_peak_afl_AutoController_GetLastAutoAverages) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") :
nullptr);
602 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
604 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
607 m_peak_afl_AutoController_AutoTarget_IsSupported = (dyn_peak_afl_AutoController_AutoTarget_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_IsSupported") :
nullptr);
608 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
610 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
613 m_peak_afl_AutoController_AutoTarget_Set = (dyn_peak_afl_AutoController_AutoTarget_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Set") :
nullptr);
614 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
616 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
619 m_peak_afl_AutoController_AutoTarget_Get = (dyn_peak_afl_AutoController_AutoTarget_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Get") :
nullptr);
620 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
622 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
625 m_peak_afl_AutoController_AutoTarget_GetRange = (dyn_peak_afl_AutoController_AutoTarget_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_GetRange") :
nullptr);
626 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
628 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
631 m_peak_afl_AutoController_AutoTolerance_IsSupported = (dyn_peak_afl_AutoController_AutoTolerance_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_IsSupported") :
nullptr);
632 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
634 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
637 m_peak_afl_AutoController_AutoTolerance_Set = (dyn_peak_afl_AutoController_AutoTolerance_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Set") :
nullptr);
638 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
640 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
643 m_peak_afl_AutoController_AutoTolerance_Get = (dyn_peak_afl_AutoController_AutoTolerance_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Get") :
nullptr);
644 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
646 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
649 m_peak_afl_AutoController_AutoTolerance_GetRange = (dyn_peak_afl_AutoController_AutoTolerance_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_GetRange") :
nullptr);
650 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
652 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
655 m_peak_afl_AutoController_AutoPercentile_IsSupported = (dyn_peak_afl_AutoController_AutoPercentile_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_IsSupported") :
nullptr);
656 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
658 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
661 m_peak_afl_AutoController_AutoPercentile_Set = (dyn_peak_afl_AutoController_AutoPercentile_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Set") :
nullptr);
662 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
664 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
667 m_peak_afl_AutoController_AutoPercentile_Get = (dyn_peak_afl_AutoController_AutoPercentile_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Get") :
nullptr);
668 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
670 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
673 m_peak_afl_AutoController_AutoPercentile_GetRange = (dyn_peak_afl_AutoController_AutoPercentile_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_GetRange") :
nullptr);
674 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
676 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
679 m_peak_afl_AutoController_Type_Get = (dyn_peak_afl_AutoController_Type_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Type_Get") :
nullptr);
680 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
682 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
685 m_peak_afl_AutoController_Algorithm_IsSupported = (dyn_peak_afl_AutoController_Algorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_IsSupported") :
nullptr);
686 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
688 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
691 m_peak_afl_AutoController_Algorithm_Set = (dyn_peak_afl_AutoController_Algorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Set") :
nullptr);
692 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
694 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
697 m_peak_afl_AutoController_Algorithm_Get = (dyn_peak_afl_AutoController_Algorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Get") :
nullptr);
698 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
700 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
703 m_peak_afl_AutoController_Algorithm_GetList = (dyn_peak_afl_AutoController_Algorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_GetList") :
nullptr);
704 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
706 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
709 m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_IsSupported") :
nullptr);
710 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
712 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
715 m_peak_afl_AutoController_SharpnessAlgorithm_Set = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Set") :
nullptr);
716 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
718 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
721 m_peak_afl_AutoController_SharpnessAlgorithm_Get = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Get") :
nullptr);
722 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
724 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
727 m_peak_afl_AutoController_SharpnessAlgorithm_GetList = (dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_GetList") :
nullptr);
728 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
730 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
733 m_peak_afl_AutoController_Callback_Set = (dyn_peak_afl_AutoController_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Callback_Set") :
nullptr);
734 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
736 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
739 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);
740 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
742 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
745 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);
746 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
748 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
751 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);
752 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
754 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
757 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);
758 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
760 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
763 m_peak_afl_AutoController_Limit_IsSupported = (dyn_peak_afl_AutoController_Limit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_IsSupported") :
nullptr);
764 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
766 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
769 m_peak_afl_AutoController_Limit_Default = (dyn_peak_afl_AutoController_Limit_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Default") :
nullptr);
770 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
772 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
775 m_peak_afl_AutoController_Limit_Set = (dyn_peak_afl_AutoController_Limit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Set") :
nullptr);
776 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
778 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
781 m_peak_afl_AutoController_Limit_Get = (dyn_peak_afl_AutoController_Limit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Get") :
nullptr);
782 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
784 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
787 m_peak_afl_AutoController_Hysteresis_IsSupported = (dyn_peak_afl_AutoController_Hysteresis_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_IsSupported") :
nullptr);
788 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
790 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
793 m_peak_afl_AutoController_Hysteresis_Default = (dyn_peak_afl_AutoController_Hysteresis_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Default") :
nullptr);
794 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
796 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
799 m_peak_afl_AutoController_Hysteresis_Set = (dyn_peak_afl_AutoController_Hysteresis_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Set") :
nullptr);
800 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
802 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
805 m_peak_afl_AutoController_Hysteresis_Get = (dyn_peak_afl_AutoController_Hysteresis_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Get") :
nullptr);
806 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
808 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
811 m_peak_afl_AutoController_Hysteresis_GetRange = (dyn_peak_afl_AutoController_Hysteresis_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_GetRange") :
nullptr);
812 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
814 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
823 auto& inst = instance();
824 if(inst.m_peak_afl_Init)
826 return inst.m_peak_afl_Init();
830 throw std::runtime_error(
"Library not loaded!");
836 auto& inst = instance();
837 if(inst.m_peak_afl_Exit)
839 return inst.m_peak_afl_Exit();
843 throw std::runtime_error(
"Library not loaded!");
849 auto& inst = instance();
850 if(inst.m_peak_afl_GetLastError)
852 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
856 throw std::runtime_error(
"Library not loaded!");
862 auto& inst = instance();
863 if(inst.m_peak_afl_GetVersion)
865 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
869 throw std::runtime_error(
"Library not loaded!");
875 auto& inst = instance();
876 if(inst.m_peak_afl_AutoFeatureManager_Create)
878 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
882 throw std::runtime_error(
"Library not loaded!");
888 auto& inst = instance();
889 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
891 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
895 throw std::runtime_error(
"Library not loaded!");
901 auto& inst = instance();
902 if(inst.m_peak_afl_AutoFeatureManager_AddController)
904 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
908 throw std::runtime_error(
"Library not loaded!");
914 auto& inst = instance();
915 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
917 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
921 throw std::runtime_error(
"Library not loaded!");
927 auto& inst = instance();
928 if(inst.m_peak_afl_AutoFeatureManager_Process)
930 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
934 throw std::runtime_error(
"Library not loaded!");
940 auto& inst = instance();
941 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
943 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
947 throw std::runtime_error(
"Library not loaded!");
953 auto& inst = instance();
954 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
956 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
960 throw std::runtime_error(
"Library not loaded!");
966 auto& inst = instance();
967 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
969 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
973 throw std::runtime_error(
"Library not loaded!");
979 auto& inst = instance();
980 if(inst.m_peak_afl_AutoFeatureManager_SetGainIPL)
982 return inst.m_peak_afl_AutoFeatureManager_SetGainIPL(handle, gainHandle);
986 throw std::runtime_error(
"Library not loaded!");
992 auto& inst = instance();
993 if(inst.m_peak_afl_AutoFeatureManager_Status)
995 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
999 throw std::runtime_error(
"Library not loaded!");
1005 auto& inst = instance();
1006 if(inst.m_peak_afl_AutoController_Create)
1008 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
1012 throw std::runtime_error(
"Library not loaded!");
1018 auto& inst = instance();
1019 if(inst.m_peak_afl_AutoController_Destroy)
1021 return inst.m_peak_afl_AutoController_Destroy(controller);
1025 throw std::runtime_error(
"Library not loaded!");
1031 auto& inst = instance();
1032 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
1034 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
1038 throw std::runtime_error(
"Library not loaded!");
1044 auto& inst = instance();
1045 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
1047 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
1051 throw std::runtime_error(
"Library not loaded!");
1057 auto& inst = instance();
1058 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
1060 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
1064 throw std::runtime_error(
"Library not loaded!");
1070 auto& inst = instance();
1071 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1073 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1077 throw std::runtime_error(
"Library not loaded!");
1083 auto& inst = instance();
1084 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1086 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1090 throw std::runtime_error(
"Library not loaded!");
1096 auto& inst = instance();
1097 if(inst.m_peak_afl_AutoController_ROI_Set)
1099 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1103 throw std::runtime_error(
"Library not loaded!");
1109 auto& inst = instance();
1110 if(inst.m_peak_afl_AutoController_ROI_Get)
1112 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1116 throw std::runtime_error(
"Library not loaded!");
1122 auto& inst = instance();
1123 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1125 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1129 throw std::runtime_error(
"Library not loaded!");
1135 auto& inst = instance();
1136 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1138 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1142 throw std::runtime_error(
"Library not loaded!");
1148 auto& inst = instance();
1149 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1151 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1155 throw std::runtime_error(
"Library not loaded!");
1161 auto& inst = instance();
1162 if(inst.m_peak_afl_AutoController_Mode_Set)
1164 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1168 throw std::runtime_error(
"Library not loaded!");
1174 auto& inst = instance();
1175 if(inst.m_peak_afl_AutoController_Mode_Get)
1177 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1181 throw std::runtime_error(
"Library not loaded!");
1187 auto& inst = instance();
1188 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported)
1190 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_IsSupported(controller, supported);
1194 throw std::runtime_error(
"Library not loaded!");
1200 auto& inst = instance();
1201 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set)
1203 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Set(controller, component, mode);
1207 throw std::runtime_error(
"Library not loaded!");
1213 auto& inst = instance();
1214 if(inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get)
1216 return inst.m_peak_afl_AutoController_BrightnessComponent_Mode_Get(controller, component, mode);
1220 throw std::runtime_error(
"Library not loaded!");
1226 auto& inst = instance();
1227 if(inst.m_peak_afl_AutoController_BrightnessComponent_Status)
1229 return inst.m_peak_afl_AutoController_BrightnessComponent_Status(controller, component, status);
1233 throw std::runtime_error(
"Library not loaded!");
1239 auto& inst = instance();
1240 if(inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set)
1242 return inst.m_peak_afl_AutoController_BrightnessComponent_Callback_Set(controller, component, type, funcPtr, context);
1246 throw std::runtime_error(
"Library not loaded!");
1252 auto& inst = instance();
1253 if(inst.m_peak_afl_AutoController_Status)
1255 return inst.m_peak_afl_AutoController_Status(controller, status);
1259 throw std::runtime_error(
"Library not loaded!");
1265 auto& inst = instance();
1266 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1268 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1272 throw std::runtime_error(
"Library not loaded!");
1278 auto& inst = instance();
1279 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1281 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1285 throw std::runtime_error(
"Library not loaded!");
1291 auto& inst = instance();
1292 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1294 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1298 throw std::runtime_error(
"Library not loaded!");
1304 auto& inst = instance();
1305 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1307 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1311 throw std::runtime_error(
"Library not loaded!");
1317 auto& inst = instance();
1318 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1320 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1324 throw std::runtime_error(
"Library not loaded!");
1330 auto& inst = instance();
1331 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1333 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1337 throw std::runtime_error(
"Library not loaded!");
1343 auto& inst = instance();
1344 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1346 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1350 throw std::runtime_error(
"Library not loaded!");
1356 auto& inst = instance();
1357 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1359 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1363 throw std::runtime_error(
"Library not loaded!");
1369 auto& inst = instance();
1370 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1372 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1376 throw std::runtime_error(
"Library not loaded!");
1382 auto& inst = instance();
1383 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1385 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1389 throw std::runtime_error(
"Library not loaded!");
1395 auto& inst = instance();
1396 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1398 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1402 throw std::runtime_error(
"Library not loaded!");
1408 auto& inst = instance();
1409 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1411 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1415 throw std::runtime_error(
"Library not loaded!");
1421 auto& inst = instance();
1422 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1424 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1428 throw std::runtime_error(
"Library not loaded!");
1434 auto& inst = instance();
1435 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1437 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1441 throw std::runtime_error(
"Library not loaded!");
1447 auto& inst = instance();
1448 if(inst.m_peak_afl_AutoController_Type_Get)
1450 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1454 throw std::runtime_error(
"Library not loaded!");
1460 auto& inst = instance();
1461 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1463 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1467 throw std::runtime_error(
"Library not loaded!");
1473 auto& inst = instance();
1474 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1476 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1480 throw std::runtime_error(
"Library not loaded!");
1486 auto& inst = instance();
1487 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1489 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1493 throw std::runtime_error(
"Library not loaded!");
1499 auto& inst = instance();
1500 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1502 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1506 throw std::runtime_error(
"Library not loaded!");
1512 auto& inst = instance();
1513 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1515 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1519 throw std::runtime_error(
"Library not loaded!");
1525 auto& inst = instance();
1526 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1528 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1532 throw std::runtime_error(
"Library not loaded!");
1538 auto& inst = instance();
1539 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1541 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1545 throw std::runtime_error(
"Library not loaded!");
1551 auto& inst = instance();
1552 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1554 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1558 throw std::runtime_error(
"Library not loaded!");
1564 auto& inst = instance();
1565 if(inst.m_peak_afl_AutoController_Callback_Set)
1567 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1571 throw std::runtime_error(
"Library not loaded!");
1577 auto& inst = instance();
1578 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1580 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1584 throw std::runtime_error(
"Library not loaded!");
1590 auto& inst = instance();
1591 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1593 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1597 throw std::runtime_error(
"Library not loaded!");
1603 auto& inst = instance();
1604 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1606 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1610 throw std::runtime_error(
"Library not loaded!");
1616 auto& inst = instance();
1617 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1619 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1623 throw std::runtime_error(
"Library not loaded!");
1629 auto& inst = instance();
1630 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
1632 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
1636 throw std::runtime_error(
"Library not loaded!");
1642 auto& inst = instance();
1643 if(inst.m_peak_afl_AutoController_Limit_Default)
1645 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
1649 throw std::runtime_error(
"Library not loaded!");
1655 auto& inst = instance();
1656 if(inst.m_peak_afl_AutoController_Limit_Set)
1658 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
1662 throw std::runtime_error(
"Library not loaded!");
1668 auto& inst = instance();
1669 if(inst.m_peak_afl_AutoController_Limit_Get)
1671 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
1675 throw std::runtime_error(
"Library not loaded!");
1681 auto& inst = instance();
1682 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
1684 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
1688 throw std::runtime_error(
"Library not loaded!");
1694 auto& inst = instance();
1695 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
1697 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
1701 throw std::runtime_error(
"Library not loaded!");
1707 auto& inst = instance();
1708 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
1710 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
1714 throw std::runtime_error(
"Library not loaded!");
1720 auto& inst = instance();
1721 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
1723 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
1727 throw std::runtime_error(
"Library not loaded!");
1733 auto& inst = instance();
1734 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
1736 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
1740 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 automanager instance.
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:206
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:297
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:331
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:369
peak_afl_status peak_afl_AutoController_Weighted_ROI_Min_Size(peak_afl_controller_handle controller, peak_afl_size *size)
Get the autofeature minimum size of 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 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:283
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:140
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:379
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_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:184
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_AutoFeatureManager_Create(peak_afl_manager_handle *handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
Create an automanager instance.
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_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:353
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:156
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:121
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:228
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:258
peak_afl_status peak_afl_AutoFeatureManager_DestroyController(peak_afl_manager_handle handle, peak_afl_controller_handle controller)
Destroy a controller.