![]() |
Thermal Camera SDK 11.3.0
SDK for Optris Thermal Cameras
|
An operation mode represents a valid combination of optics, temperature range and video format settings that is supported by a device. These three categories are comprised out of the following individual setting options:
| Category | Individual Setting Options |
|---|---|
| Optics | Field of view (FOV), optics text |
| Temperature Range | Non-extended lower and upper limit |
| Video Format | Frame width, frame height and framerate (not sub-sampled) |
The availability of the different operation modes depends on the device type, the available calibration data and the used device connection interface (USB, Ethernet).
If no calibration is found and could not be acquired, the SDK will not be able to determine available optics and temperature ranges. As a result, operation modes are solely derived from the supported video format. The values for field of view and the temperature range limits are set to the invalid values 0 and -100 respectively.
You can use the IRImager::getOperationModes() method to get a container with all the available operation modes for the current device connection. The container is always sorted in ascending order with the following prioritization of the individual settings:
field of view > optics text > lower temperature limit > upper temperature limit > frame width > frame height > framerate
The currently active operation mode is returned by the IRImager::getActiveOperationMode() method. With its OperationMode::getIndex() method you can identify its index within the container of available modes.
You have two options to set the active operations mode:
IRImager::setActiveOperationMode() methods. width, height and framerate arguments.When changing an active operation mode at runtime, the SDK pauses the processing of thermal frames while reconfiguring the incoming data stream and reinitializing the processing pipeline. Once completed it enters an initialization phase similar to the startup calibration upon a new device connection. This phase, however, is significantly shorter. Nevertheless, thermal data during this phase is equally unreliable. The SDK denotes that phase by setting the FlagState to Initializing. SDK clients can check for this value either via the IRImagerClient::onFlagStateChange() callback or via the state contained within the FrameMetadata object returned by the IRImagerClient::onThermalFrame() callback.