26 #undef PEAK_AFL_EXPORT 27 #define PEAK_AFL_EXPORT 28 #undef PEAK_AFL_CALLCONV 29 #define PEAK_AFL_CALLCONV 37 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Init)(void );
38 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_Exit)(void );
39 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetLastError)(
peak_afl_status * lastErrorCode,
char * lastErrorMessage,
size_t * lastErrorMessageSize);
40 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_GetVersion)(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
41 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Create)(peak_afl_manager_handle * handle, PEAK_NODE_MAP_HANDLE nodeMapHandle);
42 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Destroy)(peak_afl_manager_handle handle);
43 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_AddController)(peak_afl_manager_handle handle, peak_afl_manager_handle controller);
44 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_RemoveController)(peak_afl_manager_handle handle, peak_afl_manager_handle controller);
45 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Process)(peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle);
46 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_CreateController)(peak_afl_manager_handle handle, peak_afl_controller_handle * controller,
peak_afl_controllerType controllerType);
47 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_DestroyAllController)(peak_afl_manager_handle handle);
48 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_DestroyController)(peak_afl_manager_handle handle, peak_afl_controller_handle controller);
49 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoFeatureManager_Status)(peak_afl_manager_handle handle, peak_afl_BOOL8 * running);
50 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Create)(peak_afl_controller_handle * controller,
peak_afl_controllerType controllerType);
51 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Destroy)(peak_afl_controller_handle controller);
52 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
53 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Set)(peak_afl_controller_handle controller, uint32_t count);
54 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SkipFrames_Get)(peak_afl_controller_handle controller, uint32_t * count);
55 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);
56 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ROI_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
57 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ROI_Set)(peak_afl_controller_handle controller,
peak_afl_rectangle roi);
58 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ROI_Get)(peak_afl_controller_handle controller,
peak_afl_rectangle * roi);
59 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ROI_Preset_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
60 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_ROI_Preset_Set)(peak_afl_controller_handle controller,
peak_afl_roi_preset roiPreset);
61 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Mode_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
62 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Mode_Set)(peak_afl_controller_handle controller,
peak_afl_controller_automode mode);
63 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Mode_Get)(peak_afl_controller_handle controller,
peak_afl_controller_automode * mode);
64 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Status)(peak_afl_controller_handle controller,
peak_afl_controller_status * status);
65 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverage)(peak_afl_controller_handle controller, uint8_t * average);
66 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_GetLastAutoAverages)(peak_afl_controller_handle controller, uint8_t * averageRed, uint8_t * averageGreen, uint8_t * averageBlue);
67 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
68 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Set)(peak_afl_controller_handle controller, uint32_t target);
69 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTarget_Get)(peak_afl_controller_handle controller, uint32_t * target);
70 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);
71 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
72 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Set)(peak_afl_controller_handle controller, uint32_t tolerance);
73 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoTolerance_Get)(peak_afl_controller_handle controller, uint32_t * tolerance);
74 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);
75 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
76 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Set)(peak_afl_controller_handle controller,
double percentile);
77 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_Get)(peak_afl_controller_handle controller,
double * percentile);
78 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_AutoPercentile_GetRange)(peak_afl_controller_handle controller,
double * min,
double * max,
double * inc);
79 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Type_Get)(peak_afl_controller_handle controller,
peak_afl_controllerType * type);
80 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Algorithm_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
81 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Algorithm_Set)(peak_afl_controller_handle controller,
peak_afl_controller_algorithm algorithm);
82 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Algorithm_Get)(peak_afl_controller_handle controller,
peak_afl_controller_algorithm * algorithm);
83 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Algorithm_GetList)(peak_afl_controller_handle controller,
peak_afl_controller_algorithm * typeList, uint32_t * listSize);
84 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
87 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList)(peak_afl_controller_handle controller,
peak_afl_controller_sharpness_algorithm * typeList, uint32_t * listSize);
88 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Callback_Set)(peak_afl_controller_handle controller,
peak_afl_callback_type type,
void * funcPtr,
void * context);
89 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Weighted_ROI_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
90 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Weighted_ROI_Min_Size)(peak_afl_controller_handle controller,
peak_afl_size * size);
91 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Weighted_ROI_Set)(peak_afl_controller_handle controller,
const peak_afl_weighted_rectangle * weightedRoiList, uint32_t listSize);
92 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Weighted_ROI_Get)(peak_afl_controller_handle controller,
peak_afl_weighted_rectangle * weightedRoiList, uint32_t * listSize);
93 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Limit_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
94 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Limit_Default)(peak_afl_controller_handle controller,
peak_afl_controller_limit * limit);
95 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Limit_Set)(peak_afl_controller_handle controller,
peak_afl_controller_limit limit);
96 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Limit_Get)(peak_afl_controller_handle controller,
peak_afl_controller_limit * limit);
97 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_IsSupported)(peak_afl_controller_handle controller, peak_afl_BOOL8 * supported);
98 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Default)(peak_afl_controller_handle controller, uint8_t * hysteresis);
99 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Set)(peak_afl_controller_handle controller, uint8_t hysteresis);
100 typedef PEAK_AFL_API_STATUS (*dyn_peak_afl_AutoController_Hysteresis_Get)(peak_afl_controller_handle controller, uint8_t * hysteresis);
101 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);
109 static DynamicLoader& instance()
111 static DynamicLoader dynamicLoader{};
112 return dynamicLoader;
114 bool loadLib(
const char* file);
116 bool setPointers(
bool load);
121 static bool isLoaded();
126 static PEAK_AFL_API_STATUS
peak_afl_GetVersion(uint32_t * majorVersion, uint32_t * minorVersion, uint32_t * subminorVersion, uint32_t * patchVersion);
190 void* m_handle =
nullptr;
191 dyn_peak_afl_Init m_peak_afl_Init{};
192 dyn_peak_afl_Exit m_peak_afl_Exit{};
193 dyn_peak_afl_GetLastError m_peak_afl_GetLastError{};
194 dyn_peak_afl_GetVersion m_peak_afl_GetVersion{};
195 dyn_peak_afl_AutoFeatureManager_Create m_peak_afl_AutoFeatureManager_Create{};
196 dyn_peak_afl_AutoFeatureManager_Destroy m_peak_afl_AutoFeatureManager_Destroy{};
197 dyn_peak_afl_AutoFeatureManager_AddController m_peak_afl_AutoFeatureManager_AddController{};
198 dyn_peak_afl_AutoFeatureManager_RemoveController m_peak_afl_AutoFeatureManager_RemoveController{};
199 dyn_peak_afl_AutoFeatureManager_Process m_peak_afl_AutoFeatureManager_Process{};
200 dyn_peak_afl_AutoFeatureManager_CreateController m_peak_afl_AutoFeatureManager_CreateController{};
201 dyn_peak_afl_AutoFeatureManager_DestroyAllController m_peak_afl_AutoFeatureManager_DestroyAllController{};
202 dyn_peak_afl_AutoFeatureManager_DestroyController m_peak_afl_AutoFeatureManager_DestroyController{};
203 dyn_peak_afl_AutoFeatureManager_Status m_peak_afl_AutoFeatureManager_Status{};
204 dyn_peak_afl_AutoController_Create m_peak_afl_AutoController_Create{};
205 dyn_peak_afl_AutoController_Destroy m_peak_afl_AutoController_Destroy{};
206 dyn_peak_afl_AutoController_SkipFrames_IsSupported m_peak_afl_AutoController_SkipFrames_IsSupported{};
207 dyn_peak_afl_AutoController_SkipFrames_Set m_peak_afl_AutoController_SkipFrames_Set{};
208 dyn_peak_afl_AutoController_SkipFrames_Get m_peak_afl_AutoController_SkipFrames_Get{};
209 dyn_peak_afl_AutoController_SkipFrames_GetRange m_peak_afl_AutoController_SkipFrames_GetRange{};
210 dyn_peak_afl_AutoController_ROI_IsSupported m_peak_afl_AutoController_ROI_IsSupported{};
211 dyn_peak_afl_AutoController_ROI_Set m_peak_afl_AutoController_ROI_Set{};
212 dyn_peak_afl_AutoController_ROI_Get m_peak_afl_AutoController_ROI_Get{};
213 dyn_peak_afl_AutoController_ROI_Preset_IsSupported m_peak_afl_AutoController_ROI_Preset_IsSupported{};
214 dyn_peak_afl_AutoController_ROI_Preset_Set m_peak_afl_AutoController_ROI_Preset_Set{};
215 dyn_peak_afl_AutoController_Mode_IsSupported m_peak_afl_AutoController_Mode_IsSupported{};
216 dyn_peak_afl_AutoController_Mode_Set m_peak_afl_AutoController_Mode_Set{};
217 dyn_peak_afl_AutoController_Mode_Get m_peak_afl_AutoController_Mode_Get{};
218 dyn_peak_afl_AutoController_Status m_peak_afl_AutoController_Status{};
219 dyn_peak_afl_AutoController_GetLastAutoAverage m_peak_afl_AutoController_GetLastAutoAverage{};
220 dyn_peak_afl_AutoController_GetLastAutoAverages m_peak_afl_AutoController_GetLastAutoAverages{};
221 dyn_peak_afl_AutoController_AutoTarget_IsSupported m_peak_afl_AutoController_AutoTarget_IsSupported{};
222 dyn_peak_afl_AutoController_AutoTarget_Set m_peak_afl_AutoController_AutoTarget_Set{};
223 dyn_peak_afl_AutoController_AutoTarget_Get m_peak_afl_AutoController_AutoTarget_Get{};
224 dyn_peak_afl_AutoController_AutoTarget_GetRange m_peak_afl_AutoController_AutoTarget_GetRange{};
225 dyn_peak_afl_AutoController_AutoTolerance_IsSupported m_peak_afl_AutoController_AutoTolerance_IsSupported{};
226 dyn_peak_afl_AutoController_AutoTolerance_Set m_peak_afl_AutoController_AutoTolerance_Set{};
227 dyn_peak_afl_AutoController_AutoTolerance_Get m_peak_afl_AutoController_AutoTolerance_Get{};
228 dyn_peak_afl_AutoController_AutoTolerance_GetRange m_peak_afl_AutoController_AutoTolerance_GetRange{};
229 dyn_peak_afl_AutoController_AutoPercentile_IsSupported m_peak_afl_AutoController_AutoPercentile_IsSupported{};
230 dyn_peak_afl_AutoController_AutoPercentile_Set m_peak_afl_AutoController_AutoPercentile_Set{};
231 dyn_peak_afl_AutoController_AutoPercentile_Get m_peak_afl_AutoController_AutoPercentile_Get{};
232 dyn_peak_afl_AutoController_AutoPercentile_GetRange m_peak_afl_AutoController_AutoPercentile_GetRange{};
233 dyn_peak_afl_AutoController_Type_Get m_peak_afl_AutoController_Type_Get{};
234 dyn_peak_afl_AutoController_Algorithm_IsSupported m_peak_afl_AutoController_Algorithm_IsSupported{};
235 dyn_peak_afl_AutoController_Algorithm_Set m_peak_afl_AutoController_Algorithm_Set{};
236 dyn_peak_afl_AutoController_Algorithm_Get m_peak_afl_AutoController_Algorithm_Get{};
237 dyn_peak_afl_AutoController_Algorithm_GetList m_peak_afl_AutoController_Algorithm_GetList{};
238 dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported{};
239 dyn_peak_afl_AutoController_SharpnessAlgorithm_Set m_peak_afl_AutoController_SharpnessAlgorithm_Set{};
240 dyn_peak_afl_AutoController_SharpnessAlgorithm_Get m_peak_afl_AutoController_SharpnessAlgorithm_Get{};
241 dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList m_peak_afl_AutoController_SharpnessAlgorithm_GetList{};
242 dyn_peak_afl_AutoController_Callback_Set m_peak_afl_AutoController_Callback_Set{};
243 dyn_peak_afl_AutoController_Weighted_ROI_IsSupported m_peak_afl_AutoController_Weighted_ROI_IsSupported{};
244 dyn_peak_afl_AutoController_Weighted_ROI_Min_Size m_peak_afl_AutoController_Weighted_ROI_Min_Size{};
245 dyn_peak_afl_AutoController_Weighted_ROI_Set m_peak_afl_AutoController_Weighted_ROI_Set{};
246 dyn_peak_afl_AutoController_Weighted_ROI_Get m_peak_afl_AutoController_Weighted_ROI_Get{};
247 dyn_peak_afl_AutoController_Limit_IsSupported m_peak_afl_AutoController_Limit_IsSupported{};
248 dyn_peak_afl_AutoController_Limit_Default m_peak_afl_AutoController_Limit_Default{};
249 dyn_peak_afl_AutoController_Limit_Set m_peak_afl_AutoController_Limit_Set{};
250 dyn_peak_afl_AutoController_Limit_Get m_peak_afl_AutoController_Limit_Get{};
251 dyn_peak_afl_AutoController_Hysteresis_IsSupported m_peak_afl_AutoController_Hysteresis_IsSupported{};
252 dyn_peak_afl_AutoController_Hysteresis_Default m_peak_afl_AutoController_Hysteresis_Default{};
253 dyn_peak_afl_AutoController_Hysteresis_Set m_peak_afl_AutoController_Hysteresis_Set{};
254 dyn_peak_afl_AutoController_Hysteresis_Get m_peak_afl_AutoController_Hysteresis_Get{};
255 dyn_peak_afl_AutoController_Hysteresis_GetRange m_peak_afl_AutoController_Hysteresis_GetRange{};
259 inline void* import_function(
void *module,
const char* proc_name)
262 return dlsym(module, proc_name);
264 return GetProcAddress(static_cast<HMODULE>(module), proc_name);
268 inline DynamicLoader::DynamicLoader()
270 #if defined _WIN32 || defined _WIN64 272 if (_wgetenv_s(&sz, NULL, 0, L
"aapienvvarrootpath") == 0
275 std::vector<wchar_t> env_peak_afl(sz);
276 if (_wgetenv_s(&sz, env_peak_afl.data(), sz, L
"aapienvvarrootpath") == 0)
278 if (_wgetenv_s(&sz, NULL, 0, L
"PATH") == 0
281 std::vector<wchar_t> env_path(sz);
282 if (_wgetenv_s(&sz, env_path.data(), sz, L
"PATH") == 0)
284 std::wstring peak_afl_path(env_peak_afl.data());
286 peak_afl_path.append(L
"\\aapi\\lib\\x86_64");
288 peak_afl_path.append(L
"\\aapi\\lib\\x86_32");
290 std::wstring path_var(env_path.data());
291 path_var.append(L
";").append(peak_afl_path);
292 _wputenv_s(L
"PATH", path_var.c_str());
298 loadLib(
"peak_afl.dll");
300 loadLib(
"libpeak_afl.so");
304 inline DynamicLoader::~DynamicLoader()
306 if(m_handle !=
nullptr)
312 inline bool DynamicLoader::isLoaded()
314 auto&& inst = instance();
315 return inst.m_handle !=
nullptr;
318 inline void DynamicLoader::unload()
322 if (m_handle !=
nullptr)
327 FreeLibrary(static_cast<HMODULE>(m_handle));
334 inline bool DynamicLoader::loadLib(
const char* file)
341 m_handle = dlopen(file, RTLD_NOW);
343 m_handle = LoadLibraryA(file);
345 if (m_handle !=
nullptr)
350 }
catch (
const std::exception&) {
357 throw std::runtime_error(std::string(
"Lib load failed: ") + file);
362 throw std::runtime_error(
"Filename empty");
368 inline bool DynamicLoader::setPointers(
bool load)
371 m_peak_afl_Init = (dyn_peak_afl_Init) (load ? import_function(m_handle,
"peak_afl_Init") :
nullptr);
372 if(m_peak_afl_Init ==
nullptr && load)
374 throw std::runtime_error(
"Failed to load peak_afl_Init");
377 m_peak_afl_Exit = (dyn_peak_afl_Exit) (load ? import_function(m_handle,
"peak_afl_Exit") :
nullptr);
378 if(m_peak_afl_Exit ==
nullptr && load)
380 throw std::runtime_error(
"Failed to load peak_afl_Exit");
383 m_peak_afl_GetLastError = (dyn_peak_afl_GetLastError) (load ? import_function(m_handle,
"peak_afl_GetLastError") :
nullptr);
384 if(m_peak_afl_GetLastError ==
nullptr && load)
386 throw std::runtime_error(
"Failed to load peak_afl_GetLastError");
389 m_peak_afl_GetVersion = (dyn_peak_afl_GetVersion) (load ? import_function(m_handle,
"peak_afl_GetVersion") :
nullptr);
390 if(m_peak_afl_GetVersion ==
nullptr && load)
392 throw std::runtime_error(
"Failed to load peak_afl_GetVersion");
395 m_peak_afl_AutoFeatureManager_Create = (dyn_peak_afl_AutoFeatureManager_Create) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Create") :
nullptr);
396 if(m_peak_afl_AutoFeatureManager_Create ==
nullptr && load)
398 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Create");
401 m_peak_afl_AutoFeatureManager_Destroy = (dyn_peak_afl_AutoFeatureManager_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Destroy") :
nullptr);
402 if(m_peak_afl_AutoFeatureManager_Destroy ==
nullptr && load)
404 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Destroy");
407 m_peak_afl_AutoFeatureManager_AddController = (dyn_peak_afl_AutoFeatureManager_AddController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_AddController") :
nullptr);
408 if(m_peak_afl_AutoFeatureManager_AddController ==
nullptr && load)
410 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_AddController");
413 m_peak_afl_AutoFeatureManager_RemoveController = (dyn_peak_afl_AutoFeatureManager_RemoveController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_RemoveController") :
nullptr);
414 if(m_peak_afl_AutoFeatureManager_RemoveController ==
nullptr && load)
416 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_RemoveController");
419 m_peak_afl_AutoFeatureManager_Process = (dyn_peak_afl_AutoFeatureManager_Process) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Process") :
nullptr);
420 if(m_peak_afl_AutoFeatureManager_Process ==
nullptr && load)
422 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Process");
425 m_peak_afl_AutoFeatureManager_CreateController = (dyn_peak_afl_AutoFeatureManager_CreateController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_CreateController") :
nullptr);
426 if(m_peak_afl_AutoFeatureManager_CreateController ==
nullptr && load)
428 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_CreateController");
431 m_peak_afl_AutoFeatureManager_DestroyAllController = (dyn_peak_afl_AutoFeatureManager_DestroyAllController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyAllController") :
nullptr);
432 if(m_peak_afl_AutoFeatureManager_DestroyAllController ==
nullptr && load)
434 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyAllController");
437 m_peak_afl_AutoFeatureManager_DestroyController = (dyn_peak_afl_AutoFeatureManager_DestroyController) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_DestroyController") :
nullptr);
438 if(m_peak_afl_AutoFeatureManager_DestroyController ==
nullptr && load)
440 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_DestroyController");
443 m_peak_afl_AutoFeatureManager_Status = (dyn_peak_afl_AutoFeatureManager_Status) (load ? import_function(m_handle,
"peak_afl_AutoFeatureManager_Status") :
nullptr);
444 if(m_peak_afl_AutoFeatureManager_Status ==
nullptr && load)
446 throw std::runtime_error(
"Failed to load peak_afl_AutoFeatureManager_Status");
449 m_peak_afl_AutoController_Create = (dyn_peak_afl_AutoController_Create) (load ? import_function(m_handle,
"peak_afl_AutoController_Create") :
nullptr);
450 if(m_peak_afl_AutoController_Create ==
nullptr && load)
452 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Create");
455 m_peak_afl_AutoController_Destroy = (dyn_peak_afl_AutoController_Destroy) (load ? import_function(m_handle,
"peak_afl_AutoController_Destroy") :
nullptr);
456 if(m_peak_afl_AutoController_Destroy ==
nullptr && load)
458 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Destroy");
461 m_peak_afl_AutoController_SkipFrames_IsSupported = (dyn_peak_afl_AutoController_SkipFrames_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_IsSupported") :
nullptr);
462 if(m_peak_afl_AutoController_SkipFrames_IsSupported ==
nullptr && load)
464 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_IsSupported");
467 m_peak_afl_AutoController_SkipFrames_Set = (dyn_peak_afl_AutoController_SkipFrames_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Set") :
nullptr);
468 if(m_peak_afl_AutoController_SkipFrames_Set ==
nullptr && load)
470 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Set");
473 m_peak_afl_AutoController_SkipFrames_Get = (dyn_peak_afl_AutoController_SkipFrames_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_Get") :
nullptr);
474 if(m_peak_afl_AutoController_SkipFrames_Get ==
nullptr && load)
476 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_Get");
479 m_peak_afl_AutoController_SkipFrames_GetRange = (dyn_peak_afl_AutoController_SkipFrames_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_SkipFrames_GetRange") :
nullptr);
480 if(m_peak_afl_AutoController_SkipFrames_GetRange ==
nullptr && load)
482 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SkipFrames_GetRange");
485 m_peak_afl_AutoController_ROI_IsSupported = (dyn_peak_afl_AutoController_ROI_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_IsSupported") :
nullptr);
486 if(m_peak_afl_AutoController_ROI_IsSupported ==
nullptr && load)
488 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_IsSupported");
491 m_peak_afl_AutoController_ROI_Set = (dyn_peak_afl_AutoController_ROI_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Set") :
nullptr);
492 if(m_peak_afl_AutoController_ROI_Set ==
nullptr && load)
494 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Set");
497 m_peak_afl_AutoController_ROI_Get = (dyn_peak_afl_AutoController_ROI_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_ROI_Get") :
nullptr);
498 if(m_peak_afl_AutoController_ROI_Get ==
nullptr && load)
500 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Get");
503 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);
504 if(m_peak_afl_AutoController_ROI_Preset_IsSupported ==
nullptr && load)
506 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_IsSupported");
509 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);
510 if(m_peak_afl_AutoController_ROI_Preset_Set ==
nullptr && load)
512 throw std::runtime_error(
"Failed to load peak_afl_AutoController_ROI_Preset_Set");
515 m_peak_afl_AutoController_Mode_IsSupported = (dyn_peak_afl_AutoController_Mode_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_IsSupported") :
nullptr);
516 if(m_peak_afl_AutoController_Mode_IsSupported ==
nullptr && load)
518 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_IsSupported");
521 m_peak_afl_AutoController_Mode_Set = (dyn_peak_afl_AutoController_Mode_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Set") :
nullptr);
522 if(m_peak_afl_AutoController_Mode_Set ==
nullptr && load)
524 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Set");
527 m_peak_afl_AutoController_Mode_Get = (dyn_peak_afl_AutoController_Mode_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Mode_Get") :
nullptr);
528 if(m_peak_afl_AutoController_Mode_Get ==
nullptr && load)
530 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Mode_Get");
533 m_peak_afl_AutoController_Status = (dyn_peak_afl_AutoController_Status) (load ? import_function(m_handle,
"peak_afl_AutoController_Status") :
nullptr);
534 if(m_peak_afl_AutoController_Status ==
nullptr && load)
536 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Status");
539 m_peak_afl_AutoController_GetLastAutoAverage = (dyn_peak_afl_AutoController_GetLastAutoAverage) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverage") :
nullptr);
540 if(m_peak_afl_AutoController_GetLastAutoAverage ==
nullptr && load)
542 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverage");
545 m_peak_afl_AutoController_GetLastAutoAverages = (dyn_peak_afl_AutoController_GetLastAutoAverages) (load ? import_function(m_handle,
"peak_afl_AutoController_GetLastAutoAverages") :
nullptr);
546 if(m_peak_afl_AutoController_GetLastAutoAverages ==
nullptr && load)
548 throw std::runtime_error(
"Failed to load peak_afl_AutoController_GetLastAutoAverages");
551 m_peak_afl_AutoController_AutoTarget_IsSupported = (dyn_peak_afl_AutoController_AutoTarget_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_IsSupported") :
nullptr);
552 if(m_peak_afl_AutoController_AutoTarget_IsSupported ==
nullptr && load)
554 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_IsSupported");
557 m_peak_afl_AutoController_AutoTarget_Set = (dyn_peak_afl_AutoController_AutoTarget_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Set") :
nullptr);
558 if(m_peak_afl_AutoController_AutoTarget_Set ==
nullptr && load)
560 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Set");
563 m_peak_afl_AutoController_AutoTarget_Get = (dyn_peak_afl_AutoController_AutoTarget_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_Get") :
nullptr);
564 if(m_peak_afl_AutoController_AutoTarget_Get ==
nullptr && load)
566 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_Get");
569 m_peak_afl_AutoController_AutoTarget_GetRange = (dyn_peak_afl_AutoController_AutoTarget_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTarget_GetRange") :
nullptr);
570 if(m_peak_afl_AutoController_AutoTarget_GetRange ==
nullptr && load)
572 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTarget_GetRange");
575 m_peak_afl_AutoController_AutoTolerance_IsSupported = (dyn_peak_afl_AutoController_AutoTolerance_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_IsSupported") :
nullptr);
576 if(m_peak_afl_AutoController_AutoTolerance_IsSupported ==
nullptr && load)
578 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_IsSupported");
581 m_peak_afl_AutoController_AutoTolerance_Set = (dyn_peak_afl_AutoController_AutoTolerance_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Set") :
nullptr);
582 if(m_peak_afl_AutoController_AutoTolerance_Set ==
nullptr && load)
584 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Set");
587 m_peak_afl_AutoController_AutoTolerance_Get = (dyn_peak_afl_AutoController_AutoTolerance_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_Get") :
nullptr);
588 if(m_peak_afl_AutoController_AutoTolerance_Get ==
nullptr && load)
590 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_Get");
593 m_peak_afl_AutoController_AutoTolerance_GetRange = (dyn_peak_afl_AutoController_AutoTolerance_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoTolerance_GetRange") :
nullptr);
594 if(m_peak_afl_AutoController_AutoTolerance_GetRange ==
nullptr && load)
596 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoTolerance_GetRange");
599 m_peak_afl_AutoController_AutoPercentile_IsSupported = (dyn_peak_afl_AutoController_AutoPercentile_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_IsSupported") :
nullptr);
600 if(m_peak_afl_AutoController_AutoPercentile_IsSupported ==
nullptr && load)
602 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_IsSupported");
605 m_peak_afl_AutoController_AutoPercentile_Set = (dyn_peak_afl_AutoController_AutoPercentile_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Set") :
nullptr);
606 if(m_peak_afl_AutoController_AutoPercentile_Set ==
nullptr && load)
608 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Set");
611 m_peak_afl_AutoController_AutoPercentile_Get = (dyn_peak_afl_AutoController_AutoPercentile_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_Get") :
nullptr);
612 if(m_peak_afl_AutoController_AutoPercentile_Get ==
nullptr && load)
614 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_Get");
617 m_peak_afl_AutoController_AutoPercentile_GetRange = (dyn_peak_afl_AutoController_AutoPercentile_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_AutoPercentile_GetRange") :
nullptr);
618 if(m_peak_afl_AutoController_AutoPercentile_GetRange ==
nullptr && load)
620 throw std::runtime_error(
"Failed to load peak_afl_AutoController_AutoPercentile_GetRange");
623 m_peak_afl_AutoController_Type_Get = (dyn_peak_afl_AutoController_Type_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Type_Get") :
nullptr);
624 if(m_peak_afl_AutoController_Type_Get ==
nullptr && load)
626 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Type_Get");
629 m_peak_afl_AutoController_Algorithm_IsSupported = (dyn_peak_afl_AutoController_Algorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_IsSupported") :
nullptr);
630 if(m_peak_afl_AutoController_Algorithm_IsSupported ==
nullptr && load)
632 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_IsSupported");
635 m_peak_afl_AutoController_Algorithm_Set = (dyn_peak_afl_AutoController_Algorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Set") :
nullptr);
636 if(m_peak_afl_AutoController_Algorithm_Set ==
nullptr && load)
638 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Set");
641 m_peak_afl_AutoController_Algorithm_Get = (dyn_peak_afl_AutoController_Algorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_Get") :
nullptr);
642 if(m_peak_afl_AutoController_Algorithm_Get ==
nullptr && load)
644 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_Get");
647 m_peak_afl_AutoController_Algorithm_GetList = (dyn_peak_afl_AutoController_Algorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_Algorithm_GetList") :
nullptr);
648 if(m_peak_afl_AutoController_Algorithm_GetList ==
nullptr && load)
650 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Algorithm_GetList");
653 m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported = (dyn_peak_afl_AutoController_SharpnessAlgorithm_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_IsSupported") :
nullptr);
654 if(m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported ==
nullptr && load)
656 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_IsSupported");
659 m_peak_afl_AutoController_SharpnessAlgorithm_Set = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Set") :
nullptr);
660 if(m_peak_afl_AutoController_SharpnessAlgorithm_Set ==
nullptr && load)
662 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Set");
665 m_peak_afl_AutoController_SharpnessAlgorithm_Get = (dyn_peak_afl_AutoController_SharpnessAlgorithm_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_Get") :
nullptr);
666 if(m_peak_afl_AutoController_SharpnessAlgorithm_Get ==
nullptr && load)
668 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_Get");
671 m_peak_afl_AutoController_SharpnessAlgorithm_GetList = (dyn_peak_afl_AutoController_SharpnessAlgorithm_GetList) (load ? import_function(m_handle,
"peak_afl_AutoController_SharpnessAlgorithm_GetList") :
nullptr);
672 if(m_peak_afl_AutoController_SharpnessAlgorithm_GetList ==
nullptr && load)
674 throw std::runtime_error(
"Failed to load peak_afl_AutoController_SharpnessAlgorithm_GetList");
677 m_peak_afl_AutoController_Callback_Set = (dyn_peak_afl_AutoController_Callback_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Callback_Set") :
nullptr);
678 if(m_peak_afl_AutoController_Callback_Set ==
nullptr && load)
680 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Callback_Set");
683 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);
684 if(m_peak_afl_AutoController_Weighted_ROI_IsSupported ==
nullptr && load)
686 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_IsSupported");
689 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);
690 if(m_peak_afl_AutoController_Weighted_ROI_Min_Size ==
nullptr && load)
692 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Min_Size");
695 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);
696 if(m_peak_afl_AutoController_Weighted_ROI_Set ==
nullptr && load)
698 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Set");
701 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);
702 if(m_peak_afl_AutoController_Weighted_ROI_Get ==
nullptr && load)
704 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Weighted_ROI_Get");
707 m_peak_afl_AutoController_Limit_IsSupported = (dyn_peak_afl_AutoController_Limit_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_IsSupported") :
nullptr);
708 if(m_peak_afl_AutoController_Limit_IsSupported ==
nullptr && load)
710 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_IsSupported");
713 m_peak_afl_AutoController_Limit_Default = (dyn_peak_afl_AutoController_Limit_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Default") :
nullptr);
714 if(m_peak_afl_AutoController_Limit_Default ==
nullptr && load)
716 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Default");
719 m_peak_afl_AutoController_Limit_Set = (dyn_peak_afl_AutoController_Limit_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Set") :
nullptr);
720 if(m_peak_afl_AutoController_Limit_Set ==
nullptr && load)
722 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Set");
725 m_peak_afl_AutoController_Limit_Get = (dyn_peak_afl_AutoController_Limit_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Limit_Get") :
nullptr);
726 if(m_peak_afl_AutoController_Limit_Get ==
nullptr && load)
728 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Limit_Get");
731 m_peak_afl_AutoController_Hysteresis_IsSupported = (dyn_peak_afl_AutoController_Hysteresis_IsSupported) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_IsSupported") :
nullptr);
732 if(m_peak_afl_AutoController_Hysteresis_IsSupported ==
nullptr && load)
734 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_IsSupported");
737 m_peak_afl_AutoController_Hysteresis_Default = (dyn_peak_afl_AutoController_Hysteresis_Default) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Default") :
nullptr);
738 if(m_peak_afl_AutoController_Hysteresis_Default ==
nullptr && load)
740 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Default");
743 m_peak_afl_AutoController_Hysteresis_Set = (dyn_peak_afl_AutoController_Hysteresis_Set) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Set") :
nullptr);
744 if(m_peak_afl_AutoController_Hysteresis_Set ==
nullptr && load)
746 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Set");
749 m_peak_afl_AutoController_Hysteresis_Get = (dyn_peak_afl_AutoController_Hysteresis_Get) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_Get") :
nullptr);
750 if(m_peak_afl_AutoController_Hysteresis_Get ==
nullptr && load)
752 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_Get");
755 m_peak_afl_AutoController_Hysteresis_GetRange = (dyn_peak_afl_AutoController_Hysteresis_GetRange) (load ? import_function(m_handle,
"peak_afl_AutoController_Hysteresis_GetRange") :
nullptr);
756 if(m_peak_afl_AutoController_Hysteresis_GetRange ==
nullptr && load)
758 throw std::runtime_error(
"Failed to load peak_afl_AutoController_Hysteresis_GetRange");
767 auto& inst = instance();
768 if(inst.m_peak_afl_Init)
770 return inst.m_peak_afl_Init();
774 throw std::runtime_error(
"Library not loaded!");
780 auto& inst = instance();
781 if(inst.m_peak_afl_Exit)
783 return inst.m_peak_afl_Exit();
787 throw std::runtime_error(
"Library not loaded!");
793 auto& inst = instance();
794 if(inst.m_peak_afl_GetLastError)
796 return inst.m_peak_afl_GetLastError(lastErrorCode, lastErrorMessage, lastErrorMessageSize);
800 throw std::runtime_error(
"Library not loaded!");
806 auto& inst = instance();
807 if(inst.m_peak_afl_GetVersion)
809 return inst.m_peak_afl_GetVersion(majorVersion, minorVersion, subminorVersion, patchVersion);
813 throw std::runtime_error(
"Library not loaded!");
819 auto& inst = instance();
820 if(inst.m_peak_afl_AutoFeatureManager_Create)
822 return inst.m_peak_afl_AutoFeatureManager_Create(handle, nodeMapHandle);
826 throw std::runtime_error(
"Library not loaded!");
832 auto& inst = instance();
833 if(inst.m_peak_afl_AutoFeatureManager_Destroy)
835 return inst.m_peak_afl_AutoFeatureManager_Destroy(handle);
839 throw std::runtime_error(
"Library not loaded!");
845 auto& inst = instance();
846 if(inst.m_peak_afl_AutoFeatureManager_AddController)
848 return inst.m_peak_afl_AutoFeatureManager_AddController(handle, controller);
852 throw std::runtime_error(
"Library not loaded!");
858 auto& inst = instance();
859 if(inst.m_peak_afl_AutoFeatureManager_RemoveController)
861 return inst.m_peak_afl_AutoFeatureManager_RemoveController(handle, controller);
865 throw std::runtime_error(
"Library not loaded!");
871 auto& inst = instance();
872 if(inst.m_peak_afl_AutoFeatureManager_Process)
874 return inst.m_peak_afl_AutoFeatureManager_Process(handle, imageHandle);
878 throw std::runtime_error(
"Library not loaded!");
884 auto& inst = instance();
885 if(inst.m_peak_afl_AutoFeatureManager_CreateController)
887 return inst.m_peak_afl_AutoFeatureManager_CreateController(handle, controller, controllerType);
891 throw std::runtime_error(
"Library not loaded!");
897 auto& inst = instance();
898 if(inst.m_peak_afl_AutoFeatureManager_DestroyAllController)
900 return inst.m_peak_afl_AutoFeatureManager_DestroyAllController(handle);
904 throw std::runtime_error(
"Library not loaded!");
910 auto& inst = instance();
911 if(inst.m_peak_afl_AutoFeatureManager_DestroyController)
913 return inst.m_peak_afl_AutoFeatureManager_DestroyController(handle, controller);
917 throw std::runtime_error(
"Library not loaded!");
923 auto& inst = instance();
924 if(inst.m_peak_afl_AutoFeatureManager_Status)
926 return inst.m_peak_afl_AutoFeatureManager_Status(handle, running);
930 throw std::runtime_error(
"Library not loaded!");
936 auto& inst = instance();
937 if(inst.m_peak_afl_AutoController_Create)
939 return inst.m_peak_afl_AutoController_Create(controller, controllerType);
943 throw std::runtime_error(
"Library not loaded!");
949 auto& inst = instance();
950 if(inst.m_peak_afl_AutoController_Destroy)
952 return inst.m_peak_afl_AutoController_Destroy(controller);
956 throw std::runtime_error(
"Library not loaded!");
962 auto& inst = instance();
963 if(inst.m_peak_afl_AutoController_SkipFrames_IsSupported)
965 return inst.m_peak_afl_AutoController_SkipFrames_IsSupported(controller, supported);
969 throw std::runtime_error(
"Library not loaded!");
975 auto& inst = instance();
976 if(inst.m_peak_afl_AutoController_SkipFrames_Set)
978 return inst.m_peak_afl_AutoController_SkipFrames_Set(controller, count);
982 throw std::runtime_error(
"Library not loaded!");
988 auto& inst = instance();
989 if(inst.m_peak_afl_AutoController_SkipFrames_Get)
991 return inst.m_peak_afl_AutoController_SkipFrames_Get(controller, count);
995 throw std::runtime_error(
"Library not loaded!");
1001 auto& inst = instance();
1002 if(inst.m_peak_afl_AutoController_SkipFrames_GetRange)
1004 return inst.m_peak_afl_AutoController_SkipFrames_GetRange(controller, min, max, inc);
1008 throw std::runtime_error(
"Library not loaded!");
1014 auto& inst = instance();
1015 if(inst.m_peak_afl_AutoController_ROI_IsSupported)
1017 return inst.m_peak_afl_AutoController_ROI_IsSupported(controller, supported);
1021 throw std::runtime_error(
"Library not loaded!");
1027 auto& inst = instance();
1028 if(inst.m_peak_afl_AutoController_ROI_Set)
1030 return inst.m_peak_afl_AutoController_ROI_Set(controller, roi);
1034 throw std::runtime_error(
"Library not loaded!");
1040 auto& inst = instance();
1041 if(inst.m_peak_afl_AutoController_ROI_Get)
1043 return inst.m_peak_afl_AutoController_ROI_Get(controller, roi);
1047 throw std::runtime_error(
"Library not loaded!");
1053 auto& inst = instance();
1054 if(inst.m_peak_afl_AutoController_ROI_Preset_IsSupported)
1056 return inst.m_peak_afl_AutoController_ROI_Preset_IsSupported(controller, supported);
1060 throw std::runtime_error(
"Library not loaded!");
1066 auto& inst = instance();
1067 if(inst.m_peak_afl_AutoController_ROI_Preset_Set)
1069 return inst.m_peak_afl_AutoController_ROI_Preset_Set(controller, roiPreset);
1073 throw std::runtime_error(
"Library not loaded!");
1079 auto& inst = instance();
1080 if(inst.m_peak_afl_AutoController_Mode_IsSupported)
1082 return inst.m_peak_afl_AutoController_Mode_IsSupported(controller, supported);
1086 throw std::runtime_error(
"Library not loaded!");
1092 auto& inst = instance();
1093 if(inst.m_peak_afl_AutoController_Mode_Set)
1095 return inst.m_peak_afl_AutoController_Mode_Set(controller, mode);
1099 throw std::runtime_error(
"Library not loaded!");
1105 auto& inst = instance();
1106 if(inst.m_peak_afl_AutoController_Mode_Get)
1108 return inst.m_peak_afl_AutoController_Mode_Get(controller, mode);
1112 throw std::runtime_error(
"Library not loaded!");
1118 auto& inst = instance();
1119 if(inst.m_peak_afl_AutoController_Status)
1121 return inst.m_peak_afl_AutoController_Status(controller, status);
1125 throw std::runtime_error(
"Library not loaded!");
1131 auto& inst = instance();
1132 if(inst.m_peak_afl_AutoController_GetLastAutoAverage)
1134 return inst.m_peak_afl_AutoController_GetLastAutoAverage(controller, average);
1138 throw std::runtime_error(
"Library not loaded!");
1144 auto& inst = instance();
1145 if(inst.m_peak_afl_AutoController_GetLastAutoAverages)
1147 return inst.m_peak_afl_AutoController_GetLastAutoAverages(controller, averageRed, averageGreen, averageBlue);
1151 throw std::runtime_error(
"Library not loaded!");
1157 auto& inst = instance();
1158 if(inst.m_peak_afl_AutoController_AutoTarget_IsSupported)
1160 return inst.m_peak_afl_AutoController_AutoTarget_IsSupported(controller, supported);
1164 throw std::runtime_error(
"Library not loaded!");
1170 auto& inst = instance();
1171 if(inst.m_peak_afl_AutoController_AutoTarget_Set)
1173 return inst.m_peak_afl_AutoController_AutoTarget_Set(controller, target);
1177 throw std::runtime_error(
"Library not loaded!");
1183 auto& inst = instance();
1184 if(inst.m_peak_afl_AutoController_AutoTarget_Get)
1186 return inst.m_peak_afl_AutoController_AutoTarget_Get(controller, target);
1190 throw std::runtime_error(
"Library not loaded!");
1196 auto& inst = instance();
1197 if(inst.m_peak_afl_AutoController_AutoTarget_GetRange)
1199 return inst.m_peak_afl_AutoController_AutoTarget_GetRange(controller, min, max, inc);
1203 throw std::runtime_error(
"Library not loaded!");
1209 auto& inst = instance();
1210 if(inst.m_peak_afl_AutoController_AutoTolerance_IsSupported)
1212 return inst.m_peak_afl_AutoController_AutoTolerance_IsSupported(controller, supported);
1216 throw std::runtime_error(
"Library not loaded!");
1222 auto& inst = instance();
1223 if(inst.m_peak_afl_AutoController_AutoTolerance_Set)
1225 return inst.m_peak_afl_AutoController_AutoTolerance_Set(controller, tolerance);
1229 throw std::runtime_error(
"Library not loaded!");
1235 auto& inst = instance();
1236 if(inst.m_peak_afl_AutoController_AutoTolerance_Get)
1238 return inst.m_peak_afl_AutoController_AutoTolerance_Get(controller, tolerance);
1242 throw std::runtime_error(
"Library not loaded!");
1248 auto& inst = instance();
1249 if(inst.m_peak_afl_AutoController_AutoTolerance_GetRange)
1251 return inst.m_peak_afl_AutoController_AutoTolerance_GetRange(controller, min, max, inc);
1255 throw std::runtime_error(
"Library not loaded!");
1261 auto& inst = instance();
1262 if(inst.m_peak_afl_AutoController_AutoPercentile_IsSupported)
1264 return inst.m_peak_afl_AutoController_AutoPercentile_IsSupported(controller, supported);
1268 throw std::runtime_error(
"Library not loaded!");
1274 auto& inst = instance();
1275 if(inst.m_peak_afl_AutoController_AutoPercentile_Set)
1277 return inst.m_peak_afl_AutoController_AutoPercentile_Set(controller, percentile);
1281 throw std::runtime_error(
"Library not loaded!");
1287 auto& inst = instance();
1288 if(inst.m_peak_afl_AutoController_AutoPercentile_Get)
1290 return inst.m_peak_afl_AutoController_AutoPercentile_Get(controller, percentile);
1294 throw std::runtime_error(
"Library not loaded!");
1300 auto& inst = instance();
1301 if(inst.m_peak_afl_AutoController_AutoPercentile_GetRange)
1303 return inst.m_peak_afl_AutoController_AutoPercentile_GetRange(controller, min, max, inc);
1307 throw std::runtime_error(
"Library not loaded!");
1313 auto& inst = instance();
1314 if(inst.m_peak_afl_AutoController_Type_Get)
1316 return inst.m_peak_afl_AutoController_Type_Get(controller, type);
1320 throw std::runtime_error(
"Library not loaded!");
1326 auto& inst = instance();
1327 if(inst.m_peak_afl_AutoController_Algorithm_IsSupported)
1329 return inst.m_peak_afl_AutoController_Algorithm_IsSupported(controller, supported);
1333 throw std::runtime_error(
"Library not loaded!");
1339 auto& inst = instance();
1340 if(inst.m_peak_afl_AutoController_Algorithm_Set)
1342 return inst.m_peak_afl_AutoController_Algorithm_Set(controller, algorithm);
1346 throw std::runtime_error(
"Library not loaded!");
1352 auto& inst = instance();
1353 if(inst.m_peak_afl_AutoController_Algorithm_Get)
1355 return inst.m_peak_afl_AutoController_Algorithm_Get(controller, algorithm);
1359 throw std::runtime_error(
"Library not loaded!");
1365 auto& inst = instance();
1366 if(inst.m_peak_afl_AutoController_Algorithm_GetList)
1368 return inst.m_peak_afl_AutoController_Algorithm_GetList(controller, typeList, listSize);
1372 throw std::runtime_error(
"Library not loaded!");
1378 auto& inst = instance();
1379 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported)
1381 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_IsSupported(controller, supported);
1385 throw std::runtime_error(
"Library not loaded!");
1391 auto& inst = instance();
1392 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set)
1394 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Set(controller, algorithm);
1398 throw std::runtime_error(
"Library not loaded!");
1404 auto& inst = instance();
1405 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get)
1407 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_Get(controller, algorithm);
1411 throw std::runtime_error(
"Library not loaded!");
1417 auto& inst = instance();
1418 if(inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList)
1420 return inst.m_peak_afl_AutoController_SharpnessAlgorithm_GetList(controller, typeList, listSize);
1424 throw std::runtime_error(
"Library not loaded!");
1430 auto& inst = instance();
1431 if(inst.m_peak_afl_AutoController_Callback_Set)
1433 return inst.m_peak_afl_AutoController_Callback_Set(controller, type, funcPtr, context);
1437 throw std::runtime_error(
"Library not loaded!");
1443 auto& inst = instance();
1444 if(inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported)
1446 return inst.m_peak_afl_AutoController_Weighted_ROI_IsSupported(controller, supported);
1450 throw std::runtime_error(
"Library not loaded!");
1456 auto& inst = instance();
1457 if(inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size)
1459 return inst.m_peak_afl_AutoController_Weighted_ROI_Min_Size(controller, size);
1463 throw std::runtime_error(
"Library not loaded!");
1469 auto& inst = instance();
1470 if(inst.m_peak_afl_AutoController_Weighted_ROI_Set)
1472 return inst.m_peak_afl_AutoController_Weighted_ROI_Set(controller, weightedRoiList, listSize);
1476 throw std::runtime_error(
"Library not loaded!");
1482 auto& inst = instance();
1483 if(inst.m_peak_afl_AutoController_Weighted_ROI_Get)
1485 return inst.m_peak_afl_AutoController_Weighted_ROI_Get(controller, weightedRoiList, listSize);
1489 throw std::runtime_error(
"Library not loaded!");
1495 auto& inst = instance();
1496 if(inst.m_peak_afl_AutoController_Limit_IsSupported)
1498 return inst.m_peak_afl_AutoController_Limit_IsSupported(controller, supported);
1502 throw std::runtime_error(
"Library not loaded!");
1508 auto& inst = instance();
1509 if(inst.m_peak_afl_AutoController_Limit_Default)
1511 return inst.m_peak_afl_AutoController_Limit_Default(controller, limit);
1515 throw std::runtime_error(
"Library not loaded!");
1521 auto& inst = instance();
1522 if(inst.m_peak_afl_AutoController_Limit_Set)
1524 return inst.m_peak_afl_AutoController_Limit_Set(controller, limit);
1528 throw std::runtime_error(
"Library not loaded!");
1534 auto& inst = instance();
1535 if(inst.m_peak_afl_AutoController_Limit_Get)
1537 return inst.m_peak_afl_AutoController_Limit_Get(controller, limit);
1541 throw std::runtime_error(
"Library not loaded!");
1547 auto& inst = instance();
1548 if(inst.m_peak_afl_AutoController_Hysteresis_IsSupported)
1550 return inst.m_peak_afl_AutoController_Hysteresis_IsSupported(controller, supported);
1554 throw std::runtime_error(
"Library not loaded!");
1560 auto& inst = instance();
1561 if(inst.m_peak_afl_AutoController_Hysteresis_Default)
1563 return inst.m_peak_afl_AutoController_Hysteresis_Default(controller, hysteresis);
1567 throw std::runtime_error(
"Library not loaded!");
1573 auto& inst = instance();
1574 if(inst.m_peak_afl_AutoController_Hysteresis_Set)
1576 return inst.m_peak_afl_AutoController_Hysteresis_Set(controller, hysteresis);
1580 throw std::runtime_error(
"Library not loaded!");
1586 auto& inst = instance();
1587 if(inst.m_peak_afl_AutoController_Hysteresis_Get)
1589 return inst.m_peak_afl_AutoController_Hysteresis_Get(controller, hysteresis);
1593 throw std::runtime_error(
"Library not loaded!");
1599 auto& inst = instance();
1600 if(inst.m_peak_afl_AutoController_Hysteresis_GetRange)
1602 return inst.m_peak_afl_AutoController_Hysteresis_GetRange(controller, min, max, inc);
1606 throw std::runtime_error(
"Library not loaded!");
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_AutoTarget_Get(peak_afl_controller_handle controller, uint32_t *target)
Get the currently set auto target for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Mode_Set(peak_afl_controller_handle controller, peak_afl_controller_automode mode)
Set the autofeature mode for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Hysteresis_Set(peak_afl_controller_handle controller, uint8_t hysteresis)
Set the autofeature hysteresis for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Limit_Default(peak_afl_controller_handle controller, peak_afl_controller_limit *limit)
Get the autofeature default limit.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_CreateController(peak_afl_manager_handle handle, peak_afl_controller_handle *controller, peak_afl_controllerType controllerType)
Create a controller and append it to Manager.
peak_afl_controller_sharpness_algorithm
controller sharpness algorithm (focus)
Definition: peak_afl.h:191
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_Create(peak_afl_manager_handle *handle, PEAK_NODE_MAP_HANDLE nodeMapHandle)
Create an automanager instance.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Algorithm_Get(peak_afl_controller_handle controller, peak_afl_controller_algorithm *algorithm)
Get the used algorithm for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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:78
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_AutoTolerance_Set(peak_afl_controller_handle controller, uint32_t tolerance)
Set the auto tolerance for a controller.
Definition: peak_afl_dynamic_loader.h:32
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_AutoPercentile_Set(peak_afl_controller_handle controller, double percentile)
Set the auto percentile for a controller.
peak_afl Size (2D)
Definition: peak_afl.h:262
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_Destroy(peak_afl_manager_handle handle)
Destroy an automanager instance.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_GetLastAutoAverage(peak_afl_controller_handle controller, uint8_t *average)
Get the last auto average for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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 Rectangle (2D)
Definition: peak_afl.h:296
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Type_Get(peak_afl_controller_handle controller, peak_afl_controllerType *type)
Get the controller type.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_AutoPercentile_Get(peak_afl_controller_handle controller, double *percentile)
Get the auto percentile for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_AutoTolerance_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get the auto tolerance range for a controller.
peak_afl Focus Limit
Definition: peak_afl.h:334
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_AutoTolerance_Get(peak_afl_controller_handle controller, uint32_t *tolerance)
Get the current auto tolerance for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Limit_Set(peak_afl_controller_handle controller, peak_afl_controller_limit limit)
Set the autofeature limit for a controller.
peak_afl_roi_preset
controller roi preset
Definition: peak_afl.h:248
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Hysteresis_Default(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis default.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_controller_automode
controller automode
Definition: peak_afl.h:125
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Limit_Get(peak_afl_controller_handle controller, peak_afl_controller_limit *limit)
Get the autofeature limit for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Hysteresis_Get(peak_afl_controller_handle controller, uint8_t *hysteresis)
Get the autofeature hysteresis for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Create(peak_afl_controller_handle *controller, peak_afl_controllerType controllerType)
Create a new controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_DestroyAllController(peak_afl_manager_handle handle)
Destroy all controllers for a manager.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Status(peak_afl_controller_handle controller, peak_afl_controller_status *status)
Get the status for a controller.
peak_afl_controller_algorithm
controller algorithm
Definition: peak_afl.h:169
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_GetVersion(uint32_t *majorVersion, uint32_t *minorVersion, uint32_t *subminorVersion, uint32_t *patchVersion)
Query the library version.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_Init(void)
Init the peak_afl auto feature library.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_DestroyController(peak_afl_manager_handle handle, peak_afl_controller_handle controller)
Destroy a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Destroy(peak_afl_controller_handle controller)
Destroy a controller. Will fail if it is queued inside a manager.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_Exit(void)
Exit the peak_afl auto feature library.
peak_afl Focus Rectangle
Definition: peak_afl.h:318
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_AutoTarget_Set(peak_afl_controller_handle controller, uint32_t target)
Set the auto target for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Limit_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if limit is supported for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_GetLastError(peak_afl_status *lastErrorCode, char *lastErrorMessage, size_t *lastErrorMessageSize)
Get the last error message.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_controller_status
controller status
Definition: peak_afl.h:141
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_SkipFrames_Get(peak_afl_controller_handle controller, uint32_t *count)
Get number of frames skipped for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_SkipFrames_Set(peak_afl_controller_handle controller, uint32_t count)
Set number of frames skipped for a controller.
peak_afl_controllerType
controller types
Definition: peak_afl.h:112
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_SkipFrames_GetRange(peak_afl_controller_handle controller, uint32_t *min, uint32_t *max, uint32_t *inc)
Get range for frames skipped for a controller.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_Process(peak_afl_manager_handle handle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Process an image.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV 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_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_AddController(peak_afl_manager_handle handle, peak_afl_manager_handle controller)
Add a controller to an automanager instance.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoFeatureManager_RemoveController(peak_afl_manager_handle handle, peak_afl_manager_handle controller)
Remove a controller to an automanager instance.
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Algorithm_Set(peak_afl_controller_handle controller, peak_afl_controller_algorithm algorithm)
Set the used algorithm for a controller.
peak_afl_callback_type
controller callback type
Definition: peak_afl.h:229
PEAK_AFL_EXPORT peak_afl_status PEAK_AFL_CALLCONV peak_afl_AutoController_Hysteresis_IsSupported(peak_afl_controller_handle controller, peak_afl_BOOL8 *supported)
Check if hysteresis is supported for a controller.