libirimager
IR Imager Direct-SDK
direct_binding.h
1 /******************************************************************************
2  * Copyright (c) 2012-2017 All Rights Reserved, http://www.evocortex.com *
3  * Evocortex GmbH *
4  * Emilienstr. 1 *
5  * 90489 Nuremberg *
6  * Germany *
7  * *
8  * Contributors: *
9  * Initial version for Linux 64-Bit platform supported by Fraunhofer IPA, *
10  * http://www.ipa.fraunhofer.de *
11  *****************************************************************************/
12 
13 #ifndef DIRECT_BINDING_H_
14 #define DIRECT_BINDING_H_
15 
16 #include "irdirectsdk_defs.h"
17 #include "EvoIRFrameMetadata.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
30 __IRDIRECTSDK_API__ int evo_irimager_usb_init(const char* xml_config, const char* formats_def, const char* log_file);
31 
40 __IRDIRECTSDK_API__ int evo_irimager_multi_usb_init(unsigned int* outCamId, const char* xml_config, const char* formats_def, const char* log_file);
41 
48 __IRDIRECTSDK_API__ int evo_irimager_tcp_init(const char* ip, int port);
49 
50 
58 __IRDIRECTSDK_API__ int evo_irimager_multi_tcp_init(unsigned int* outCamId, const char* ip, int port);
59 
64 __IRDIRECTSDK_API__ int evo_irimager_terminate();
65 
71 __IRDIRECTSDK_API__ int evo_irimager_multi_terminate(const unsigned int camId);
72 
79 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_size(int* w, int* h);
80 
88 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_size(const unsigned int camId, int* w, int* h);
89 
96 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image_size(int* w, int* h);
97 
105 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_size(const unsigned int camId, int* w, int* h);
106 
116 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image(int* w, int* h, unsigned short* data);
117 
128 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image(const unsigned int camId, int* w, int* h, unsigned short* data);
129 
140 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_metadata(int* w, int* h, unsigned short* data, EvoIRFrameMetadata* metadata);
141 
153 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_metadata(const unsigned int camId, int* w, int* h, unsigned short* data, EvoIRFrameMetadata* metadata);
154 
163 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image(int* w, int* h, unsigned char* data);
164 
174 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image(const unsigned int camId, int* w, int* h, unsigned char* data);
175 
185 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image_metadata(int* w, int* h, unsigned char* data, EvoIRFrameMetadata* metadata);
186 
197 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_metadata(const unsigned int camId, int* w, int* h, unsigned char* data, EvoIRFrameMetadata* metadata);
198 
209 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_palette_image(int w_t, int h_t, unsigned short* data_t, int w_p, int h_p, unsigned char* data_p );
210 
222 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_palette_image(const unsigned int camId, int w_t, int h_t, unsigned short* data_t, int w_p, int h_p, unsigned char* data_p );
223 
235 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_palette_image_metadata(int w_t, int h_t, unsigned short* data_t, int w_p, int h_p, unsigned char* data_p, EvoIRFrameMetadata* metadata);
236 
248 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_palette_image_metadata(const unsigned int camId, int w_t, int h_t, unsigned short* data_t, int w_p, int h_p, unsigned char* data_p, EvoIRFrameMetadata* metadata);
249 
250 
269 __IRDIRECTSDK_API__ int evo_irimager_set_palette(int paletteId);
270 
290 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette(const unsigned int camId, int paletteId);
291 
292 
303 __IRDIRECTSDK_API__ int evo_irimager_set_palette_scale(int scale);
304 
316 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_scale(const unsigned int camId, int scale);
317 
324 __IRDIRECTSDK_API__ int evo_irimager_set_palette_manual_temp_range(float min, float max);
325 
333 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_manual_temp_range(const unsigned int camId, float min, float max);
334 
340 __IRDIRECTSDK_API__ int evo_irimager_set_shutter_mode(int mode);
341 
348 __IRDIRECTSDK_API__ int evo_irimager_multi_set_shutter_mode(const unsigned int camId, int mode);
349 
354 __IRDIRECTSDK_API__ int evo_irimager_trigger_shutter_flag();
355 
361 __IRDIRECTSDK_API__ int evo_irimager_multi_trigger_shutter_flag(const unsigned int camId);
362 
369 __IRDIRECTSDK_API__ int evo_irimager_set_temperature_range(int t_min, int t_max);
370 
378 __IRDIRECTSDK_API__ int evo_irimager_multi_set_temperature_range(const unsigned int camId, int t_min, int t_max);
379 
387 __IRDIRECTSDK_API__ int evo_irimager_set_radiation_parameters(float emissivity, float transmissivity, float tAmbient);
388 
397 __IRDIRECTSDK_API__ int evo_irimager_multi_set_radiation_parameters(const unsigned int camId, float emissivity, float transmissivity, float tAmbient);
398 
399 #ifdef _WIN32
400 
404 __IRDIRECTSDK_API__ int evo_irimager_to_palette_save_png(unsigned short* thermal_data, int w, int h, const char* path, int palette, int palette_scale);
405 
410 __IRDIRECTSDK_API__ int evo_irimager_to_palette_save_png_high_precision(unsigned short* thermal_data, int w, int h, const char* path, int palette, int palette_scale, short decimalPlaces);
411 #endif
412 
418 __IRDIRECTSDK_API__ int evo_irimager_set_focusmotor_pos(float pos);
419 
426 __IRDIRECTSDK_API__ int evo_irimager_multi_set_focusmotor_pos(const unsigned int camId, float pos);
427 
433 __IRDIRECTSDK_API__ int evo_irimager_get_focusmotor_pos(float *posOut);
434 
441 __IRDIRECTSDK_API__ int evo_irimager_multi_get_focusmotor_pos(const unsigned int camId, float *posOut);
442 
454 __IRDIRECTSDK_API__ int evo_irimager_set_pif_framesync_output(const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue);
455 
468 __IRDIRECTSDK_API__ int evo_irimager_multi_set_pif_framesync_output(const unsigned int camId, const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue);
469 
470 
471 /*-------------------------------------------------*/
472 /*-------------------- DAEMON ---------------------*/
473 /*-------------------------------------------------*/
474 
479 __IRDIRECTSDK_API__ int evo_irimager_daemon_launch();
480 
485 __IRDIRECTSDK_API__ int evo_irimager_daemon_is_running();
486 
491 __IRDIRECTSDK_API__ int evo_irimager_daemon_kill();
492 
493 #ifdef __cplusplus
494 }
495 #endif
496 
497 #endif /* DIRECT_BINDING_H_ */