libirimager
IR Imager Direct-SDK
direct_binding.h
Go to the documentation of this file.
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 
21 #ifndef DIRECT_BINDING_H_
22 #define DIRECT_BINDING_H_
23 
24 #include "irdirectsdk_defs.h"
25 #include "EvoIRFrameMetadata.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
38 __IRDIRECTSDK_API__ int evo_irimager_usb_init(const char* xml_config, const char* formats_def, const char* log_file);
39 
48 __IRDIRECTSDK_API__ int evo_irimager_multi_usb_init(unsigned int* outCamId, const char* xml_config, const char* formats_def, const char* log_file);
49 
56 __IRDIRECTSDK_API__ int evo_irimager_tcp_init(const char* ip, int port);
57 
58 
66 __IRDIRECTSDK_API__ int evo_irimager_multi_tcp_init(unsigned int* outCamId, const char* ip, int port);
67 
72 __IRDIRECTSDK_API__ int evo_irimager_terminate();
73 
79 __IRDIRECTSDK_API__ int evo_irimager_multi_terminate(const unsigned int camId);
80 
86 __IRDIRECTSDK_API__ int evo_irimager_get_serial(unsigned long *serial);
87 
94 __IRDIRECTSDK_API__ int evo_irimager_multi_get_serial(const unsigned int camId, unsigned long *serial);
95 
102 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_size(int* w, int* h);
103 
111 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_size(const unsigned int camId, int* w, int* h);
112 
119 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image_size(int* w, int* h);
120 
128 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_size(const unsigned int camId, int* w, int* h);
129 
139 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image(int* w, int* h, unsigned short* data);
140 
151 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image(const unsigned int camId, int* w, int* h, unsigned short* data);
152 
163 __IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_metadata(int* w, int* h, unsigned short* data, EvoIRFrameMetadata* metadata);
164 
176 __IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_metadata(const unsigned int camId, int* w, int* h, unsigned short* data, EvoIRFrameMetadata* metadata);
177 
186 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image(int* w, int* h, unsigned char* data);
187 
197 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image(const unsigned int camId, int* w, int* h, unsigned char* data);
198 
208 __IRDIRECTSDK_API__ int evo_irimager_get_palette_image_metadata(int* w, int* h, unsigned char* data, EvoIRFrameMetadata* metadata);
209 
220 __IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_metadata(const unsigned int camId, int* w, int* h, unsigned char* data, EvoIRFrameMetadata* metadata);
221 
232 __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 );
233 
245 __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 );
246 
258 __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);
259 
271 __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);
272 
273 
292 __IRDIRECTSDK_API__ int evo_irimager_set_palette(int paletteId);
293 
313 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette(const unsigned int camId, int paletteId);
314 
315 
326 __IRDIRECTSDK_API__ int evo_irimager_set_palette_scale(int scale);
327 
339 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_scale(const unsigned int camId, int scale);
340 
347 __IRDIRECTSDK_API__ int evo_irimager_set_palette_manual_temp_range(float min, float max);
348 
356 __IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_manual_temp_range(const unsigned int camId, float min, float max);
357 
363 __IRDIRECTSDK_API__ int evo_irimager_set_shutter_mode(int mode);
364 
371 __IRDIRECTSDK_API__ int evo_irimager_multi_set_shutter_mode(const unsigned int camId, int mode);
372 
377 __IRDIRECTSDK_API__ int evo_irimager_trigger_shutter_flag();
378 
384 __IRDIRECTSDK_API__ int evo_irimager_multi_trigger_shutter_flag(const unsigned int camId);
385 
392 __IRDIRECTSDK_API__ int evo_irimager_set_temperature_range(int t_min, int t_max);
393 
401 __IRDIRECTSDK_API__ int evo_irimager_multi_set_temperature_range(const unsigned int camId, int t_min, int t_max);
402 
410 __IRDIRECTSDK_API__ int evo_irimager_set_radiation_parameters(float emissivity, float transmissivity, float tAmbient);
411 
420 __IRDIRECTSDK_API__ int evo_irimager_multi_set_radiation_parameters(const unsigned int camId, float emissivity, float transmissivity, float tAmbient);
421 
422 #ifdef _WIN32
423 
427 __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);
428 
433 __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);
434 #endif
435 
441 __IRDIRECTSDK_API__ int evo_irimager_set_focusmotor_pos(float pos);
442 
449 __IRDIRECTSDK_API__ int evo_irimager_multi_set_focusmotor_pos(const unsigned int camId, float pos);
450 
456 __IRDIRECTSDK_API__ int evo_irimager_get_focusmotor_pos(float *posOut);
457 
464 __IRDIRECTSDK_API__ int evo_irimager_multi_get_focusmotor_pos(const unsigned int camId, float *posOut);
465 
477 __IRDIRECTSDK_API__ int evo_irimager_set_pif_framesync_output(const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue);
478 
491 __IRDIRECTSDK_API__ int evo_irimager_multi_set_pif_framesync_output(const unsigned int camId, const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue);
492 
493 
494 /*-------------------------------------------------*/
495 /*-------------------- DAEMON ---------------------*/
496 /*-------------------------------------------------*/
497 
502 __IRDIRECTSDK_API__ int evo_irimager_daemon_launch();
503 
508 __IRDIRECTSDK_API__ int evo_irimager_daemon_is_running();
509 
514 __IRDIRECTSDK_API__ int evo_irimager_daemon_kill();
515 
516 #ifdef __cplusplus
517 }
518 #endif
519 
520 #endif /* DIRECT_BINDING_H_ */
__IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_size(const unsigned int camId, int *w, int *h)
Accessor to width and height of false color coded palette image for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_metadata(const unsigned int camId, int *w, int *h, unsigned short *data, EvoIRFrameMetadata *metadata)
Accessor to thermal image and frame metadata by reference for multiple cameras Conversion to temperat...
__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)
Accessor to an RGB palette image, thermal image and frame metadata by reference for multiple cameras...
__IRDIRECTSDK_API__ int evo_irimager_daemon_launch()
Launch TCP daemon.
__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)
Accessor to an RGB palette image and a thermal image by reference for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_set_pif_framesync_output(const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue)
sets the framesync output
__IRDIRECTSDK_API__ int evo_irimager_multi_usb_init(unsigned int *outCamId, const char *xml_config, const char *formats_def, const char *log_file)
Initializes an IRImager instance connected to this computer via USB for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_shutter_mode(const unsigned int camId, int mode)
sets shutter flag control mode for multiple cameras
__IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_size(int *w, int *h)
Accessor to image width and height.
__IRDIRECTSDK_API__ int evo_irimager_multi_tcp_init(unsigned int *outCamId, const char *ip, int port)
Initializes the TCP connection to the daemon process (non-blocking) for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_terminate()
Disconnects the camera, either connected via USB or TCP.
__IRDIRECTSDK_API__ int evo_irimager_set_temperature_range(int t_min, int t_max)
sets the minimum and maximum remperature range to the camera.
__IRDIRECTSDK_API__ int evo_irimager_set_radiation_parameters(float emissivity, float transmissivity, float tAmbient)
sets radiation properties, i.e.
__IRDIRECTSDK_API__ int evo_irimager_get_thermal_image_metadata(int *w, int *h, unsigned short *data, EvoIRFrameMetadata *metadata)
Accessor to thermal image and frame metadata by reference Conversion to temperature values are to be ...
__IRDIRECTSDK_API__ int evo_irimager_set_palette_manual_temp_range(float min, float max)
Only available in eManual palette scale mode.
__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)
Accessor to an RGB palette image and a thermal image by reference.
__IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image_metadata(const unsigned int camId, int *w, int *h, unsigned char *data, EvoIRFrameMetadata *metadata)
Accessor to an RGB palette image and frame metadata by reference for multiple cameras data format: un...
__IRDIRECTSDK_API__ int evo_irimager_set_focusmotor_pos(float pos)
Set the position of the focusmotor.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_manual_temp_range(const unsigned int camId, float min, float max)
Only available in eManual palette scale mode.
__IRDIRECTSDK_API__ int evo_irimager_get_focusmotor_pos(float *posOut)
Get the position of the focusmotor.
__IRDIRECTSDK_API__ int evo_irimager_set_palette(int paletteId)
sets palette format.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_palette(const unsigned int camId, int paletteId)
sets palette format for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_pif_framesync_output(const unsigned int camId, const unsigned int aoChannelId, unsigned int analogOutputMode, float analogValue)
sets the framesync output for multiple cameras
__IRDIRECTSDK_API__ int evo_irimager_multi_get_serial(const unsigned int camId, unsigned long *serial)
Get the serial number of the connected camera for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_tcp_init(const char *ip, int port)
Initializes the TCP connection to the daemon process (non-blocking)
__IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image(const unsigned int camId, int *w, int *h, unsigned short *data)
Accessor to thermal image by reference for multiple cameras Conversion to temperature values are to b...
__IRDIRECTSDK_API__ int evo_irimager_multi_terminate(const unsigned int camId)
Disconnects the camera, either connected via USB or TCP for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_get_palette_image(int *w, int *h, unsigned char *data)
Accessor to an RGB palette image by reference data format: unsigned char array (size 3 * w * h) r...
__IRDIRECTSDK_API__ int evo_irimager_daemon_is_running()
Check whether daemon is already running.
__IRDIRECTSDK_API__ int evo_irimager_get_palette_image_size(int *w, int *h)
Accessor to width and height of false color coded palette image.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_focusmotor_pos(const unsigned int camId, float pos)
Set the position of the focusmotor for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_usb_init(const char *xml_config, const char *formats_def, const char *log_file)
Initializes an IRImager instance connected to this computer via USB.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_palette_scale(const unsigned int camId, int scale)
sets palette scaling method for multiple cameras Defined in IRImager Direct-SDK, see enum EnumOptrisP...
__IRDIRECTSDK_API__ int evo_irimager_get_palette_image_metadata(int *w, int *h, unsigned char *data, EvoIRFrameMetadata *metadata)
Accessor to an RGB palette image and frame metadata by reference data format: unsigned char array (si...
__IRDIRECTSDK_API__ int evo_irimager_get_thermal_image(int *w, int *h, unsigned short *data)
Accessor to thermal image by reference Conversion to temperature values are to be performed as follow...
__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)
Accessor to an RGB palette image, thermal imagea and frame metadat by reference.
__IRDIRECTSDK_API__ int evo_irimager_set_palette_scale(int scale)
sets palette scaling method Defined in IRImager Direct-SDK, see enum EnumOptrisPaletteScalingMethod{e...
__IRDIRECTSDK_API__ int evo_irimager_multi_get_palette_image(const unsigned int camId, int *w, int *h, unsigned char *data)
Accessor to an RGB palette image by reference for multiple cameras data format: unsigned char array (...
__IRDIRECTSDK_API__ int evo_irimager_multi_get_focusmotor_pos(const unsigned int camId, float *posOut)
Get the position of the focusmotor for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_set_shutter_mode(int mode)
sets shutter flag control mode
__IRDIRECTSDK_API__ int evo_irimager_daemon_kill()
Kill TCP daemon.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_temperature_range(const unsigned int camId, int t_min, int t_max)
sets the minimum and maximum remperature range to the camera.
__IRDIRECTSDK_API__ int evo_irimager_multi_set_radiation_parameters(const unsigned int camId, float emissivity, float transmissivity, float tAmbient)
sets radiation properties, i.e.
__IRDIRECTSDK_API__ int evo_irimager_get_serial(unsigned long *serial)
Get the serial number of the connected camera.
__IRDIRECTSDK_API__ int evo_irimager_multi_get_thermal_image_size(const unsigned int camId, int *w, int *h)
Accessor to image width and height for multiple cameras.
__IRDIRECTSDK_API__ int evo_irimager_multi_trigger_shutter_flag(const unsigned int camId)
forces a shutter flag cycle for multiple cameras
__IRDIRECTSDK_API__ int evo_irimager_trigger_shutter_flag()
forces a shutter flag cycle