![]() |
Thermal Camera SDK 11.3.0
SDK for Optris Thermal Cameras
|
Interface defining the API for interacting with Optris thermal cameras. More...
#include <IRImager.h>

Public Member Functions | |
| IRImager ()=default | |
| Constructor. | |
| IRImager (const IRImager &)=delete | |
| No copy constructor. | |
| IRImager & | operator= (const IRImager &)=delete |
| No copy assignment. | |
| IRImager (IRImager &&)=delete | |
| No move constructor. | |
| IRImager & | operator= (IRImager &&)=delete |
| No move assignment. | |
| virtual | ~IRImager ()=default |
| Destructor. | |
| virtual void | connect (IRImagerConfig config)=0 |
| Connects to the device with the given configuration. | |
| virtual void | connect (const DeviceInfo &deviceInfo)=0 |
| Connects to the device with the given device information. | |
| virtual void | connect (unsigned long serialNumber)=0 |
| Connects to the device with the given serial number. | |
| virtual void | disconnect () noexcept=0 |
| Disconnects from the current device. | |
| virtual bool | isConnected () const noexcept=0 |
| Returns whether a connection is established. | |
| virtual bool | addClient (IRImagerClient *client) noexcept=0 |
| Adds an observer/client that will be updated when new data arrives. | |
| virtual bool | removeClient (IRImagerClient *client) noexcept=0 |
| Removes the given observer/client. | |
| virtual bool | run ()=0 |
| Runs the processing loop continuously. | |
| virtual bool | runAsync ()=0 |
| Runs the processing loop continuously in a dedicated thread. | |
| virtual void | stopRunning ()=0 |
| Stops the continuously running processing loop. | |
| virtual bool | isRunning () const noexcept=0 |
| Returns whether the processing loop is currently running. | |
| virtual bool | skipStartupCalibration () noexcept=0 |
| Skips an active startup (re)calibration that is performed every time the processing loop is run. | |
| virtual void | setProcessingOutputs (const ProcessingOutputConfig &outputs)=0 |
| Sets which outputs should be computed and provided by the SDK. | |
| virtual ProcessingOutputConfig | getProcessingOutputs () const noexcept=0 |
| Returns which outputs are currently configured to be computed and provided by the SDK. | |
| virtual void | setProcessingMaxResultPoolSize (unsigned int maxPoolSize)=0 |
| Sets the maximum number of processing results that are pooled for reuse to avoid unnecessary allocations. | |
| virtual unsigned int | getProcessingMaxResultPoolSize () const noexcept=0 |
| Returns the maximum number of processing results that are pooled for reuse to avoid unnecessary allocations. | |
| virtual DeviceType | getDeviceType () const =0 |
| Returns the type of device the IRImager is connected to. | |
| virtual unsigned long | getSerialNumber () const =0 |
| Returns the serial number of the connected device. | |
| virtual unsigned int | getHardwareRevision () const =0 |
| Returns the hardware revision of the connected device. | |
| virtual unsigned int | getFirmwareRevision () const =0 |
| Returns the firmware revision of the connected device. | |
| virtual IRImagerConfig | getConfig ()=0 |
| Returns the current configuration. | |
| virtual void | saveConfig ()=0 |
| Saves the current configuration. | |
| virtual std::string | getConnectionInterface () const noexcept=0 |
| Returns the name of the connection interface used to communication with the device. | |
| virtual IpAddress | getIpAddress () const noexcept=0 |
| Returns the IP address of the connected device. | |
| virtual Port | getPort () const noexcept=0 |
| Returns the number of the port on which the device data is received. | |
| virtual std::vector< OperationMode::ConstShared > | getOperationModes ()=0 |
| Returns the operation modes for the currently connected device. | |
| virtual void | setActiveOperationMode (const OperationMode::ConstShared &mode)=0 |
| Sets the active operation mode for the currently connected device. | |
| virtual void | setActiveOperationMode (int opticsFieldOfView, const std::string &opticsText, float temperatureLowerLimit, float temperatureUpperLimit, int width, int height, int framerate)=0 |
| Sets the active operation mode for the currently connected device. | |
| virtual OperationMode::ConstShared | getActiveOperationMode ()=0 |
| Returns the active operation mode for the currently connected device. | |
| virtual void | setSoSCorrectionEnabled (bool enable)=0 |
| Enables or disables the Size of Source Correction. | |
| virtual bool | isSoSCorrectionEnabled () const noexcept=0 |
| Checks if the Size of Source Correction is enabled. | |
| virtual void | setRdcMode (RdcMode rdcMode)=0 |
| Sets the mode of radial distortion correction (RDC). | |
| virtual RdcMode | getRdcMode () const =0 |
| Returns the mode of radial distortion correction (RDC). | |
| virtual void | setTemperatureRangeExtensionEnabled (bool enabled)=0 |
| Die-/Enables temperature range extension. | |
| virtual bool | isTemperatureRangeExtensionEnabled () const noexcept=0 |
| Returns whether the temperature ranges are being extended. | |
| virtual void | setTemperatureHighPrecisionEnabled (bool enabled)=0 |
| Dis-/Enables high precision temperature measurements. | |
| virtual bool | isTemperatureHighPrecisionEnabled () const noexcept=0 |
| Returns whether high precision temperature measurements are enabled. | |
| virtual int | getWidth () const noexcept=0 |
| Returns the width in pixels of the thermal frame. | |
| virtual int | getHeight () const noexcept=0 |
| Returns the height in pixels of thermal frame. | |
| virtual float | getSubsampledFramerate () const noexcept=0 |
| Returns the subsampled framerate. | |
| virtual void | setSubsampledFramerate (float subsampledFramerate)=0 |
| Sets the subsampled framerate. | |
| virtual MeasurementField::ConstShared | addMeasurementField (const MeasurementFieldConfig &config)=0 |
| Adds a measurement field that is processed for every new thermal frame. | |
| virtual void | removeMeasurementField (const MeasurementField::ConstShared &field)=0 |
| Removes the given measurement field. | |
| virtual std::vector< MeasurementField::ConstShared > | getMeasurementFields () const noexcept=0 |
| Returns all active measurement fields ordered by their index. | |
| virtual int | getMeasurementFieldCount () const noexcept=0 |
| Returns the number of active measurement fields. | |
| virtual void | updateMeasurementField (const MeasurementField::ConstShared &field, const MeasurementFieldConfig &config)=0 |
| Updated the configuration of a measurement field. | |
| virtual void | swapMeasurementFieldIndices (std::uint32_t index1, std::uint32_t index2)=0 |
| Swaps the indices of two measurement fields. | |
| virtual AlarmChannel::ConstShared | addAlarmChannel (const AlarmChannelConfig &config)=0 |
| Adds a new alarm channel. | |
| virtual void | removeAlarmChannel (const AlarmChannel::ConstShared &channel)=0 |
| Removes the given alarm channel. | |
| virtual std::vector< AlarmChannel::ConstShared > | getAlarmChannels () const noexcept=0 |
| Returns all current alarm channels. | |
| virtual std::vector< AlarmChannelStatus > | getAlarmChannelStatuses () const noexcept=0 |
| Returns the status of all current alarm channels. | |
| virtual int | getAlarmChannelCount () const noexcept=0 |
| Returns the count of all current alarm channels. | |
| virtual void | updateAlarmChannel (const AlarmChannel::ConstShared &channel, const AlarmChannelConfig &config)=0 |
| Updates the configuration of an alarm channel. | |
| virtual void | setAutoFlagEnabled (bool enable)=0 |
| Sets the automatic triggering of flag cycles en-/disabled. | |
| virtual bool | isAutoFlagEnabled () const noexcept=0 |
| Returns whether flag cycles are triggered automatically. | |
| virtual void | setFlagInterval (float minInterval, float maxInterval)=0 |
| Sets the minimum and maximum flag intervals in seconds. | |
| virtual float | getFlagMinInterval () const noexcept=0 |
| Returns the minimum flag interval in seconds. | |
| virtual float | getFlagMaxInterval () const noexcept=0 |
| Returns the maximum flag interval in seconds. | |
| virtual void | forceFlagEvent (float time=0.F)=0 |
| Force a flag cycle manually. | |
| virtual bool | isFlagOpen () const noexcept=0 |
| Returns whether the shutter flag is open. | |
| virtual void | setFlagForecastEnabled (bool enable)=0 |
| Set the shutter flag forecast en-/disabled. | |
| virtual bool | isFlagForecastEnabled () const noexcept=0 |
| Returns whether the shutter flag forecast is en-/disabled. | |
| virtual float | getTemperatureFlag () const noexcept=0 |
| Returns the temperature of the shutter flag in °C. | |
| virtual float | getTemperatureBox () const noexcept=0 |
| Returns the temperature of the device housing in °C. | |
| virtual float | getTemperatureChip () const noexcept=0 |
| Returns the temperature of the sensor chip. | |
| virtual void | setChipHeatingMode (ChipHeatingMode mode, float temperature=40.F)=0 |
| Sets the provide mode for heating the sensor chip. | |
| virtual ChipHeatingMode | getChipHeatingMode () const noexcept=0 |
| Returns the current sensor chip heating mode. | |
| virtual float | getChipHeatingTemperature () const noexcept=0 |
| Returns the the target temperature in °C for the sensor chip heating. | |
| virtual RadiationParameterSource | getEmissivitySource () const noexcept=0 |
| Returns the source that currently defines the emissivity for the thermal frame. | |
| virtual RadiationParameterSource | getTransmissivitySource () const noexcept=0 |
| Returns the source that currently defines the transmissivity for the thermal frame. | |
| virtual RadiationParameterSource | getAmbientTemperatureSource () const noexcept=0 |
| Returns the source that currently defines the ambient temperature for the thermal frame. | |
| virtual void | setRadiationParameters (const RadiationParameters &radiation)=0 |
| Sets the radiation parameters (emissivity, transmissivity and ambient temperature). | |
| virtual RadiationParameters | getRadiationParameters () const noexcept=0 |
| Returns the set/configured radiation parameters. | |
| virtual void | setFocusMotorPosition (float position)=0 |
| Sets the position of the focus motor. | |
| virtual float | getFocusMotorPosition () const =0 |
| Returns the position of the focus motor. | |
| virtual void | setReferenceTemperature (float referenceTemperature, float measuredTemperature, float ambientTemperature=INVALID_TEMPERATURE)=0 |
| Sets a reference temperature to a known reference source inside the view of the device to improve measurement accuracy. | |
| virtual void | resetReferenceTemperature ()=0 |
| Resets a previously set reference temperature. | |
| virtual bool | setDeviceNetworkConfig (const DeviceNetworkConfig &networkConfig)=0 |
| Sets the network configuration of the device. | |
| virtual DeviceNetworkConfig | getDeviceNetworkConfig ()=0 |
| Returns the network configuration of the device. | |
| virtual ProcessInterface & | getPif ()=0 |
| Grants access to the process interface. | |
| virtual const ProcessInterface & | getPif () const =0 |
| Grants read access to the process interface. | |
| virtual void | interruptFailSafe (bool active, const std::string &reason)=0 |
| Interrups the all clear fail safe signal. | |
| virtual void | configureOperationInfo (int interval, int x, int y)=0 |
| Configure the tracing of the operation modules that comprise the processing pipeline. | |
Interface defining the API for interacting with Optris thermal cameras.
|
pure virtual |
Adds a new alarm channel.
| [in] | config | of the new alarm channel to add. |
| SDKException | if not connected or if adding the channel failed. |
|
pure virtualnoexcept |
Adds an observer/client that will be updated when new data arrives.
| [in] | client | callback client. |
|
pure virtual |
Adds a measurement field that is processed for every new thermal frame.
The newly added measurement field will always be drawn on top of the already existing measurement fields. The thermal frame will remain in the background. IRImagerClient::onMeasurementFieldAdded() is called when the field was updated with new thermal data.
| [in] | config | of the measurement field to add. |
| SDKException | if not connected or if the measurement field is not completely within the thermal frame or if adding it failed. |
|
pure virtual |
Configure the tracing of the operation modules that comprise the processing pipeline.
| [in] | interval | desired time in ms between subsequent updates. Set to 0 to deactivate tracing. |
| [in] | x | coordinate of a pixel whose value should be traced through processing. |
| [in] | y | coordinate of a pixel whose value should be traced through processing. |
| SDKException | if not connected or if the pixel coordinates lie outside the frame. |
|
pure virtual |
Connects to the device with the given device information.
EnumerationManager to find a device to connect to.| [in] | deviceInfo | device information. |
| SDKException | if connecting fails. |
|
pure virtual |
Connects to the device with the given configuration.
EnumerationManager to find a device to connect to. Its remaining data points will be ignored and the SDK will generate a default configuration for the detected device but without saving it.| [in] | config | configuration. |
| SDKException | if connecting fails. |
|
pure virtual |
Connects to the device with the given serial number.
EnumerationManager to find a device to connect to.| [in] | serialNumber | of the device. |
| SDKException | if connecting fails. |
|
pure virtual |
Force a flag cycle manually.
| [in] | time | point of time in future in milliseconds, when the shutter flag should be closed. |
| SDKException | if not connected. |
|
pure virtual |
Returns the active operation mode for the currently connected device.
Each operation mode holds a valid combination of optics, temperature range and video format settings for the currently connected device.
| SDKException | if not connected. |
|
pure virtualnoexcept |
Returns the count of all current alarm channels.
|
pure virtualnoexcept |
Returns all current alarm channels.
They are sorted based on their IDs.
|
pure virtualnoexcept |
Returns the status of all current alarm channels.
They are sorted based on the ID of the corresponding alarm channel.
|
pure virtualnoexcept |
Returns the source that currently defines the ambient temperature for the thermal frame.
|
pure virtualnoexcept |
Returns the current sensor chip heating mode.
|
pure virtualnoexcept |
Returns the the target temperature in °C for the sensor chip heating.
|
pure virtual |
Returns the current configuration.
| SDKException | if not connected. |
|
pure virtualnoexcept |
Returns the name of the connection interface used to communication with the device.
|
pure virtual |
Returns the network configuration of the device.
| SDKException | if not connected of if the device does not support Ethernet or if getting the device network configuration failed. |
|
pure virtual |
|
pure virtualnoexcept |
Returns the source that currently defines the emissivity for the thermal frame.
|
pure virtual |
Returns the firmware revision of the connected device.
|
pure virtualnoexcept |
Returns the maximum flag interval in seconds.
Maximum time that can elapse before a new flag cycle is triggered.
|
pure virtualnoexcept |
Returns the minimum flag interval in seconds.
Minimum time that has to elapse before a new flag cycle is triggered.
|
pure virtual |
Returns the position of the focus motor.
|
pure virtual |
Returns the hardware revision of the connected device.
|
pure virtualnoexcept |
Returns the height in pixels of thermal frame.
|
pure virtualnoexcept |
Returns the IP address of the connected device.
|
pure virtualnoexcept |
Returns the number of active measurement fields.
|
pure virtualnoexcept |
Returns all active measurement fields ordered by their index.
The measurement fields are ordered by their render tier. Fields with a higher index are drawn on top of fields with a lower index.
|
pure virtual |
Returns the operation modes for the currently connected device.
Each operation mode holds a valid combination of optics, temperature range and video format settings for the currently connected device.
The returned container is always sorted in an ascending order based on the optics, temperature range and video format properties.
With OperationMode::getIndex() you can conveniently inquire a mode for its index within the returned container.
| SDKException | if not connected. |
|
pure virtual |
Grants read access to the process interface.
| SDKException | if not connected. |
|
pure virtual |
Grants access to the process interface.
| SDKException | if not connected. |
|
pure virtualnoexcept |
Returns the number of the port on which the device data is received.
|
pure virtualnoexcept |
Returns the maximum number of processing results that are pooled for reuse to avoid unnecessary allocations.
This only returns the maximum pool size but not the actual number of currently pooled processing results.
|
pure virtualnoexcept |
Returns which outputs are currently configured to be computed and provided by the SDK.
|
pure virtualnoexcept |
Returns the set/configured radiation parameters.
To get the actually applied parameters see the FrameMetadata::getRadiationParameters() for the thermal frame and the MeasurementField::getRadiationParameters() for measurement fields.
|
pure virtual |
Returns the mode of radial distortion correction (RDC).
| SDKException | if not connected or if retrieving the RDC mode fails. |
|
pure virtual |
Returns the serial number of the connected device.
|
pure virtualnoexcept |
Returns the subsampled framerate.
|
pure virtualnoexcept |
Returns the temperature of the device housing in °C.
|
pure virtualnoexcept |
Returns the temperature of the sensor chip.
|
pure virtualnoexcept |
Returns the temperature of the shutter flag in °C.
|
pure virtualnoexcept |
Returns the source that currently defines the transmissivity for the thermal frame.
|
pure virtualnoexcept |
Returns the width in pixels of the thermal frame.
|
pure virtual |
Interrups the all clear fail safe signal.
| [in] | active | if true the all clear signal is interrupted. If false, the all clear may be restored, if all other sources report an all clear. |
| [in] | reason | to be displayed in the logs. |
| SDKException | if not connected. |
|
pure virtualnoexcept |
Returns whether flag cycles are triggered automatically.
|
pure virtualnoexcept |
Returns whether a connection is established.
|
pure virtualnoexcept |
Returns whether the shutter flag forecast is en-/disabled.
|
pure virtualnoexcept |
Returns whether the shutter flag is open.
|
pure virtualnoexcept |
Returns whether the processing loop is currently running.
|
pure virtualnoexcept |
Checks if the Size of Source Correction is enabled.
|
pure virtualnoexcept |
Returns whether high precision temperature measurements are enabled.
|
pure virtualnoexcept |
Returns whether the temperature ranges are being extended.
|
pure virtual |
Removes the given alarm channel.
The alarm channel instance is only destroyed when the smart pointer alarm is released.
The ID of the removed alarm channel is set to the invalid value of -1 to indicate its successful removal.
| [in] | channel | to remove. |
| SDKException | if not connected or if the given alarm channel does not exist for this imager instance. |
|
pure virtualnoexcept |
Removes the given observer/client.
| [in] | client | to remove. |
|
pure virtual |
Removes the given measurement field.
The measurement field instance is only destroyed when the smart pointer field is released.
The ID of the removed measurement field is set to the invalid value of -1 to indicate its successful removal.
| [in] | field | to remove. |
| SDKException | if not connected or if the measurement field does not exist for this imager instance. |
|
pure virtual |
Resets a previously set reference temperature.
| SDKException | if not connected. |
|
pure virtual |
Runs the processing loop continuously.
Blocks until stopRunning() or disconnect() is called from another thread or until the IRImager instance is destroyed.
|
pure virtual |
Runs the processing loop continuously in a dedicated thread.
Runs until stopRunning() or disconnect() is called from another thread or until the IRImager instance is destroyed.
|
pure virtual |
Saves the current configuration.
The configuration is saved to the default location on the filesystem.
| SDKException | if not connected or if saving the configuration fails. |
|
pure virtual |
Sets the active operation mode for the currently connected device.
Each operation mode holds a valid combination of optics, temperature range and video format settings for the currently connected device.
| [in] | mode | to set active. |
| SDKException | if not connected, if mode is not supported by device or if applying the mode fails. |
|
pure virtual |
Sets the active operation mode for the currently connected device.
Each operation mode holds a valid combination of optics, temperature range and video format settings for the currently connected device.
| [in] | opticsFieldOfView | in degrees. |
| [in] | opticsText | further specifying the optics if the field of view is not unique enough. |
| [in] | temperatureLowerLimit | in degree Celsius (not extended). |
| [in] | temperatureUpperLimit | in degree Celsius (not extended). |
| [in] | width | in pixel of the output frame. |
| [in] | height | in pixel of the output frame. |
| [in] | framerate | in Hz (not sub-sampled). |
| SDKException | SDKException if not connected, if mode is not supported by device or if applying the mode fails. |
|
pure virtual |
Sets the automatic triggering of flag cycles en-/disabled.
| [in] | enable | or disable automatic triggering of flag cycles. |
| SDKException | if not connected. |
|
pure virtual |
Sets the provide mode for heating the sensor chip.
| [in] | mode | indicating the heating mode. |
| [in] | temperature | target temperature for fixed mode in °C. Its value is automatically clamped to [20., 55.] °C. |
| SDKException | if not connected. |
|
pure virtual |
Sets the network configuration of the device.
The SDK tries to retain an active Ethernet connection. This, however, is only possible if the following settings were changed:
In any other case the SDK considers the connection lost and triggers the IRImagerClient::onConnectionLost() callback which a client should use to call disconnect().
| [in] | networkConfig | to set. |
| SDKException | if not connected of if the device does not support Ethernet or if setting the device network configuration failed. |
|
pure virtual |
Set the shutter flag forecast en-/disabled.
| enable | of disable the shutter flag forecast. |
| SDKException | if not connected. |
|
pure virtual |
Sets the minimum and maximum flag intervals in seconds.
| [in] | minInterval | minimal time in seconds that has to elapse before a new flag cycle is triggered. |
| [in] | maxInterval | maximum time in seconds that can elapse until a new flag cycle is triggered. Set to 0 to deactivate. |
| SDKException | if provided intervals are negative or not connected. |
|
pure virtual |
Sets the position of the focus motor.
The position should be in [0, 100] %. If not, the position will automatically be clipped.
| [in] | position | focus motor position in %. |
| SDKException | if not connected or if no focus motor is available. |
|
pure virtual |
Sets the maximum number of processing results that are pooled for reuse to avoid unnecessary allocations.
Buffers for processing results are added as needed but will not exceed the specified maximum pool size. An insufficient pool size may lead to overriding of already existing results or to waits that will slow down processing. Keep your callback implementations concise and fast to avoid such situation.
| [in] | maxPoolSize | maximum number of processing results that are pooled for reuse. If set to 0, the pool size will be set to 1. |
| SDKException | if not connected. |
|
pure virtual |
Sets which outputs should be computed and provided by the SDK.
| [in] | outputs | configuration specifying which outputs should be computed and provided. |
| SDKException | if not connected. |
|
pure virtual |
Sets the radiation parameters (emissivity, transmissivity and ambient temperature).
| [in] | radiation | parameters to set. |
| SDKException | if not connected or if parameters are invalid or if setting the parameters fails. |
|
pure virtual |
Sets the mode of radial distortion correction (RDC).
| [in] | rdcMode | the RDC mode to set. |
| SDKException | if not connected or if setting the RDC mode fails. |
|
pure virtual |
Sets a reference temperature to a known reference source inside the view of the device to improve measurement accuracy.
| [in] | referenceTemperature | real temperature of reference source. |
| [in] | measuredTemperature | measured temperature from the device of reference source. |
| [in] | ambientTemperature | in °C. Set it to INVALID_TEMPERATURE or less to force the SDK to estimate the ambient temperature based on thermal probe readings of the device. |
| SDKException | if not connected. |
|
pure virtual |
Enables or disables the Size of Source Correction.
| [in] | enable | indicates whether to enable or disable the Size of Source Correction. |
| SDKException | if not connected. |
|
pure virtual |
Sets the subsampled framerate.
| [in] | subsampledFramerate | to set. Provide a value less or equal to 0 to deactivate subsampling. If the value is higher than the framerate of the currently active operation mode, no subsampling will occur. |
| SDKException | if not connected. |
|
pure virtual |
Dis-/Enables high precision temperature measurements.
| [in] | enabled | if true high temperature measurements are enabled. |
| SDKException | if setting enabled failed or if not connected. |
|
pure virtual |
Die-/Enables temperature range extension.
| [in] | enabled | if true temperature range extension is enabled. |
| SDKException | if setting enabled failed or if not connected. |
|
pure virtualnoexcept |
Skips an active startup (re)calibration that is performed every time the processing loop is run.
Will have not effect if a startup (re)calibration is not active.
|
pure virtual |
Swaps the indices of two measurement fields.
The measurement field indices determine the render tier of the measurement fields. Fields with a higher index are drawn on top of fields with a lower index. The thermal frame is always in the background.
| [in] | index1 | first index to swap. |
| [in] | index2 | second index to swap. |
| SDKException | if not connected, if the indices do not exist or if the provided indices are identical. |
|
pure virtual |
Updates the configuration of an alarm channel.
| [in] | channel | to update. |
| [in] | config | to update the alarm channel with. |
|
pure virtual |
Updated the configuration of a measurement field.
| [in] | field | to update. |
| [in] | config | to update the measurement field with. |
| SDKException | if not connected, if the measurement field does not exist for this imager or the configuration cannot be applied. |