Thermal Camera SDK 11.3.0
SDK for Optris Thermal Cameras
Loading...
Searching...
No Matches
optris::IRImagerConfig Struct Reference

Holds the SDK settings found in the configuration file. More...

#include <IRImagerConfig.h>

Collaboration diagram for optris::IRImagerConfig:
Collaboration graph

Static Public Member Functions

static OTC_SDK_API void validate (IRImagerConfig &config)
 Validates the configuration settings.
 

Public Attributes

int version = CURRENT_VERSION
 Version of the configuration file.
 
unsigned long serialNumber = 0
 Serial number of the device.
 
std::string connectionInterface = "usb"
 Interface used to connect to the device (USB, Ethernet).
 
IpAddress ipAddress = IpAddress{192, 168, 0, 101}
 IP address of the device.
 
unsigned short port = 50101
 Local UDP port to which the device sends data to.
 
bool checkIp = true
 Flag indicating whether to only process UDP packages from the IP address specified by the ipAddress member variable.
 
int connectionTimeout = 10
 Specifies the time in seconds that has to elapse without no new frame received until an connection timeout occurs.
 
unsigned short bufferQueueSize = 5
 Specifies the number of buffers that the subsystems receiving the raw frame data should use (DirectShow, V4L2, etc.).
 
ProcessingOutputConfig processingOutputs
 Specifies which outputs should be computed and provided by the SDK.
 
unsigned int processingMaxResultPoolSize = 10
 Sets the maximum number of processing results that are pooled for reuse to avoid unnecessary allocations.
 
int width = 0
 Width in pixels of the output frame.
 
int height = 0
 Height in pixels of the output frame.
 
int framerate = 0
 Output framerate in Hz.
 
float subsampledFramerate = -1.F
 Subsampled output framerate.
 
int fieldOfView = 0
 Field of view of the optics in degree.
 
std::string opticsText
 Optional text further specifying the used optics.
 
bool enableSoSCorrection = true
 Use Size of Source Correction if available in calibration data.
 
RdcMode rdcMode = RdcMode::Normal
 Mode of radial distortion correction (RDC).
 
int minTemperature = 0
 Lower limit of the desired temperature range in °C.
 
int maxTemperature = 0
 Upper limit of the desired temperature range in °C.
 
bool enableExtendedTemperatureRange = false
 Extends the chosen temperature range if possible.
 
bool enableHighPrecisionTemperature = true
 Use high precision temperatures if available.
 
bool autoFlag = true
 Enable the automatic triggering of flag cycles.
 
float minInterval = 12.F
 Minimum time in seconds that has to pass before a new flag cycle can be triggered.
 
float maxInterval = 0.F
 Maximum time in seconds that can pass before a new flag cycle is forced.
 
ChipHeatingMode chipHeatingMode = ChipHeatingMode::Floating
 Specified how and if the sensor chip is beeing heated.
 
float chipHeatingTemperature = 40.F
 Temperature in °C for the fixed chipHeatingMode. The provided value is clamped to [20, 55] °C.
 
float focusMotorPosition = -1.F
 Position of the focus motor in % ([0, 100]).
 
RadiationParameters radiation
 Radiation parameters for the overall thermal frame.
 
bool enableMultiThreading = false
 Activate multithreading for postprocessing.
 
bool failSafeFlagTimeouts = true
 Indicates whether a flag timeout that caused the failure of a flag cycle should trigger the fail safe.
 
int failSafeFlagTimeoutsMaxCycleFailures = 0
 Specifies the number of failed flag cycles to be tolerated before fail safe is triggered due to flag timeouts.
 
bool failSafeProcessingChainTimeouts = true
 Indicates whether a failure of the processing chain to reach all of its endpoints (thermal frame and measurement fields) within a given time frame should trigger the fail safe.
 
AlarmsConfig alarms
 Alarms configuration.
 
std::vector< MeasurementFieldConfigmeasurementFields
 Measurement field configuration.
 
PifConfig processInterface
 Processing interface configuration.
 

Static Public Attributes

static constexpr int CURRENT_VERSION = 3
 Current version of the configuration file.
 

Detailed Description

Holds the SDK settings found in the configuration file.

Member Function Documentation

◆ validate()

static OTC_SDK_API void optris::IRImagerConfig::validate ( IRImagerConfig & config)
static

Validates the configuration settings.

If a faulty setting can be replaced by a valid default this method will do so automatically and print a log warning message. If no valid default is available a SDKException is throws instead.

Parameters
[in,out]configto validate.
Exceptions
SDKExceptionif configuration contains uncorrectable invalid settings.

Member Data Documentation

◆ autoFlag

bool optris::IRImagerConfig::autoFlag = true

Enable the automatic triggering of flag cycles.

Optris thermal cameras feature an internal shutter flag. It need to be closed periodically for the SDK to compensate for drifting temperature measurements.

If set to true, flag cycles will be automatically triggered when one of the temperatures measured by internal probes changes by more than 0.1 °C.

◆ bufferQueueSize

unsigned short optris::IRImagerConfig::bufferQueueSize = 5

Specifies the number of buffers that the subsystems receiving the raw frame data should use (DirectShow, V4L2, etc.).

This setting has no influence on the size of the buffers. Their size is determined by the used video format.

◆ checkIp

bool optris::IRImagerConfig::checkIp = true

Flag indicating whether to only process UDP packages from the IP address specified by the ipAddress member variable.

Set to true to activate this check or set to false to deactivate it.

◆ connectionInterface

std::string optris::IRImagerConfig::connectionInterface = "usb"

