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 
78 __IRDIRECTSDK_API__ int evo_irimager_get_serial(unsigned long *serial);
79 
86 __IRDIRECTSDK_API__ int evo_irimager_multi_get_serial(const unsigned int camId, unsigned long *serial);
87 
94 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_size(int* w, int* h);
95 
103 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_size(const unsigned int camId, int* w, int* h);
104 
111 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image_size(int* w, int* h);
112 
120 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_size(const unsigned int camId, int* w, int* h);
121 
131 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image(int* w, int* h, unsigned short* data);
132 
143 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image(const unsigned int camId, int* w, int* h, unsigned short* data);
144 
155 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_metadata(int* w, int* h, unsigned short* data, EvoIRFrameMetadata* metadata);
156 
168 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_metadata(const unsigned int camId, int* w, int* h, unsigned short* data, EvoIRFrameMetadata* metadata);
169 
178 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image(int* w, int* h, unsigned char* data);
179 
189 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image(const unsigned int camId, int* w, int* h, unsigned char* data);
190 
200 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image_metadata(int* w, int* h, unsigned char* data, EvoIRFrameMetadata* metadata);
201 
212 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_metadata(const unsigned int camId, int* w, int* h, unsigned char* data, EvoIRFrameMetadata* metadata);
213 
224 __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 );
225 
237 __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 );
238 
250 __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);
251 
263 __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);
264 
265 
284 __IRDIRECTSDK_API__ int evo_irimager_set_palette(int paletteId);
285 
305 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette(const unsigned int camId, int paletteId);
306 
307 
318 __IRDIRECTSDK_API__ int evo_irimager_set_palette_scale(int scale);
319 
331 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_scale(const unsigned int camId, int scale);
332 
339 __IRDIRECTSDK_API__ int evo_irimager_set_palette_manual_temp_range(float min, float max);
340 
348 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_manual_temp_range(const unsigned int camId, float min, float max);
349 
355 __IRDIRECTSDK_API__ int evo_irimager_set_shutter_mode(int mode);
356 
363 __IRDIRECTSDK_API__ int evo_irimager_multi_set_shutter_mode(const unsigned int camId, int mode);
364 
369 __IRDIRECTSDK_API__ int evo_irimager_trigger_shutter_flag();
370 
376 __IRDIRECTSDK_API__ int evo_irimager_multi_trigger_shutter_flag(const unsigned int camId);
377 
384 __IRDIRECTSDK_API__ int evo_irimager_set_temperature_range(int t_min, int t_max);
385 
393 __IRDIRECTSDK_API__ int evo_irimager_multi_set_temperature_range(const unsigned int camId, int t_min, int t_max);
394 
402 __IRDIRECTSDK_API__ int evo_irimager_set_radiation_parameters(float emissivity, float transmissivity, float tAmbient);
403 
412 __IRDIRECTSDK_API__ int evo_irimager_multi_set_radiation_parameters(const unsigned int camId, float emissivity, float transmissivity, float tAmbient);
413 
414 #ifdef _WIN32
415 
419 __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);
420 
425 __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);
426 #endif
427 
433 __IRDIRECTSDK_API__ int evo_irimager_set_focusmotor_pos(float pos);
434 
441 __IRDIRECTSDK_API__ int evo_irimager_multi_set_focusmotor_pos(const unsigned int camId, float pos);
442 
448 __IRDIRECTSDK_API__ int evo_irimager_get_focusmotor_pos(float *posOut);
449 
456 __IRDIRECTSDK_API__ int evo_irimager_multi_get_focusmotor_pos(const unsigned int camId, float *posOut);
457 
469 __IRDIRECTSDK_API__ int evo_irimager_set_pif_framesync_output(const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue);
470 
483 __IRDIRECTSDK_API__ int evo_irimager_multi_set_pif_framesync_output(const unsigned int camId, const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue);
484 
485 
486 /*-------------------------------------------------*/
487 /*-------------------- DAEMON ---------------------*/
488 /*-------------------------------------------------*/
489 
494 __IRDIRECTSDK_API__ int evo_irimager_daemon_launch();
495 
500 __IRDIRECTSDK_API__ int evo_irimager_daemon_is_running();
501 
506 __IRDIRECTSDK_API__ int evo_irimager_daemon_kill();
507 
508 #ifdef __cplusplus
509 }
510 #endif
511 
512 #endif /* DIRECT_BINDING_H_ */