Seek Thermal SDK C Programming Guide
Seek Thermal SDK C Programming Guide
Seek Thermal SDK C Programming Guide
Version 4.3.1.6
Table of Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Starter kits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Samples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Installation steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Linux installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Windows installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Build configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Linux build configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Building the samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Building the samples on Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Building the samples on Windows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Filesystem usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Filesystem usage on Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Filesystem usage on Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Log level configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Frame data layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Seek Camera Manager API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
seekcamera_manager_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
seekcamera_manager_event_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
seekcamera_manager_event_callback_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
seekcamera_manager_create . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
seekcamera_manager_destroy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
seekcamera_manager_register_event_callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
seekcamera_manager_get_event_str. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Seek Camera API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
seekcamera_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
seekcamera_chipid_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
seekcamera_serial_number_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
seekcamera_core_part_number_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
seekcamera_io_type_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
seekcamera_firmware_version_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
seekcamera_app_resources_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
seekcamera_frame_available_callback_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
seekcamera_memory_access_callback_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
seekcamera_register_frame_available_callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
seekcamera_color_palette_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
seekcamera_color_palette_data_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
seekcamera_color_palette_data_entry_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
seekcamera_agc_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
seekcamera_filter_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
seekcamera_filter_state_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
seekcamera_flat_scene_correction_id_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
seekcamera_histeq_agc_gain_limit_factor_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
seekcamera_histeq_agc_plateau_redistribution_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
seekcamera_io_properties_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
seekcamera_linear_agc_lock_mode_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
seekcamera_pipeline_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
seekcamera_shutter_mode_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
seekcamera_spi_io_properties_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
seekcamera_temperature_unit_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
seekcamera_usb_io_properties_t. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
seekcamera_capture_session_start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
seekcamera_capture_session_stop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
seekcamera_load_app_resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
seekcamera_store_app_resources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
seekcamera_store_calibration_data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
seekcamera_delete_flat_scene_correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
seekcamera_store_flat_scene_correction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
seekcamera_is_active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
seekcamera_get_agc_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
seekcamera_set_agc_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
seekcamera_get_chipid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
seekcamera_get_color_palette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
seekcamera_set_color_palette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
seekcamera_color_palette_get_str. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
seekcamera_set_color_palette_data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
seekcamera_get_core_part_number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
seekcamera_get_filter_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
seekcamera_set_filter_state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
seekcamera_get_filter_state_str. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
seekcamera_get_firmware_version. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
seekcamera_update_firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
seekcamera_get_histeq_agc_alpha_time_seconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
seekcamera_set_histeq_agc_alpha_time_seconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
seekcamera_get_histeq_agc_gain_limit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
seekcamera_set_histeq_agc_gain_limit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
seekcamera_get_histeq_agc_gain_limit_factor_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
seekcamera_set_histeq_agc_gain_limit_factor_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
seekcamera_get_histeq_agc_gain_limit_factor_xmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
seekcamera_set_histeq_agc_gain_limit_factor_xmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
seekcamera_get_histeq_agc_gain_limit_factor_ymin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
seekcamera_set_histeq_agc_gain_limit_factor_ymin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
seekcamera_get_histeq_agc_plateau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
seekcamera_set_histeq_agc_plateau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
seekcamera_get_histeq_agc_plateau_redistribution_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
seekcamera_set_histeq_agc_plateau_redistribution_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
seekcamera_get_histeq_agc_roi_enable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
seekcamera_set_histeq_agc_roi_enable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
seekcamera_get_histeq_agc_roi_height. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
seekcamera_set_histeq_agc_roi_height. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
seekcamera_get_histeq_agc_roi_left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
seekcamera_set_histeq_agc_roi_left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
seekcamera_get_histeq_agc_roi_top. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
seekcamera_set_histeq_agc_roi_top. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
seekcamera_get_histeq_agc_roi_width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
seekcamera_set_histeq_agc_roi_width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
seekcamera_get_histeq_agc_trim_left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
seekcamera_set_histeq_agc_trim_left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
seekcamera_get_histeq_agc_trim_right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
seekcamera_set_histeq_agc_trim_right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
seekcamera_get_io_properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
seekcamera_get_io_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
seekcamera_get_linear_agc_lock_max. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
seekcamera_set_linear_agc_lock_max. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
seekcamera_get_linear_agc_lock_min. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
seekcamera_set_linear_agc_lock_min. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
seekcamera_get_linear_agc_lock_mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
seekcamera_set_linear_agc_lock_mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
seekcamera_get_pipeline_mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
seekcamera_set_pipeline_mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
seekcamera_pipeline_mode_get_str. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
seekcamera_get_scene_emissivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
seekcamera_set_scene_emissivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
seekcamera_get_serial_number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
seekcamera_get_shutter_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
seekcamera_set_shutter_mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
seekcamera_shutter_trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
seekcamera_get_temperature_unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
seekcamera_set_temperature_unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
seekcamera_get_thermography_offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
seekcamera_set_thermography_offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
seekcamera_get_thermography_window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
seekcamera_set_thermography_window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Seek Camera Frame API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
seekcamera_frame_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
seekcamera_frame_format_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
seekcamera_frame_header_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
seekcamera_frame_get_frame_by_format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
seekcamera_frame_lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
seekcamera_frame_unlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Seek Camera Error API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
seekcamera_error_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
seekcamera_error_get_str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Seek Camera Version API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
seekcamera_version_get_major. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
seekcamera_version_get_minor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
seekcamera_version_get_patch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
seekcamera_version_get_internal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
seekcamera_version_get_qualifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Seek Frame API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
seekframe_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
seekframe_get_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
seekframe_get_height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
seekframe_get_channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
seekframe_get_pixel_depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
seekframe_get_pixel_padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
seekframe_get_line_stride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
seekframe_get_line_padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
seekframe_get_data_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
seekframe_get_data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
seekframe_get_row . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
seekframe_get_pixel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
seekframe_is_empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
seekframe_get_header_size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
seekframe_get_header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Introduction
The Seek Thermal SDK allows developers to interface with our devices easily, flexibly, and
efficiently. It uses an event-driven architecture that allows for responsive interaction and control.
In addition to the event-driven architecture, the SDK is designed with modularity and separation of
responsibility in mind. An important realization of the new design is easy use of multiple cameras
for the first time ever.
Batteries included.
Please see LICENSE.txt for legal terms, conditions, and attributions. Contact Seek
NOTE
Thermal if this file is missing.
1
Getting started
This section discusses how to get started with the Seek Thermal SDK.
Starter kits
Seek Thermal offers plug and play starter kits that allows for easy evaluation of our products. The
starter kits come in several flavors (Mosaic Cores, Micro Cores) and IO types (USB and SPI).
◦ Using the pre-built seekcamera-sdl sample application with auto pairing enabled
Samples
Jump in by running one of our sample applications. Pre-built sample applications are provided for
all supported architectures or they can be built from scratch.
The sample applications are intended to teach users how to use the SDK. They are
NOTE
not meant to be used as the basis for production quality applications.
Table 1. Samples
2
Name Build systems Description
Installation
Pre-built binaries, libraries, and packages are available on the developer portal.
3
OS ARCH FPU ABI LIBC
Installation steps
Linux installation
The recommended method of installing and upgrading the SDK on Linux varies depending on the
OS flavor. For Debian based systems (e.g. Raspberry Pi 3), the recommended installation method is
via a .deb package. For other systems, the recommended installation method is manual.
Debian installation
• Install the .deb by using the command line and OS package manager. For example, here is the
command when using a Rasberry Pi:
<SDK>$ sudo apt-get install ./seekthermal-sdk-dev-{version}_armhf.deb
• Reboot or reload the udev rules if this is the first time this version of the SDK has been installed.
<SDK>$ sudo udevadm control --reload
Manual installation
• From the root of the SDK, determine which architecture you need and move into that directory.
<SDK>$ cd <arch>
• Copy the libraries for the appropriate build architecture to the host system.
<SDK/arch>$ sudo cp lib/libseekcamera.so /usr/local/lib
<SDK/arch>$ sudo cp lib/libseekcamera.so.4.3 /usr/local/lib
• Reboot or reload the udev rules if this is the first time this version of the SDK has been installed.
<SDK>$ sudo udevadm control --reload
4
Windows installation
Manual installation
After clicking "Install", you will see a Windows Security prompt with the Publisher
printed as "Seek Thermal Inc". Select Install to continue. The prompt should look
similar to this.
NOTE
If you are installing to a Windows Tablet, you may see a message asking if you want
to allow INF Default Install. The Verified publisher is Microsoft Windows and you
can select 'Show more details' to view the publisher’s certificate. Click 'Yes'.
5
Build configuration
Linux build configuration
Building against the SDK is simple. The application build system only needs to know where to locate
the libraries and header files.
To have the linker locate the library, add its location to the linker path:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$ cd examples
$ mkdir build
$ cd build
$ cmake ..
The above will generate Makefile in the the build directory. The samples can then be built from the
command line.
$ make
The binaries will be be placed in a target specific directory under the build directory root.
6
- build/
- seekcamera-sdl/
- seekcamera-sdl
...
Alternatively, the sample applications can be built one by one using the generated Unix Makefile.
$ cd seekcamera-sdl
$ make
- examples/
- seekcamera-sdl/
- seekcamera-sdl
...
$ cd examples
$ mkdir build
$ cd build
$ cmake ..
The above will generate seekcamera_examples.sln in the the build directory. The solution file can
then be opened in Visual Studio.
Recent versions of CMake allow for building via the command line instead of manually opening
and building using a solution file. To build the sample applications from the command line, run the
above and then run:
The binaries will be be placed in a Debug directory under the build directory root.
- build/
- Debug/
- seekcamera-sdl.exe
7
...
8
Filesystem usage
Seek Thermal uses the filesystem to cache data and log system status. The paths are standardized
based on the host operating system conventions.
Directories
• cal/
◦ Directory where calibration data is stored for Micro Core cameras. The SDK reads/writes to
this directory automatically. Users do not need to manually manage it.
• conf/
◦ Directory where configuration data is stored. The SDK reads from this directory. Users need
to explicitly manage this directory.
• log/
◦ Directory where logging data is stored. The SDK reads/writes to this directory automatically.
Users do not need to manually manage it. It is generally helpful to examine the logs for
status information, errors, and warnings.
• cache/
◦ Directory where miscellaneous data is stored. The SDK reads/writes to this directory
automatically. Users do not need to explicitly manage this directory.
- $HOME/
- .seekthermal/
- cal/
- conf/
- log/
- cache/
- $SEEKTHERMAL_ROOT/
- .seekthermal/
- cal/
- conf/
- log/
- cache/
9
environment variable %SEEKTHERMAL_ROOT%. If customizing the path, then the directory must exist.
- %APPDATA%/
- SeekThermal/
- cal/
- conf/
- log/
- cache/
- %SEEKTHERMAL_ROOT%/
- SeekThermal/
- cal/
- conf/
- log/
- cache/
10
Log level configuration
The SDK log level is customizable by setting an environment variable. On Linux, the environment
variable is: $SEEKTHERMAL_LOG_LEVEL. On Windows, the environment variable is:
%SEEKTHERMAL_LOG_LEVEL%. If a log statement is at a lower level than the current level, then it will be
suppressed. The default log level is INFO.
11
Frame data layout
Seek Thermal uses a standardized data layout for all our frames. Frame data is stored in row-major
order, meaning rows vary fastest and then columns. Pixel channels are stored contiguously, with
optional padding between pixels.
RGB565
AYUV
YUY2
A high-level flow graph of the Seek Thermal frame processing pipeline is shown below.
For descriptions of each supported frame formats, please see the Seek Camera Frame API
description.
NOTE Frame buffers also contain a header that is not shown below.
12
Figure 2. Frame layout
13
API
Seek Camera Manager API
The Seek Camera Manager API is a high-level interface which allows user applications to interact
with Seek devices. It is a part of the Seek Camera API interface. The interface manages multiple
Seek devices within a single manager context. It is event driven and uses user-defined callback
functions.
seekcamera_manager_t
Declaration
Overview
Structure that manages Seek cameras. It is the interface through which users can set discovery
modes, register event callbacks, and access cameras. It is created and destroyed by the user.
seekcamera_manager_event_t
Declaration
Overview
Enumerated type representing types of events used by the camera manager.
Cases
• SEEKCAMERA_MANAGER_EVENT_CONNECT
• SEEKCAMERA_MANAGER_EVENT_DISCONNECT
• SEEKCAMERA_MANAGER_EVENT_ERROR
• SEEKCAMERA_MANAGER_EVENT_READY_TO_PAIR
See also
14
• seekcamera_manager_get_event_str
seekcamera_manager_event_callback_t
Declaration
Overview
Callback function type that is fired every time the camera manager receives an event.
Parameters
• camera
• event
• event_status
• user_data
Return value
None
See also
• seekcamera_t
• seekcamera_manager_event_t
• seekcamera_manager_register_event_callback
seekcamera_manager_create
Declaration
Description
Creates the camera manager responsible for managing Seek cameras.
15
This method will call the C standard library function getenv, which is not MT-
WARNING
safe. Avoid calling getenv from other threads during this call.
Parameters
• camera_manager
◦ Camera manager to allocate and initialize. It should be a pointer to unallocated memory (i.e.
NULL). On success, it will be in a usable state; otherwise it will be NULL.
• discovery_mode
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_manager_t
• seekcamera_manager_destroy
• seekcamera_io_type_t
seekcamera_manager_destroy
Declaration
Description
Destroys and invalidates an existing camera manager.
Parameters
• camera_manager
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_manager_t
• seekcamera_manager_destroy
seekcamera_manager_register_event_callback
16
Declaration
Description
Registers a user-defined event callback function with the camera manager. The callback is fired
every time the camera manager receives an event. One event callback is allowed to be registered
per camera manager.
Parameters
• camera_manager
◦ Camera manager for which the handler should be registered. It should be a pointer to
allocated memory configured by the initialization method.
• callback
◦ User-defined callback function. The callback function will be called every time an connect,
disconnect, or event occurrs.
• user_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_manager_t
• seekcamera_manager_event_callback_t
seekcamera_manager_get_event_str
Declaration
Description
Gets the description of a camera manager event type.
Parameters
• event
Return value
17
The description of a camera manager event type.
See also
• seekcamera_manager_event_t
seekcamera_t
Declaration
Overview
Structure that represents a single Seek camera. It is the interface through which users can query
device characteristics, receive frame data, receive thermography data, etc.
seekcamera_chipid_t
Declaration
Overview
A camera chip identifier (CID) represented as a C-string. It is guaranteed to be NULL terminated. It
is 16 bytes (B) in size.
See also
• seekcamera_get_chipid
seekcamera_serial_number_t
Declaration
Overview
A camera serial number (SN) represented as a C-string. It is guaranteed to be NULL terminated. It is
16 bytes (B) in size.
See also
• seekcamera_get_serial_number
18
seekcamera_core_part_number_t
Declaration
Overview
A camera core part number (CPN) represented as a C-string. It is guaranteed to be NULL
terminated. It is 32 bytes (B) in size.
See also
• seekcamera_get_core_part_number
seekcamera_io_type_t
Declaration
Cases
• SEEKCAMERA_IO_TYPE_USB
• SEEKCAMERA_IO_TYPE_SPI
See also
• seekcamera_get_io_type
• seekcamera_manager_init
seekcamera_firmware_version_t
Declaration
Overview
Structure that represents the firmware version of a Seek camera.
Fields
• product: uint8_t
19
◦ Product firmware version.
• variant: uint8_t
• major: uint8_t
• minor: uint8_t
See also
• seekcamera_get_firmware_version
seekcamera_app_resources_t
Declaration
Overview
Types of application resource regions. Application resource regions are memory regions on the
device that are reserved for customer use.
Cases
• SEEKCAMERA_APP_RESOURCES_REGION_0
• SEEKCAMERA_APP_RESOURCES_REGION_1
• SEEKCAMERA_APP_RESOURCES_REGION_2
See also
• seekcamera_load_app_resources
• seekcamera_store_app_resources
seekcamera_frame_available_callback_t
Declaration
20
void* user_data);
Overview
Callback function fired every time a frame is available. The callbacks execute on a separate,
internally owned SDK thread.
Parameters
• camera
• frame
◦ Camera frame wrapper structure where the newly available frames are encapsulated. The
structure contains the frames formats which were specified during the capture session
initialization. The frame is valid during the lifetime of the callback.
• user_data
Return value
None
See also
• seekcamera_t
• seekcamera_frame_t
• seekcamera_register_frame_available_callback
seekcamera_memory_access_callback_t
Declaration
Overview
Callback function fired every time a memory access is performed. It is used for providing progress
feedback for long memory operations. The callbacks execute on the calling thread.
Parameters
• progress
• user_data
Return value
21
None
seekcamera_register_frame_available_callback
Declaration
Overview
Registers a user-defined frame available callback function with the camera. The callback is fired
every time a new frame is available. There can only be one registered frame callback at a time.
Parameters
• camera
• callback
• user_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_frame_available_callback_t
seekcamera_color_palette_t
Declaration
Overview
Enumerated type representing types of display color palettes.
Cases
• SEEKCAMERA_COLOR_PALETTE_WHITE_HOT
22
• SEEKCAMERA_COLOR_PALETTE_BLACK_HOT
• SEEKCAMERA_COLOR_PALETTE_SPECTRA
• SEEKCAMERA_COLOR_PALETTE_PRISM
• SEEKCAMERA_COLOR_PALETTE_TYRIAN
• SEEKCAMERA_COLOR_PALETTE_IRON
• SEEKCAMERA_COLOR_PALETTE_AMBER
• SEEKCAMERA_COLOR_PALETTE_HI
• SEEKCAMERA_COLOR_PALETTE_GREEN
• SEEKCAMERA_COLOR_PALETTE_USER_0
• SEEKCAMERA_COLOR_PALETTE_USER_1
• SEEKCAMERA_COLOR_PALETTE_USER_2
• SEEKCAMERA_COLOR_PALETTE_USER_3
• SEEKCAMERA_COLOR_PALETTE_USER_4
See also
• seekcamera_color_palette_data_t
• seekcamera_color_palette_data_entry_t
• seekcamera_get_color_palette
• seekcamera_set_color_palette
seekcamera_color_palette_data_t
23
Declaration
Overview
An array of color values used to colorize a thermal image. The values should be in ascending order
going from coldest to hottest temperature. It has 256 distinct entries and each entry is 32 bytes (B)
in size.
See also
• seekcamera_color_palette_t
• seekcamera_color_palette_data_entry_t
• seekcamera_set_color_palette_data
seekcamera_color_palette_data_entry_t
Declaration
Overview
Structure that represents an entry in color palette data structure. Each field of structure represents
a component of an ARGB8888 pixel. The structure has a total size of 32 bytes (B).
See also
• seekcamera_color_palette_t
• seekcamera_color_palette_data_t
seekcamera_agc_mode_t
Declaration
Overview
Enumerated type representing types of automated gain correction (AGC) modes.
24
Cases
• SEEKCAMERA_AGC_MODE_LINEAR
• SEEKCAMERA_AGC_MODE_HISTEQ
See also
• seekcamera_get_agc_mode
• seekcamera_set_agc_mode
seekcamera_filter_t
Declaration
Overview
Enumerated type representing the controllable image processing filters.
Cases
• SEEKCAMERA_FILTER_GRADIENT_CORRECTION
◦ Filter responsible for correcting image gradient on all data pipelines. It is triggered
automatically on flat scenes.
• SEEKCAMERA_FILTER_FLAT_SCENE_CORRECTION
◦ Filter responsible for correcting non-uniformities on all data pipelines. It is stored explicitly
by the user apriori.
• SEEKCAMERA_FILTER_SHARPEN_CORRECTION
◦ Filter responsible for highlighting details in the image. It will not apply a correction unless a
user enables the filter state.
See also
• seekcamera_filter_state_t
• seekcamera_set_filter_state
• seekcamera_get_filter_state
seekcamera_filter_state_t
Declaration
25
...
} seekcamera_filter_state_t;
Cases
• SEEKCAMERA_FILTER_STATE_DISABLED
• SEEKCAMERA_FILTER_STATE_ENABLED
See also
• seekcamera_filter_t
• seekcamera_set_filter_state
• seekcamera_get_filter_state
seekcamera_flat_scene_correction_id_t
Declaration
Overview
Enumerated type representing a unique flat scene correction (FSC) identifier.
Cases
• SEEKCAMERA_FLAT_SCENE_CORRECTION_ID_0
◦ The default FSC ID. If a FSC with this ID is stored, then it will be autoloaded and applied on
startup.
See also
• seekcamera_store_flat_scene_correction
• seekcamera_delete_flat_scene_correction
seekcamera_histeq_agc_gain_limit_factor_mode_t
Declaration
26
Overview
Enumerated type representing types of gain limit modes used by HistEQ AGC.
Cases
• SEEKCAMERA_HISTEQ_AGC_GAIN_LIMIT_FACTOR_MODE_AUTO
◦ Gain limit factor mode type case for automatic gain limit factor control. The gain limit will
be set by the user; all other gain limit factor settings will be controlled automatically.
• SEEKCAMERA_HISTEQ_AGC_GAIN_LIMIT_FACTOR_MODE_MANUAL
◦ Gain limit factor mode type case for manual gain limit factor control. The gain limit will be
set by the user; all other gain limit factor settings will also be controlled by the user.
See also
• seekcamera_get_histeq_agc_gain_limit_factor_mode
• seekcamera_set_histeq_agc_gain_limit_factor_mode
seekcamera_histeq_agc_plateau_redistribution_mode_t
Declaration
Overview
Enumerated type representing types of plateau redistribution modes used by HistEQ AGC.
Cases
• SEEKCAMERA_HISTEQ_AGC_PLATEAU_REDISTRIBUTION_MODE_DISABLED
◦ Plateau redistribution mode type used by HistEQ AGC. The default plateau redistribution
mode. Pixels in any histogram bin that exceed the plateau threshold are discarded. For
control of the plateau threshold, see seekcamera_set_histeq_agc_plateau.
• SEEKCAMERA_HISTEQ_AGC_PLATEAU_REDISTRIBUTION_MODE_ALL_BINS
◦ Plateau redistribution mode type used by HistEQ AGC. Pixels in any histogram bin that
exceed that plateau threshold are redistributed evenly among all bins in the histogram. For
control of the plateau threshold, see seekcamera_set_histeq_agc_plateau.
• SEEKCAMERA_HISTEQ_AGC_PLATEAU_REDISTRIBUTION_MODE_ACTIVE_BINS_ONLY
◦ Plateau redistribution mode type used by HistEQ AGC. Pixels in any histogram bin that
exceed that plateau threshold are redistributed only among the active bins in the histogram.
An active histogram bin is one which contains at least 1 pixel. For control of the plateau
threshold, see seekcamera_set_histeq_agc_plateau.
See also
• seekcamera_get_histeq_agc_plateau
27
• seekcamera_set_histeq_agc_plateau
• seekcamera_get_histeq_agc_plateau_redistribution_mode
• seekcamera_set_histeq_agc_plateau_redistribution_mode
seekcamera_io_properties_t
Declaration
Overview
Generic structure that contains the IO properties of the camera. The IO properties are stored as a
union.
Fields
• type: seekcamera_io_type_t
• usb: seekcamera_usb_io_properties_t
• spi: seekcamera_spi_io_properties_t
See also
• seekcamera_get_io_properties
• seekcamera_io_type_t
• seekcamera_usb_io_properties_t
• seekcamera_spi_io_properties_t
seekcamera_linear_agc_lock_mode_t
Declaration
Overview
Enumerated type representing types of lock modes used by Linear AGC. The input modes allow for
the automatic, semi-automatic, or manual setting of the output AGC range bounds. Regardless of
28
which method is used to set the bounds, the output color palette range (i.e. the closed interval [0,
255]) will be evenly stretched between the bounding values.
Cases
• SEEKCAMERA_LINEAR_AGC_LOCK_MODE_AUTO
◦ Lock mode type case for automatic linear AGC control. The minimum and maximum will be
determined from the lowest/highest temperature values of the active scene.
• SEEKCAMERA_LINEAR_AGC_LOCK_MODE_MANUAL
◦ Lock mode type case for manual linear AGC control. Both the minimum and maximum
temperatures will be set by the user, as opposed to from the scene.
• SEEKCAMERA_LINEAR_AGC_LOCK_MODE_MANUAL_MIN
◦ Lock mode type case for semi-manual linear AGC control. The minimum bound temperature
value will be set by the user; the maximum bound temperature value will be determined
from the highest temperature of the active scene.
• SEEKCAMERA_LINEAR_AGC_LOCK_MODE_MANUAL_MAX
◦ Lock mode type case for semi-manual linear AGC control. The minimum bound value will be
determined from the lowest temperature of the active scene; the maximum bound
temperature value will be set by the user.
See also
• seekcamera_get_linear_agc_lock_mode
• seekcamera_set_linear_agc_lock_mode
seekcamera_pipeline_mode_t
Declaration
Cases
• SEEKCAMERA_IMAGE_LITE
• SEEKCAMERA_IMAGE_LEGACY
• SEEKCAMERA_IMAGE_SEEKVISION
◦ SeekVision Pipeline Mode with newest image processing filters and pixel colorization.
See also
• seekcamera_get_pipeline_mode
29
• seekcamera_set_pipeline_mode
• seekcamera_pipeline_mode_get_str
seekcamera_shutter_mode_t
Declaration
Overview
Enumerated type representing types of shutter modes.
Cases
• SEEKCAMERA_SHUTTER_MODE_AUTO
◦ Shutter mode type case for automatic shuttering. When automatic shuttering is enabled, the
user does not to need to manually trigger the shutter. This is the default shuttering mode.
• SEEKCAMERA_SHUTTER_MODE_MANUAL
◦ Shutter mode type case for manual shuttering. When manual shuttering is enabled, the user
is responsible for triggering the shutter.
See also
• seekcamera_get_shutter_mode
• seekcamera_set_shutter_mode
seekcamera_spi_io_properties_t
Declaration
Overview
Structure that contains properties of SPI cameras.
Fields
• bus_number: uint8_t
◦ SPI bus number on which the camera is connected. This field corresponds to the bus
number set in the SPI configuration file.
30
• cs_number: uint8_t
◦ SPI chip select number on which the camera is connected. This field corresponds to the chip
select (cs) number set in the SPI configuration file.
See also
• seekcamera_io_properties_t
• seekcamera_get_io_properties
seekcamera_temperature_unit_t
Declaration
Overview
Enumerated type representing types of temperature units.
Cases
• SEEKCAMERA_TEMPERATURE_UNIT_CELSIUS
◦ Temperature unit type case for degrees Celsius. This is the default temperature unit.
• SEEKCAMERA_TEMPERATURE_UNIT_FAHRENHEIT
• SEEKCAMERA_TEMPERATURE_UNIT_KELVIN
See also
• seekcamera_get_temperature_unit
• seekcamera_set_temperature_unit
seekcamera_usb_io_properties_t
Declaration
Overview
Structure that contains properties of USB cameras.
Fields
31
• bus_number: uint8_t
• port_numbers: uint8_t[8]
◦ USB port numbers on which the camera is connected. Valid port numbers are indicated by a
value strictly greater than zero.
See also
• seekcamera_io_properties_t
• seekcamera_get_io_properties
seekcamera_capture_session_start
Declaration
Overview
Begins streaming frames of the specified output formats from the camera. Generally a frame
available callback should be pre-registered in order to receive frames, but doing so is not required.
Camera functions that interact with flash storage should not be called when a
capture session is live.
Unsafe functions
seekcamera_update_firmware
WARNING
seekcamera_store_calibration_data
seekcamera_delete_flat_scene_correction
seekcamera_load_app_resources
seekcamera_store_app_resources
Parameters
• camera
• frame_format
◦ Bitwise OR combination of the frame formats to output. The frame format types are
specified by seekcamera_frame_format_t.
Return value
An enumerated error code indicating pass or fail.
See also
32
• seekcamera_t
• seekcamera_capture_session_stop
• seekcamera_frame_available_callback_t
• seekcamera_frame_format_t
• seekcamera_is_active
seekcamera_capture_session_stop
Declaration
Overview
Stops streaming frames from the camera.
Parameters
• camera
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_capture_session_start
• seekcamera_is_active
seekcamera_load_app_resources
Declaration
Overview
Loads application resources into host memory. The source region may either be the camera
internal memory or the SDK internal cache. Resources in each region must be ⇐ 64KB. An optional
callback can be used to provide progress updates.
33
WARNING This function should not be called when a capture session is live.
Parameters
• camera
• region
◦ Enumerated value indicating which region should be used to load the data.
• data
◦ Pointer to host memory. It is where the device data will be loaded. It must point to valid
memory.
◦ data_size
• callback
• user_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_app_resources_t
• seekcamera_memory_access_callback_t
seekcamera_store_app_resources
Declaration
Overview
Stores application resources to either the host or the device. The source region is host memory. The
destination region may either be the camera internal memory or the SDK internal cache. Resources
in each region must be ⇐ 64KB. The data is persistent. An optional callback can be used to provoide
progress updates.
34
WARNING This function should not be called when a capture session is live.
Parameters
• camera
• region
◦ Enumerated value indicating which region shouldbe used to store the data.
• data
◦ Pointer to host memory. It contains the user defined data to store. It must point to valid
memory.
• data_size
• callback
• user_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_app_resources_t
• seekcamera_memory_access_callback_t
seekcamera_store_calibration_data
Declaration
Overview
Stores calibration data and pairs the camera. An optional callback can be used to provide progress
updates. Pairing refers to the process by which the sensor is associated with the host and the
embedded processor. The pairing process and requirements are highly dependent on the
characteristics of the camera and system.
WARNING This function should not be called when a capture session is live. Pairing
35
commands are only applicable to Micro Cores.
Parameters
• camera
• source_dir
◦ If NULL, the calibration data is read from sensor flash. If non NULL, the calibration data is
read from the host filesystem.
• callback
• user_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_memory_access_callback_t
seekcamera_delete_flat_scene_correction
Declaration
Overview
Deletes a flat scene correction (FSC). The FSC will be deleted from any location it was stored. An
optional callback can be used to provide progress updates. See the FSC application note on the Seek
Thermal Developers Portal for more information.
NOTE === The camera must not be imaging to delete a FSC. ===
Parameters
• camera
• id
• callback
36
◦ Optional memory access callback that provides progress updates.
• user_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_flat_scene_correction_id_t
• seekcamera_store_flat_scene_correction
• seekcamera_memory_access_callback_t
seekcamera_store_flat_scene_correction
Declaration
Overview
Stores a flat scene correction (FSC). The FSC is always stored to the host filesystem; it is also stored
to the device if supported. An optional callback can be used to provide progress updates. Flat scene
correction refers to the procedure used to correct non-uniformity in the thermal image introduced
by the OEMs manufacturing process. See the FSC application note on the Seek Thermal Developers
Portal for more information.
Parameters
• camera
• id
• callback
• user_data
37
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_flat_scene_correction_id_t
• seekcamera_delete_flat_scene_correction
• seekcamera_memory_access_callback_t
seekcamera_is_active
Declaration
Overview
Function that gets whether or not the camera has an active capture session.
Parameters
• camera
Return value
An bool indicating active or inactive.
See also
• seekcamera_t
• seekcamera_capture_session_start
• seekcamera_capture_session_stop
seekcamera_get_agc_mode
Declaration
Overview
Gets the active AGC mode. Settings are refreshed between frames.
Parameters
• camera
38
◦ Camera for which to set the AGC mode.
• mode
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_agc_mode_t
• seekcamera_set_agc_mode
seekcamera_set_agc_mode
Declaration
Overview
Sets the AGC mode. Settings are refreshed between frames.
Parameters
• camera
• mode
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_agc_mode_t
• seekcamera_get_agc_mode
seekcamera_get_chipid
Declaration
39
Overview
Gets the chip identifier (CID) of the camera.
Parameters
• camera
• chipid
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_chipid_it
seekcamera_get_color_palette
Declaration
Overview
Gets the active color palette. Color palettes are used to colorize the image. Settings are refreshed
between frames.
Parameters
• camera
• palette
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_color_palette_t
• seekcamera_set_color_palette
40
seekcamera_set_color_palette
Declaration
Overview
Sets the active color palette. Color palettes are used to colorize the image. Settings are refreshed
between frames.
Parameters
• camera
• palette
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_color_palette_t
• seekcamera_get_color_palette
seekcamera_color_palette_get_str
Declaration
Overview
Gets the name of the color palette.
Parameters
• palette
◦ String of the name of the color palette used by the camera. It is an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
41
• seekcamera_color_palette_t
• seekcamera_set_color_palette
seekcamera_set_color_palette_data
Declaration
Overview
Sets the color palette data for a particular color palette. Setting color palette data is only valid for
user palettes. Settings are refreshed between frames.
Parameters
• camera
• palette
◦ Enumerated type corresponding to the color palette for which to set the data.
• palette_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_color_palette_t
• seekcamera_color_palette_data_t
seekcamera_get_core_part_number
Declaration
Overview
Gets the core part number (CPN) of the camera.
Parameters
42
• camera
• core_part_number
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_core_part_number_t
seekcamera_get_filter_state
Declaration
Overview
Gets the state of an image processing filter. Settings are refreshed between frames.
Parameters
• camera
• filter
◦ Enumerated type indicating the filter for which to get the state.
• state
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_filter_t
• seekcamera_filter_state_t
• seekcamera_set_filter_state
• seekcamera_set_filter_state
43
seekcamera_set_filter_state
Declaration
Overview
Sets the state of an image processing filter. Settings are refreshed between frames.
Parameters
• camera
• filter
◦ Enumerated type indicating the filter for which to set the state.
• state
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_filter_t
• seekcamera_filter_state_t
• seekcamera_get_filter_state
seekcamera_get_filter_state_str
Declaration
Overview
Gets the name of state for an image processing filter. Settings are refreshed between frames.
Parameters
• filter
◦ Enumerated type indicating the filter for which to get the state.
• state
44
◦ Enumerated type indicating the state of the filter.
Return value
A char for the name of the enumerated filter state.
See also
• seekcamera_filter_t
• seekcamera_filter_state_t
• seekcamera_get_filter_state
• seekcamera_set_filter_state
seekcamera_get_firmware_version
Declaration
Overview
Gets the firmware version of the camera.
Parameters
• camera
• version
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_firmware_version_t
seekcamera_update_firmware
Declaration
45
Overview
Updates the camera firmware using an input firmware file on the host OS. An optional callback can
be used to provide progress updates.
WARNING This function should not be called when a capture session is live.
NOTE This function is not supported, and is not neccessary, for Micro Core SPI cores.
Parameters
• camera
• update_file
◦ Path to the firmware update file. It may be absolute or relative to the executable. It must
exist on the host filesystem.
• callback
• user_data
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_memory_access_callback_t
seekcamera_get_histeq_agc_alpha_time_seconds
Declaration
Overview
Gets the alpha time parameter used for HistEQ AGC. Alpha time is used to blend the current frame
histogram with the previous frame histogram. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
46
◦ Camera for which to set the AGC mode.
• time
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_alpha_time_seconds
seekcamera_set_histeq_agc_alpha_time_seconds
Declaration
Overview
Sets the alpha time parameter used for HistEQ AGC. Alpha time is used to blend the current frame
histogram with the previous frame histogram. It may take on values in the closed interval [0.0, 6.0]
with floating point precision. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• time
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_alpha_time_seconds
seekcamera_get_histeq_agc_gain_limit
Declaration
47
seekcamera_t* camera,
float* limit);
Overview
Gets the maximum gain limit value used for HistEQ AGC. Gain limit constrains the number of
output bits assigned to a single bin. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• limit
◦ Active maximum gain limit value used by the camera. It is an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_gain_limit
seekcamera_set_histeq_agc_gain_limit
Declaration
Overview
Sets the maximum gain limit value used for HistEQ AGC. Gain limit constrains the number of output
bits assigned to a single bin. It may take on values in the closed interval [0, 256] with floating point
precision. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• limit
◦ New active maximum gain limit value for the camera to use.
48
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_gain_limit
seekcamera_get_histeq_agc_gain_limit_factor_mode
Declaration
Overview
Gets the gain limit factor mode for HistEQ AGC. Settings are refreshed between frames.
Parameters
• camera
• mode
◦ Active HistEQ AGC gain limit factor mode used by the camera. It is an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_histeq_agc_gain_limit_factor_mode_t
• seekcamera_set_histeq_agc_gain_limit_factor_mode
seekcamera_set_histeq_agc_gain_limit_factor_mode
Declaration
Overview
Sets the gain limit factor mode for HistEQ AGC. Settings are refreshed between frames.
49
NOTE This value has effect when using HistEQ AGC.
Parameters
• camera
• mode
◦ New active HistEQ AGC gain limit factor mode for the camera to use.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_histeq_agc_gain_limit_factor_mode_t
• seekcamera_get_histeq_agc_gain_limit_factor_mode
seekcamera_get_histeq_agc_gain_limit_factor_xmax
Declaration
Overview
Gets the gain limit factor xmax value used for HistEQ AGC. It is the width of the histogram at which
the gain limit factor will be applied. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in Manual gain limit
NOTE
factor mode.
Parameters
• camera
• xmax
◦ Active gain limit factor xmax used by the camera. It is an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_gain_limit_factor_xmax
50
seekcamera_set_histeq_agc_gain_limit_factor_xmax
Declaration
Overview
Sets the gain limit factor xmax value used for HistEQ AGC. It may take on values in the closed
interval [0, 65535] with integer precision. It is the width of the histogram at which the gain limit
factor will be applied. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in Manual gain limit
NOTE
factor mode.
Parameters
• camera
• xmax
◦ New active gain limit factor xmax for the camera to use.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_gain_limit_factor_xmax
seekcamera_get_histeq_agc_gain_limit_factor_ymin
Declaration
Overview
Gets the gain limit factor ymin value used for HistEQ AGC. It is the minimum value of the gain limit
factor. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in Manual gain limit
NOTE
factor mode.
Parameters
51
• camera
• ymin
◦ Active gain limit factor ymin value used by the camera. It is an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_gain_limit_factor_ymin
seekcamera_set_histeq_agc_gain_limit_factor_ymin
Declaration
Overview
Sets the gain limit factor ymin value used for HistEQ AGC. It may take on values in the closed
interval [0, 1.0] with floating point precision. It is the minimum value of the gain limit factor.
Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in Manual gain limit
NOTE
factor mode.
Parameters
• camera
• ymin
◦ New active gain limit factor ymin for the camera to use.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_gain_limit_factor_ymin
seekcamera_get_histeq_agc_plateau
52
Declaration
Overview
Gets the plateau value used for HistEQ AGC. Plateau value limits the percentage of pixels that can
be in a single histogram bin. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• plateau
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_plateau
seekcamera_set_histeq_agc_plateau
Declaration
Overview
Sets the plateau value used for HistEQ AGC. Plateau value limits the percentage of pixels that can be
in a single histogram bin. It may take on values in the closed interval [0, 1] with floating point
precision. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
53
• plateau
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_plateau
seekcamera_get_histeq_agc_plateau_redistribution_mode
Declaration
SEEKCAMERA_API seekcamera_error_t
seekcamera_get_histeq_agc_plateau_redistribution_mode(
seekcamera_t* camera,
seekcamera_histeq_agc_plateau_redistribution_mode_t* mode);
Overview
Gets the plateau redistribution mode used for HistEQ AGC. The plateau value limits the percentage
of pixels that can be in a single histogram bin. The plateau redistribution mode controls how pixels
in a histogram bin that exceed the plateau value are redistributed to other bins in the histogram.
Settings are refreshed between frames.
Parameters
• camera
• mode
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_plateau
• seekcamera_histeq_agc_plateau_redistribution_mode_t
seekcamera_set_histeq_agc_plateau_redistribution_mode
54
Declaration
SEEKCAMERA_API seekcamera_error_t
seekcamera_set_histeq_agc_plateau_redistribution_mode(
seekcamera_t* camera,
seekcamera_histeq_agc_plateau_redistribution_mode_t mode);
Overview
Sets the plateau redistribution mode used for HistEQ AGC. The plateau value limits the percentage
of pixels that can be in a single histogram bin. The plateau redistribution mode controls how pixels
in a histogram bin that exceed the plateau value are redistributed to other bins in the histogram.
Settings are refreshed between frames.
Parameters
• camera
• mode
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_plateau
• seekcamera_histeq_agc_plateau_redistribution_mode_t
seekcamera_get_histeq_agc_roi_enable
Declaration
Overview
Gets whether or not the histogram region of interest is enabled. Settings are refreshed between
frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
55
• camera
• enable
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
seekcamera_set_histeq_agc_roi_enable
Declaration
Overview
Sets whether or not the histogram region of interest is enabled. Settings are refreshed between
frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• enable
◦ New value for whether or not the histogram region of interest is enabled.
Return value
56
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
seekcamera_get_histeq_agc_roi_height
Declaration
Overview
Gets the height of the histogram region of interest. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• height
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_height
57
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
seekcamera_set_histeq_agc_roi_height
Declaration
Overview
Sets the height of the histogram region of interest. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• height
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
58
seekcamera_get_histeq_agc_roi_left
Declaration
Overview
Gets the value of the left coordinate of the histogram region of interest. Settings are refreshed
between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• left
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_left
seekcamera_set_histeq_agc_roi_left
Declaration
59
uint32_t left);
Overview
Sets the value of the left coordinate of the histogram region of interest. Settings are refreshed
between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• left
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
seekcamera_get_histeq_agc_roi_top
Declaration
Overview
Gets the value of the top coordinate of the histogram region of interest. Settings are refreshed
between frames.
60
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• top
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
seekcamera_set_histeq_agc_roi_top
Declaration
Overview
Sets the value of the top coordinate of the histogram region of interest. Settings are refreshed
between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
61
• top
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
seekcamera_get_histeq_agc_roi_width
Declaration
Overview
Gets the width of the histogram region of interest. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• width
Return value
An enumerated error code indicating pass or fail.
See also
62
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_width
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
seekcamera_set_histeq_agc_roi_width
Declaration
Overview
Sets the width of the histogram region of interest. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• width
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_roi_enable
• seekcamera_set_histeq_agc_roi_enable
• seekcamera_get_histeq_agc_roi_height
• seekcamera_set_histeq_agc_roi_height
• seekcamera_get_histeq_agc_roi_width
63
• seekcamera_get_histeq_agc_roi_top
• seekcamera_set_histeq_agc_roi_top
• seekcamera_get_histeq_agc_roi_left
• seekcamera_set_histeq_agc_roi_left
seekcamera_get_histeq_agc_trim_left
Declaration
Overview
Gets the value used to trim the left side of the histogram. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• trim
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_trim_left
• seekcamera_get_histeq_agc_trim_right
seekcamera_set_histeq_agc_trim_left
Declaration
Overview
Sets the value used to trim the left side of the histogram. It may take on values in the closed interval
[0.0, 0.49] with floating point precision. Settings are refreshed between frames.
64
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• trim
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_trim_left
• seekcamera_set_histeq_agc_trim_right
seekcamera_get_histeq_agc_trim_right
Declaration
Overview
Gets the value used to trim the right side of the histogram. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• trim
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_histeq_agc_trim_right
65
• seekcamera_get_histeq_agc_trim_left
seekcamera_set_histeq_agc_trim_right
Declaration
Overview
Sets the value used to trim the right side of the histogram. It may take on values in the closed
interval [0.0, 0.49] with floating point precision. Settings are refreshed between frames.
This value has effect when using HistEQ AGC. It has effect in both Auto or Manual
NOTE
gain limit factor modes.
Parameters
• camera
• trim
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_histeq_agc_trim_right
• seekcamera_set_histeq_agc_trim_left
seekcamera_get_io_properties
Declaration
Overview
Gets the IO properties of the camera.
Parameters
• camera
66
• properties
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_io_properties_t
seekcamera_get_io_type
Declaration
Overview
Gets the IO type of the camera.
Parameters
• camera
• type
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_io_type_t
seekcamera_get_linear_agc_lock_max
Declaration
Overview
Gets the value used as the maximum lock by Linear AGC. Settings are refreshed between frames.
67
This value has effect when using Linear AGC. It has effect in both select semi-
NOTE
Manual and Manual lock modes.
Parameters
• camera
• lock_max
◦ Active linear AGC lock maximum used by the camera. It is specified in degrees Celsius. It is
an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_linear_agc_lock_max
• seekcamera_get_linear_agc_lock_max
seekcamera_set_linear_agc_lock_max
Declaration
Overview
Sets the value used as the maximum lock by Linear AGC. It may take on float percision values.
Settings are refreshed between frames.
This value has effect when using Linear AGC. It has effect in both select semi-
NOTE
Manual and Manual lock modes.
Parameters
• camera
• lock_max
◦ New active linear AGC lock maximum for the camera to use in degrees Celsius.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
68
• seekcamera_get_linear_agc_lock_max
• seekcamera_set_linear_agc_lock_max
seekcamera_get_linear_agc_lock_min
Declaration
Overview
Gets the value used as the minimum lock by Linear AGC. Settings are refreshed between frames.
This value has effect when using Linear AGC. It has effect in both select semi-
NOTE
Manual and Manual lock modes.
Parameters
• camera
• lock_min
◦ Active linear AGC lock minimum used by the camera. It is specified in degrees Celsius. It is
an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_linear_agc_lock_min
• seekcamera_get_linear_agc_lock_max
seekcamera_set_linear_agc_lock_min
Declaration
Overview
Sets the value used as the minimum lock by Linear AGC. Settings are refreshed between frames.
This value has effect when using Linear AGC. It has effect in both select semi-
NOTE
69
Manual and Manual lock modes.
Parameters
• camera
• lock_min
◦ New active linear AGC lock minimum for the camera to use in degrees Celsius.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_linear_agc_lock_min_t
• seekcamera_get_linear_agc_lock_min
• seekcamera_set_linear_agc_lock_max
seekcamera_get_linear_agc_lock_mode
Declaration
Overview
Gets the lock mode used by Linear AGC. Settings are refreshed between frames.
Parameters
• camera
• mode
◦ Active linear AGC lock mode used by the camera. It is an output parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_linear_agc_lock_mode_t
• seekcamera_set_linear_agc_lock_mode
70
seekcamera_set_linear_agc_lock_mode
Declaration
Overview
Sets the lock mode used by Linear AGC. Settings are refreshed between frames.
Parameters
• camera
• mode
◦ New active linear AGC lock mode for the camera to use.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_linear_agc_lock_mode_t
• seekcamera_get_linear_agc_lock_mode
seekcamera_get_pipeline_mode
Declaration
Overview
Gets the active image processing pipeline mode. Settings are refreshed between frames.
Parameters
• camera
• mode
◦ Enumerated type corresponding to the image processing pipeline mode for the camera to
use.
71
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_pipeline_mode_t
• seekcamera_set_pipeline_mode
• seekcamera_pipeline_mode_get_str
seekcamera_set_pipeline_mode
Declaration
Overview
Sets the active image processing pipeline mode. The image processing pipeline mode can set both
filter and agc settings to initialized values. Note that setting this to SeekVision Mode will prevent
the user from adjusting filter and AGC settings as the pipeline includes automatic updates based on
different scene content and will return SEEKCAMERA_ERROR_NOT_SUPPORTED error with AGC API
calls. Both Lite and Legacy modes allow the user to dynamically adjust AGC settings. Additionally,
the SeekVision Mode is only available for Seek Thermal Mosaic OEM Cameras and will return
SEEKCAMERA_ERROR_NOT_IMPLEMENTED error with other cameras. Settings are refreshed
between frames.
Parameters
• camera
• mode
◦ Enumerated type corresponding to the image processing pipeline mode for the camera to
use.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_pipeline_mode_t
• seekcamera_get_pipeline_mode
• seekcamera_pipeline_mode_get_str
72
seekcamera_pipeline_mode_get_str
Declaration
Overview
Gets the active image processing pipeline mode name. Settings are refreshed between frames.
Parameters
• mode
◦ Enumerated type corresponding to the image processing pipeline mode for the camera to
use.
Return value
A char for the name of the enumerated pipeline mode.
See also
• seekcamera_pipeline_mode_t
• seekcamera_get_pipeline_mode
• seekcamera_set_pipeline_mode
seekcamera_get_scene_emissivity
Declaration
Overview
Gets the global scene emissivity. Emissivity is the measure of an objects ability to emit thermal
radiation. It may take on values in the closed interval [0,1] with floating point precision. Settings
are refreshed between frames.
Parameters
• camera
• emissivity
◦ Active scene emissivity that was set by the user. It is an output parameter.
Return value
An enumerated error code indicating pass or fail.
73
See also
• seekcamera_t
• seekcamera_set_scene_emissivity
seekcamera_set_scene_emissivity
Declaration
Overview
Sets the global scene emissivity. Emissivity is the measure of an objects ability to emit thermal
radiation. It may take on values in the closed interval [0,1] with floating point precision. Settings
are refreshed between frames.
Parameters
• camera
• emissivity
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_scene_emissivity
seekcamera_get_serial_number
Declaration
Overview
Gets the serial number (SN) of the camera.
Parameters
• camera
74
• serial_number
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_serial_number_t
seekcamera_get_shutter_mode
Declaration
Overview
Gets the active shutter mode. Settings are refreshed between frames.
Parameters
• camera
• mode
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_shutter_mode_t
• seekcamera_set_shutter_mode
seekcamera_set_shutter_mode
Declaration
75
Overview
Sets the shutter mode. Settings are refreshed between frames.
Parameters
• camera
• mode
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_shutter_mode_t
• seekcamera_get_shutter_mode
seekcamera_shutter_trigger
Declaration
Overview
Triggers the camera to shutter as soon as possible.
Parameters
• camera
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_shutter_mode_t
76
seekcamera_get_temperature_unit
Declaration
Overview
Gets the active temperature unit. Settings are refreshed between frames.
Parameters
• camera
• unit
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_temperature_unit_t
• seekcamera_set_temperature_unit
seekcamera_set_temperature_unit
Declaration
Overview
Sets the active temperature unit. Settings are refreshed between frames.
Parameters
• camera
• unit
Return value
An enumerated error code indicating pass or fail.
77
See also
• seekcamera_t
• seekcamera_temperature_unit_t
• seekcamera_get_temperature_unit
seekcamera_get_thermography_offset
Declaration
Overview
Gets the thermography offset. The thermography offset is a constant that is applied to every pixel in
the thermography frame. Settings are refreshed between frames.
Parameters
• camera
• offset
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_set_thermography_offset
seekcamera_set_thermography_offset
Declaration
Overview
Sets the thermography offset. The thermography offset is a constant that is applied to every pixel in
the thermography frame. Settings are refreshed between frames.
Parameters
• camera
78
◦ Camera for which to get the thermography offset.
• offset
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_thermography_offset
seekcamera_get_thermography_window
Declaration
Overview
Gets the thermography window of the camera. The thermography window is expressed in image
coordinates. The global origin is the upper-left corner of the frame. Data outside the window is
invalid.
Parameters
• camera
• x0
• y0
• w
• h
Return value
An enumerated error code indicating pass or fail.
See also
79
• seekcamera_t
• seekcamera_set_thermography_window
seekcamera_set_thermography_window
Declaration
Overview
Sets the thermography window of the camera. The thermography window is expressed in image
coordinates. The global origin is the upper-left corner of the frame. Data outside the window is
invalid.
Parameters
• camera
• x0
• y0
• w
• h
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_t
• seekcamera_get_thermography_window
80
seekcamera_frame_t
Declaration
Overview
Structure that encapsulates single or multiple generic seekframe_t structs.
seekcamera_frame_format_t
Declaration
Overview
Types of output frame formats. Multiple frame formats can be captured simultaneously. However
only one Display frame format and one Thermography frame format can exist in a capture session.
The exception is that grayscale can be captured along with another color Display format.
Please refer to the frame types overview section for more information on Display, Thermography,
and Partially Processed frame types.
Cases
• SEEKCAMERA_FRAME_FORMAT_CORRECTED
◦ Corrected frame data format. It is the least processed format offerred. To output corrected
data, the SDK performs only required processing steps. These include: flat field subtraction
(for shuttered cores), gain and offset correction, bad pixel replacement, and a few other
proprietary processing techniques.
1 16 0 0
• SEEKCAMERA_FRAME_FORMAT_PRE_AGC
◦ Pre-AGC frame data format. It is the second least processed format offered. To output pre-
AGC data, the SDK performs all processing steps required to output corrected data, as well as
a limited number of proprietary processing filters.
1 16 0 0
81
• SEEKCAMERA_FRAME_FORMAT_THERMOGRAPHY_FLOAT
◦ Thermography floating point frame data format. To output floating point thermography
data, the SDK performs all processing steps required to output corrected and pre-AGC data,
as well as proprietary thermography processing. Temperature units are in degrees Celsius.
1 32 0 0
• SEEKCAMERA_FRAME_FORMAT_THERMOGRAPHY_FIXED_10_6
◦ Thermography fixed point (U10.6) frame data format. To output fixed point thermography
data, the SDK performs all processing steps required to output corrected and pre-AGC data,
as well as proprietary thermography processing.
To get temperature
1 16 0 0
• SEEKCAMERA_FRAME_FORMAT_GRAYSCALE
◦ Grayscale frame data format. To output grayscale data, the SDK performs all processing
steps required to output corrected and pre-AGC data, as well as proprietary automatic gain
control (AGC) processing.
1 8 0 0
• SEEKCAMERA_FRAME_FORMAT_COLOR_ARGB8888
◦ Color ARGB8888 (BGRA32) frame data format. To output ARGB8888 display data, the SDK
performs all processing steps required to output corrected and pre-AGC data, as well as
proprietary image processing.
4 32 0 0
• SEEKCAMERA_FRAME_FORMAT_COLOR_RGB565
◦ Color RGB565 frame data format. To output RGB565 display data, the SDK performs all
processing steps required to output corrected and pre-AGC data, as well as proprietary
image processing.
3 16 0 0
82
• SEEKCAMERA_FRAME_FORMAT_COLOR_AYUV
◦ Color AYUV frame data format. To output AYUV display data, the SDK performs all
processing steps required to output corrected and pre-AGC data, as well as proprietary
image processing.
4 32 0 0
• SEEKCAMERA_FRAME_FORMAT_COLOR_YUY2
◦ Color YUY2 frame data format. To output YUY2 display data, the SDK performs all processing
steps required to output corrected and pre-AGC data, as well as proprietary image
processing.
2 16 0 0
seekcamera_frame_header_t
Declaration
Overview
Common header for the camera frame. It is a fixed size (2048 bytes) and byte aligned. It can be
accessed in each individual seekframe_t struct.
Fields
• sentinel: uint32_t
◦ Header sentinel
• version: uint8_t
• type: uint32_t
• width: uint16_t
• height: uint16_t
• channels: uint8_t
83
• pixel_depth: uint8_t
• pixel_padding: uint8_t
• line_stride: uint16_t
• line_padding: uint16_t
• header_size: uint16_t
• timestamp_utc_ns: uint64_t
• chipid: char[16]
• serial_number: char[16]
• core_part_number: char[32]
• firmware_version: uint8_t[4]
• io_type: uint8_t
• fpa_frame_count: uint32_t
• fpa_diode_count: uint32_t
• environment_temperature: float
• thermography_min_x: uint16_t
• thermography_min_y: uint16_t
• thermography_min_value: float
• thermography_max_x: uint16_t
84
◦ Image coordinate (x-dimension) of the max thermography pixel
• thermography_max_y: uint16_t
• thermography_max_value: float
• thermography_spot_x: uint16_t
• thermography_spot_y: uint16_t
• thermography_spot_value: float
• agc_mode: uint8_t
• histeq_agc_num_bins: uint16_t
• histeq_agc_bin_width: uint16_t
• histeq_agc_gain_limit_factor: float
• histeq_agc_reserved: uint8_t[64]
• linear_agc_min: float
• linear_agc_max: float
• linear_agc_reserved: uint8_t[32
• gradient_correction_filter_state: uint8_t
• flat_scene_correction_filter_state: uint8_t
• reserved: uint8_t[1798]
See also
85
• seekframe_t
• seekframe_get_header
• seekframe_get_header_size
seekcamera_frame_get_frame_by_format
Declaration
Overview
Gets an individual frame from the camera frame structure according to format.
NOTE The format must have been specified in the capture session flags.
Parameters
• camera_frame
◦ Camera frame wrapper for which to get the generic frame data.
• format
• frame
◦ Pointer to the generic frame storage. It should be NULL on input. If successful, it will be non-
NULL and point to valid data on output; otherwise it will remain NULL. It is an output
parameter.
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_frame_t
• seekcamera_frame_format_t
• seekframe_t
seekcamera_frame_lock
Declaration
Overview
86
Locks a camera frame for exclusive access to the underlying frame data. This allows the application
to safely access the frame outside the context of the frame callback.
1. There is no need to use this API (or the corresponding unlock) if all processing of
the frame and frame data is done in the context of the frame callback.
2. If the camera frame is already locked, calling this API multiple times has no
effect.
NOTE
3. The user is responsible for unlocking a camera frame when exclusive access to
the frame data is no longer needed.
Parameters
• camera_frame
Return value
An enumerated error code indicating pass or fail.
See also
• seekcamera_frame_t
seekcamera_frame_unlock
Declaration
Overview
Unlocks a camera frame that was previously locked by seekcamera_frame_lock.
1. This API should only be used outside the context of the frame callback. There is
no need for this API (or the corresponding lock API) if all processing of the
NOTE frame (and frame data) is done in the context of the frame callback.
2. If the camera frame is already unlocked, calling this API multiple times has no
effect.
Parameters
• camera_frame
Return value
An enumerated error code indicating pass or fail.
87
See also
• seekcamera_frame_t
seekcamera_error_t
Declaration
Overview
Enumerated type representing types of events used by the camera manager.
Cases
• SEEKCAMERA_SUCCESS
• SEEKCAMERA_ERROR_DEVICE_COMMUNICATION
• SEEKCAMERA_ERROR_INVALID_PARAMETER
• SEEKCAMERA_ERROR_PERMISSIONS
◦ Status that is returned when there are insufficient permissions to access a resource.
• SEEKCAMERA_ERROR_NO_DEVICE
• SEEKCAMERA_ERROR_DEVICE_NOT_FOUND
• SEEKCAMERA_ERROR_DEVICE_BUSY
• SEEKCAMERA_ERROR_TIMEOUT
• SEEKCAMERA_ERROR_OVERFLOW
• SEEKCAMERA_ERROR_UNKNOWN_REQUEST
88
◦ Status that is returned when an unknown request is made.
• SEEKCAMERA_ERROR_INTERRUPTED
• SEEKCAMERA_ERROR_OUT_OF_MEMORY
• SEEKCAMERA_ERROR_NOT_SUPPORTED
• SEEKCAMERA_ERROR_OTHER
• SEEKCAMERA_ERROR_CANNOT_PERFORM_REQUEST
• SEEKCAMERA_ERROR_FLASH_ACCESS_FAILURE
• SEEKCAMERA_ERROR_IMPLEMENTATION_ERROR
• SEEKCAMERA_ERROR_REQUEST_PENDING
• SEEKCAMERA_ERROR_INVALID_FIRMWARE_IMAGE
• SEEKCAMERA_ERROR_INVALID_KEY
• SEEKCAMERA_ERROR_SENSOR_COMMUNICATION
• SEEKCAMERA_ERROR_OUT_OF_RANGE
• SEEKCAMERA_ERROR_VERIFY_FAILED
• SEEKCAMERA_ERROR_SYSCALL_FAILED
• SEEKCAMERA_ERROR_FILE_DOES_NOT_EXIST
• SEEKCAMERA_ERROR_DIRECTORY_DOES_NOT_EXIST
• SEEKCAMERA_ERROR_FILE_READ_FAILED
89
• SEEKCAMERA_ERROR_FILE_WRITE_FAILED
• SEEKCAMERA_ERROR_NOT_IMPLEMENTED
• SEEKCAMERA_ERROR_NOT_PAIRED
See also
• seekcamera_error_get_str
seekcamera_error_get_str
Declaration
Overview
Gets the description of a camera error type. The error strings are NULL terminated C strings.
Parameters
• status
Return value
The description of a camera error type.
See also
• seekcamera_error_t
seekcamera_version_get_major
Declaration
Overview
Returns the major version number of the seekcamera API.
90
Return value
The major version number of the seekcamera API.
See also
• seekcamera_version_get_minor
• seekcamera_version_get_patch
• seekcamera_version_get_internal
• seekcamera_version_get_qualifier
seekcamera_version_get_minor
Declaration
Overview
Returns the minor version number of the seekcamera API.
Return value
The minor version number of the seekcamera API.
See also
• seekcamera_version_get_major
• seekcamera_version_get_patch
• seekcamera_version_get_internal
• seekcamera_version_get_qualifier
seekcamera_version_get_patch
Declaration
Overview
Returns the patch version number of the seekcamera API.
Return value
The patch version number of the seekcamera API.
See also
• seekcamera_version_get_major
• seekcamera_version_get_minor
• seekcamera_version_get_internal
91
• seekcamera_version_get_qualifier
seekcamera_version_get_internal
Declaration
Overview
Returns the internal version number of the seekcamera API.
Return value
The internal version number of the seekcamera API.
See also
• seekcamera_version_get_major
• seekcamera_version_get_minor
• seekcamera_version_get_patch
• seekcamera_version_get_qualifier
seekcamera_version_get_qualifier
Declaration
Overview
Returns the qualifier version string of the seekcamera API.
Return value
The qualifier version string of the seekcamera API.
See also
• seekcamera_version_get_major
• seekcamera_version_get_minor
• seekcamera_version_get_patch
• seekcamera_version_get_internal
92
seekframe_t
Declaration
Overview
Structure that represents an arbitrary frame.
seekframe_get_width
Declaration
Overview
Gets the width of the frame in image coordinates.
Parameters
• frame
Return value
On success, the frame width as an unsigned integer type. On failure, 0.
See also
• seekframe_t
seekframe_get_height
Declaration
Overview
Gets the height of the frame in image coordinates.
Parameters
• frame
Return value
On success, the frame height as an unsigned integer type. On failure, 0.
93
See also
• seekframe_t
seekframe_get_channels
Declaration
Overview
Gets the number of image channels of the frame. Channels are stored contiguously.
Parameters
• frame
Return value
On success, the number of channels as an unsigned integer type. On failure, 0.
See also
• seekframe_t
seekframe_get_pixel_depth
Declaration
Overview
Gets the pixel depth of the frame in bits. Pixel depth refers to the non-padded bit depth of each
pixel.
Parameters
• frame
Return value
On success, the pixel depth as an unsigned integer type. On failure, 0.
See also
• seekframe_t
• seekframe_get_pixel_padding
94
seekframe_get_pixel_padding
Declaration
Overview
Gets the pixel padding of the frame in bits. Pixel padding refers padding stored between pixels.
Parameters
• frame
Return value
On success, the pixel padding as an unsigned integer type. On failure, 0.
See also
• seekframe_t
• seekframe_get_pixel_depth
seekframe_get_line_stride
Declaration
Overview
Gets the line stride of the frame in bytes. Line stride refers to the total width of each image line/row.
It includes line padding.
Parameters
• frame
Return value
On success, the line stride as an unsigned integer type. On failure, 0.
See also
• seekframe_t
• seekframe_get_line_padding
seekframe_get_line_padding
95
Declaration
Overview
Gets the line padding of the frame in bytes. Line padding refers to padding stored at the end of each
line/row.
Parameters
• frame
Return value
On success, the line padding as an unsigned integer type. On failure, 0.
See also
• seekframe_t
• seekframe_get_line_padding
seekframe_get_data_size
Declaration
Overview
Gets the total size of the frame pixel data in bytes.
Parameters
• frame
Return value
On success, the data size as an unsigned integer type. On failure, 0.
See also
• seekframe_t
• seekframe_get_data
seekframe_get_data
Declarartion
96
const seekframe_t* frame);
Overview
Gets the pointer to the pixel data of the frame.
Parameters
• frame
Return value
On success, the data pointer as a non NULL pointer. On failure, NULL.
See also
• seekframe_t
• seekframe_get_data_size
• seekframe_get_row
• seekframe_get_pixel
seekframe_get_row
Declarartion
Overview
Gets the pointer to a row of pixel data of the frame.
Parameters
• frame
Return value
On success, the row data pointer as a non NULL pointer. On failure, NULL.
See also
• seekframe_t
• seekframe_get_data
• seekframe_get_pixel
seekframe_get_pixel
97
Declaration
Overview
Gets the pointer to an individual pixel of the frame.
Parameters
• frame
Return value
On success, the individual pixel pointer as a non NULL pointer. On failure, NULL.
See also
• seekframe_t
• seekframe_get_data
• seekframe_get_row
seekframe_is_empty
Declaration
Overview
Checks if the frame does not contain any data.
Parameters
• frame
Return value
If the frame is empty, true. If the frame is not empty, false.
See also
• seekframe_t
seekframe_get_header_size
98
Declaration
Overview
Gets the total size of the frame header data in bytes.
Parameters
• frame
Return value
On success, the header size as an unsigned integer type. On failure, 0.
See also
• seekframe_t
• seekframe_get_header
• seekcamera_frame_header_t
seekframe_get_header
Declaration
Overview
Gets the pointer to the header data of the frame.
Parameters
• frame
Return value
On success, the header pointer as a non NULL pointer. On failure, NULL.
See also
• seekframe_t
• seekframe_get_header_size
• seekcamera_frame_header_t
99