Interface used to connect to the device (USB, Ethernet).

Case insensitive.

◆ connectionTimeout

int optris::IRImagerConfig::connectionTimeout = 10

Specifies the time in seconds that has to elapse without no new frame received until an connection timeout occurs.

If connection timeout is detected the IRImager instance will call the IRImagerClient::onConnectionTimeout() callback.

◆ enableExtendedTemperatureRange

bool optris::IRImagerConfig::enableExtendedTemperatureRange = false

Extends the chosen temperature range if possible.

When extending the temperature range you do not need to change the values for minTemperature and maxTemperature. The range is always specified by the non extended temperatures.

Warning
Extended temperature ranges are intended to help you align the field of view of your camera. The precision of the temperature measurements in this mode may not be within the specification.

◆ enableHighPrecisionTemperature

bool optris::IRImagerConfig::enableHighPrecisionTemperature = true

Use high precision temperatures if available.

If true, high precision temperatures will automatically be used if the device and the chosen temperature range supports them.

◆ enableMultiThreading

bool optris::IRImagerConfig::enableMultiThreading = false

Activate multithreading for postprocessing.

Warning
Experimental setting.

◆ enableSoSCorrection

bool optris::IRImagerConfig::enableSoSCorrection = true

Use Size of Source Correction if available in calibration data.

If true, Size of Source Correction will automatically be used if available in calibration data.

◆ failSafeFlagTimeouts

bool optris::IRImagerConfig::failSafeFlagTimeouts = true

Indicates whether a flag timeout that caused the failure of a flag cycle should trigger the fail safe.

A flag timeout occurs when the shutter flag does not reach its expected state within a given time frame. If this happens, the current flag cycle will be considered to have failed.

◆ failSafeFlagTimeoutsMaxCycleFailures

int optris::IRImagerConfig::failSafeFlagTimeoutsMaxCycleFailures = 0

Specifies the number of failed flag cycles to be tolerated before fail safe is triggered due to flag timeouts.

See also
IRImagerConfig::failSafeTriggerOnFlagTimeout

◆ failSafeProcessingChainTimeouts

bool optris::IRImagerConfig::failSafeProcessingChainTimeouts = true

Indicates whether a failure of the processing chain to reach all of its endpoints (thermal frame and measurement fields) within a given time frame should trigger the fail safe.

If set to false, the fail safe will still be triggered when the processing chain itself crashes or gets stuck.

◆ fieldOfView

int optris::IRImagerConfig::fieldOfView = 0

Field of view of the optics in degree.

If the field of view is set to 0 and the opticsText is empty the SDK will use the first available optics.

◆ focusMotorPosition

float optris::IRImagerConfig::focusMotorPosition = -1.F

Position of the focus motor in % ([0, 100]).

Should be in [0., 100.]. Set to a value less than 0 for the SDK to ignore this setting.

◆ framerate

int optris::IRImagerConfig::framerate = 0

Output framerate in Hz.

If width, height and framerate are all set to 0 the SDK will use the first available video format.

◆ height

int optris::IRImagerConfig::height = 0

Height in pixels of the output frame.

If width, height and framerate are all set to 0 the SDK will use the first available video format.

◆ maxTemperature

int optris::IRImagerConfig::maxTemperature = 0

Upper limit of the desired temperature range in °C.

Always use the temperatures for the not extended range.

If the minimum and maximum temperature are set to 0 the SDK will use the first available temperature range.

◆ minTemperature

int optris::IRImagerConfig::minTemperature = 0

Lower limit of the desired temperature range in °C.

Always use the temperatures for the not extended range.

If the minimum and maximum temperature are set to 0 the SDK will use the first available temperature range.

◆ opticsText

std::string optris::IRImagerConfig::opticsText

Optional text further specifying the used optics.

If the field of view is set to 0 and the opticsText is empty the SDK will use the first available optics.

◆ processingMaxResultPoolSize

unsigned int optris::IRImagerConfig::processingMaxResultPoolSize = 10

Sets the maximum number of processing results that are pooled for reuse to avoid unnecessary allocations.

The processing pipeline reuses the same objects to store its results. This setting specifies the maximum number of these objects that are can exist at the same time. If the client callbacks handling the processing results are too slow, the SDK will start to override already existing results. This effectively results in frame drops.

Buffers are only added as needed.

If set to 0, the maximum pool size will be set to 1.

◆ radiation

RadiationParameters optris::IRImagerConfig::radiation

Radiation parameters for the overall thermal frame.

For the radiation parameters of measurement fields see the MeasurementFieldConfig class.

◆ rdcMode

RdcMode optris::IRImagerConfig::rdcMode = RdcMode::Normal

Mode of radial distortion correction (RDC).

The following modes are available:

  • Off : Radial distortion correction will be deactivated.
  • Normal: Radial distortion correction will be done in normal mode.
  • Wide : Radial distortion correction will be done in wide mode.

This has only an impact if the required parameters are provided by the calibration.

◆ subsampledFramerate

float optris::IRImagerConfig::subsampledFramerate = -1.F

Subsampled output framerate.

The SDK internally reduces the output framerate to this value. This setting has no effect on the device itself, meaning the device will always send frames at the rate specified by the framerate member variable.

Set to a value in [0, framerate] to achieve subsampling or set to a value to less than 0 to deactivate this feature.

◆ width

int optris::IRImagerConfig::width = 0

Width in pixels of the output frame.

If width, height and framerate are all set to 0 the SDK will use the first available video format.


The documentation for this struct was generated from the following file: