Thermal Camera SDK 11.3.0
SDK for Optris Thermal Cameras
Loading...
Searching...
No Matches
optris::IRImager Class Referenceabstract

Interface defining the API for interacting with Optris thermal cameras. More...

#include <IRImager.h>

Collaboration diagram for optris::IRImager:
Collaboration graph

Public Member Functions

 IRImager ()=default
 Constructor.
 
 IRImager (const IRImager &)=delete
 No copy constructor.
 
IRImageroperator= (const IRImager &)=delete
 No copy assignment.
 
 IRImager (IRImager &&)=delete
 No move constructor.
 
IRImageroperator= (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::ConstSharedgetOperationModes ()=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::ConstSharedgetMeasurementFields () 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::ConstSharedgetAlarmChannels () const noexcept=0
 Returns all current alarm channels.
 
virtual std::vector< AlarmChannelStatusgetAlarmChannelStatuses () 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 ProcessInterfacegetPif ()=0
 Grants access to the process interface.
 
virtual const ProcessInterfacegetPif () 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.
 

Detailed Description

Interface defining the API for interacting with Optris thermal cameras.

Member Function Documentation

◆ addAlarmChannel()

virtual AlarmChannel::ConstShared optris::IRImager::addAlarmChannel ( const AlarmChannelConfig & config)
pure virtual

Adds a new alarm channel.

Parameters
[in]configof the new alarm channel to add.
Returns
smart pointer to the added alarm channel.
Exceptions
SDKExceptionif not connected or if adding the channel failed.

◆ addClient()

virtual bool optris::IRImager::addClient ( IRImagerClient * client)
pure virtualnoexcept

Adds an observer/client that will be updated when new data arrives.

Parameters
[in]clientcallback client.
Returns
true, if the client was added. False otherwise.

◆ addMeasurementField()

virtual MeasurementField::ConstShared optris::IRImager::addMeasurementField ( const MeasurementFieldConfig & config)
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.

Parameters
[in]configof the measurement field to add.
Returns
smart pointer to the added measurement field.
Exceptions
SDKExceptionif not connected or if the measurement field is not completely within the thermal frame or if adding it failed.

◆ configureOperationInfo()

virtual void optris::IRImager::configureOperationInfo ( int interval,
int x,
int y )
pure virtual

Configure the tracing of the operation modules that comprise the processing pipeline.

Parameters
[in]intervaldesired time in ms between subsequent updates. Set to 0 to deactivate tracing.
[in]xcoordinate of a pixel whose value should be traced through processing.
[in]ycoordinate of a pixel whose value should be traced through processing.
Exceptions
SDKExceptionif not connected or if the pixel coordinates lie outside the frame.
See also
IRImagerClient::onOperationInfo()

◆ connect() [1/3]

virtual void optris::IRImager::connect ( const DeviceInfo & deviceInfo)
pure virtual

Connects to the device with the given device information.

Note
If the serial number is set to 0, the SDK will use the EnumerationManager to find a device to connect to.
Parameters
[in]deviceInfodevice information.
Exceptions
SDKExceptionif connecting fails.

◆ connect() [2/3]

virtual void optris::IRImager::connect ( IRImagerConfig config)
pure virtual

Connects to the device with the given configuration.

Note
If the serial number in IRImagerConfig is set to 0, the SDK will use the 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.
Parameters
[in]configconfiguration.
Exceptions
SDKExceptionif connecting fails.

◆ connect() [3/3]

virtual void optris::IRImager::connect ( unsigned long serialNumber)
pure virtual

Connects to the device with the given serial number.

Note
If the serial number is set to 0, the SDK will use the EnumerationManager to find a device to connect to.
Parameters
[in]serialNumberof the device.
Exceptions
SDKExceptionif connecting fails.

◆ forceFlagEvent()

virtual void optris::IRImager::forceFlagEvent ( float time = 0.F)
pure virtual

Force a flag cycle manually.

Parameters
[in]timepoint of time in future in milliseconds, when the shutter flag should be closed.
Exceptions
SDKExceptionif not connected.

◆ getActiveOperationMode()

virtual OperationMode::ConstShared optris::IRImager::getActiveOperationMode ( )
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.

Returns
active operation mode for the currently connected device.
Exceptions
SDKExceptionif not connected.

◆ getAlarmChannelCount()

virtual int optris::IRImager::getAlarmChannelCount ( ) const
pure virtualnoexcept

Returns the count of all current alarm channels.

Returns
count of all current alarm channels.

◆ getAlarmChannels()

virtual std::vector< AlarmChannel::ConstShared > optris::IRImager::getAlarmChannels ( ) const
pure virtualnoexcept

Returns all current alarm channels.

They are sorted based on their IDs.

Returns
all current alarm channels or an empty container if not connected.

◆ getAlarmChannelStatuses()

virtual std::vector< AlarmChannelStatus > optris::IRImager::getAlarmChannelStatuses ( ) const
pure virtualnoexcept

Returns the status of all current alarm channels.

They are sorted based on the ID of the corresponding alarm channel.

Returns
status of all current alarm channels or an empty container if not connected.

◆ getAmbientTemperatureSource()

virtual RadiationParameterSource optris::IRImager::getAmbientTemperatureSource ( ) const
pure virtualnoexcept

Returns the source that currently defines the ambient temperature for the thermal frame.

Returns
source that currently defines the ambient temperature for the thermal frame or RadiationParameterSource::Sdk if not connected.

◆ getChipHeatingMode()

virtual ChipHeatingMode optris::IRImager::getChipHeatingMode ( ) const
pure virtualnoexcept

Returns the current sensor chip heating mode.

Returns
current sensor chip heating mode or ChipHeatingMode::Floating if not connected.

◆ getChipHeatingTemperature()

virtual float optris::IRImager::getChipHeatingTemperature ( ) const
pure virtualnoexcept

Returns the the target temperature in °C for the sensor chip heating.

Note
The actual sensor chip temperature can be accessed with IRImager::getTemperatureChip().
Returns
target temperature in °C for the sensor chip heating or INVALID_TEMPERATURE if not connected or if the heating mode is not fixed.

◆ getConfig()

virtual IRImagerConfig optris::IRImager::getConfig ( )
pure virtual

Returns the current configuration.

Returns
current configuration.
Exceptions
SDKExceptionif not connected.

◆ getConnectionInterface()

virtual std::string optris::IRImager::getConnectionInterface ( ) const
pure virtualnoexcept

Returns the name of the connection interface used to communication with the device.

Returns
name of the connection interface used to communication with the device or an empty string if not connected.

◆ getDeviceNetworkConfig()

virtual DeviceNetworkConfig optris::IRImager::getDeviceNetworkConfig ( )
pure virtual

Returns the network configuration of the device.

Returns
network configuration of the device.
Exceptions
SDKExceptionif not connected of if the device does not support Ethernet or if getting the device network configuration failed.

◆ getDeviceType()

virtual DeviceType optris::IRImager::getDeviceType ( ) const
pure virtual

Returns the type of device the IRImager is connected to.

Returns
type of device the IRImager is connected to or unknown if not connected.

◆ getEmissivitySource()

virtual RadiationParameterSource optris::IRImager::getEmissivitySource ( ) const
pure virtualnoexcept

Returns the source that currently defines the emissivity for the thermal frame.

Returns
source that currently defines the emissivity for the thermal frame or RadiationParameterSource::Sdk if not connected.

◆ getFirmwareRevision()

virtual unsigned int optris::IRImager::getFirmwareRevision ( ) const
pure virtual

Returns the firmware revision of the connected device.

Returns
firmware revision number of the connected device or 0 if not connected.

◆ getFlagMaxInterval()

virtual float optris::IRImager::getFlagMaxInterval ( ) const
pure virtualnoexcept

Returns the maximum flag interval in seconds.

Maximum time that can elapse before a new flag cycle is triggered.

Returns
maximum flag interval in seconds or 0 if not connected.

◆ getFlagMinInterval()

virtual float optris::IRImager::getFlagMinInterval ( ) const
pure virtualnoexcept

Returns the minimum flag interval in seconds.

Minimum time that has to elapse before a new flag cycle is triggered.

Returns
minimum flag interval in seconds or 0 if not connected.

◆ getFocusMotorPosition()

virtual float optris::IRImager::getFocusMotorPosition ( ) const
pure virtual

Returns the position of the focus motor.

Returns
focus motor position in % or -1.0 if not connected or if no focus motor is available.

◆ getHardwareRevision()

virtual unsigned int optris::IRImager::getHardwareRevision ( ) const
pure virtual

Returns the hardware revision of the connected device.

Returns
hardware revision number of the connected device or 0 if not connected.

◆ getHeight()

virtual int optris::IRImager::getHeight ( ) const
pure virtualnoexcept

Returns the height in pixels of thermal frame.

Returns
height in pixels of the thermal frame, i.e. number of rows or 0 if not connected.

◆ getIpAddress()

virtual IpAddress optris::IRImager::getIpAddress ( ) const
pure virtualnoexcept

Returns the IP address of the connected device.

Note
The returned value is only relevant when connected to an Ethernet device.
Returns
IP address of the connected device or 192.168.0.101 if not connected.

◆ getMeasurementFieldCount()

virtual int optris::IRImager::getMeasurementFieldCount ( ) const
pure virtualnoexcept

Returns the number of active measurement fields.

Returns
number of active measurement fields or 0 if not connected.

◆ getMeasurementFields()

virtual std::vector< MeasurementField::ConstShared > optris::IRImager::getMeasurementFields ( ) const
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.

Returns
All active measurement fields ordered by their index or an empty container if not connected.

◆ getOperationModes()

virtual std::vector< OperationMode::ConstShared > optris::IRImager::getOperationModes ( )
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.

Returns
operation modes for the currently connected device.
Exceptions
SDKExceptionif not connected.
See also
OperationMode::getIndex()

◆ getPif() [1/2]

virtual const ProcessInterface & optris::IRImager::getPif ( ) const
pure virtual

Grants read access to the process interface.

Warning
The reference becomes invalid on disconnects.
Returns
constant reference to the process interface.
Exceptions
SDKExceptionif not connected.

◆ getPif() [2/2]

virtual ProcessInterface & optris::IRImager::getPif ( )
pure virtual

Grants access to the process interface.

Warning
The reference becomes invalid on disconnects.
Returns
reference to the process interface.
Exceptions
SDKExceptionif not connected.

◆ getPort()

virtual Port optris::IRImager::getPort ( ) const
pure virtualnoexcept

Returns the number of the port on which the device data is received.

Note
The returned value is only relevant when connected to an Ethernet device.
Returns
number of the port on which the device data is received or 50101 if not connected.

◆ getProcessingMaxResultPoolSize()

virtual unsigned int optris::IRImager::getProcessingMaxResultPoolSize ( ) const
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.

Returns
maximum number of processing results that are pooled for reuse.

◆ getProcessingOutputs()

virtual ProcessingOutputConfig optris::IRImager::getProcessingOutputs ( ) const
pure virtualnoexcept

Returns which outputs are currently configured to be computed and provided by the SDK.

Returns
configuration specifying which outputs are currently configured to be computed and provided by the SDK or a default configuration if not connected.

◆ getRadiationParameters()

virtual RadiationParameters optris::IRImager::getRadiationParameters ( ) const
pure virtualnoexcept

Returns the set/configured radiation parameters.

Attention
The radiation parameters may be modified via the process interface (PIF) and through automated ambient temperature estimations. This method return the parameters set in the configuration or vis IRImager::setRadiationParameters().

To get the actually applied parameters see the FrameMetadata::getRadiationParameters() for the thermal frame and the MeasurementField::getRadiationParameters() for measurement fields.

Returns
the set/configured radiation parameters or their default values if not connected.

◆ getRdcMode()

virtual RdcMode optris::IRImager::getRdcMode ( ) const
pure virtual

Returns the mode of radial distortion correction (RDC).

Note
This method is only relevant for devices and operation modes that feature a significant radial distortion and support RDC.
Returns
the current RDC mode.
Exceptions
SDKExceptionif not connected or if retrieving the RDC mode fails.

◆ getSerialNumber()

virtual unsigned long optris::IRImager::getSerialNumber ( ) const
pure virtual

Returns the serial number of the connected device.

Returns
serial number of the connected device or 0 if not connected.

◆ getSubsampledFramerate()

virtual float optris::IRImager::getSubsampledFramerate ( ) const
pure virtualnoexcept

Returns the subsampled framerate.

Returns
the subsampled framerate or a value <= 0 if not connected or if no subsampling is performed.

◆ getTemperatureBox()

virtual float optris::IRImager::getTemperatureBox ( ) const
pure virtualnoexcept

Returns the temperature of the device housing in °C.

Returns
temperature of the device housing in °C or INVALID_TEMPERATURE if not connected or 35.0 °C if connected but processing has not yet started (s. run() and runAsync()).

◆ getTemperatureChip()

virtual float optris::IRImager::getTemperatureChip ( ) const
pure virtualnoexcept

Returns the temperature of the sensor chip.

Returns
temperature of the sensor chip in °C or INVALID_TEMPERATURE if not connected or 35.0 °C if connected but processing has not yet started (s. run() and runAsync()).

◆ getTemperatureFlag()

virtual float optris::IRImager::getTemperatureFlag ( ) const
pure virtualnoexcept

Returns the temperature of the shutter flag in °C.

Returns
temperature of the shutter flag in °C or INVALID_TEMPERATURE if not connected or 35.0 °C if connected but processing has not yet started (s. run() and runAsync()).

◆ getTransmissivitySource()

virtual RadiationParameterSource optris::IRImager::getTransmissivitySource ( ) const
pure virtualnoexcept

Returns the source that currently defines the transmissivity for the thermal frame.

Returns
source that currently defines the transmissivity for the thermal frame or RadiationParameterSource::Sdk if not connected.

◆ getWidth()

virtual int optris::IRImager::getWidth ( ) const
pure virtualnoexcept

Returns the width in pixels of the thermal frame.

Returns
width in pixels of the thermal frame, i.e. number of columns or 0 if not connected.

◆ interruptFailSafe()

virtual void optris::IRImager::interruptFailSafe ( bool active,
const std::string & reason )
pure virtual

Interrups the all clear fail safe signal.

Note
The client is only one source that can trigger the fail safe. If any of these sources detects an error, the fail safe will be triggered and it will only be released, if ALL the sources report an all clear.
Parameters
[in]activeif true the all clear signal is interrupted. If false, the all clear may be restored, if all other sources report an all clear.
[in]reasonto be displayed in the logs.
Exceptions
SDKExceptionif not connected.

◆ isAutoFlagEnabled()

virtual bool optris::IRImager::isAutoFlagEnabled ( ) const
pure virtualnoexcept

Returns whether flag cycles are triggered automatically.

Returns
true, if flag cycles are triggered automatically. False is automatic triggering is diabled or if not connected.

◆ isConnected()

virtual bool optris::IRImager::isConnected ( ) const
pure virtualnoexcept

Returns whether a connection is established.

Returns
true if a connection is established. False otherwise.

◆ isFlagForecastEnabled()

virtual bool optris::IRImager::isFlagForecastEnabled ( ) const
pure virtualnoexcept

Returns whether the shutter flag forecast is en-/disabled.

Returns
true if the shutter flag forecast is enabled. False if flag forecast is disabled or if not connected.

◆ isFlagOpen()

virtual bool optris::IRImager::isFlagOpen ( ) const
pure virtualnoexcept

Returns whether the shutter flag is open.

Returns
true if the shutter flag is open. False if the shutter flag is closed or if not connected.

◆ isRunning()

virtual bool optris::IRImager::isRunning ( ) const
pure virtualnoexcept

Returns whether the processing loop is currently running.

Returns
true if the processing loop is running. False otherwise.

◆ isSoSCorrectionEnabled()

virtual bool optris::IRImager::isSoSCorrectionEnabled ( ) const
pure virtualnoexcept

Checks if the Size of Source Correction is enabled.

Returns
true if the Size of Source Correction is enabled. False if disabled or if not connected.

◆ isTemperatureHighPrecisionEnabled()

virtual bool optris::IRImager::isTemperatureHighPrecisionEnabled ( ) const
pure virtualnoexcept

Returns whether high precision temperature measurements are enabled.

Note
Not all temperature ranges on all devices feature high precision temperature measurements.
Returns
true, if high precision temperature measurements are enabled. False, otherwise or if not connected.
See also
OperationMode::isTemperatureHighPrecision(), OperationMode::isTemperatureHighPrecisionAvailable()

◆ isTemperatureRangeExtensionEnabled()

virtual bool optris::IRImager::isTemperatureRangeExtensionEnabled ( ) const
pure virtualnoexcept

Returns whether the temperature ranges are being extended.

Note
Not all temperature ranges can be extended.
Returns
true, if the temperature ranges are being extended. False, otherwise or if not connected.
See also
OperationMode::isTemperatureRangeExtended(), OperationMode::isTemperatureRangeExtendable()

◆ removeAlarmChannel()

virtual void optris::IRImager::removeAlarmChannel ( const AlarmChannel::ConstShared & channel)
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.

Parameters
[in]channelto remove.
Exceptions
SDKExceptionif not connected or if the given alarm channel does not exist for this imager instance.

◆ removeClient()

virtual bool optris::IRImager::removeClient ( IRImagerClient * client)
pure virtualnoexcept

Removes the given observer/client.

Parameters
[in]clientto remove.
Returns
true, if the client was removed. False otherwise.

◆ removeMeasurementField()

virtual void optris::IRImager::removeMeasurementField ( const MeasurementField::ConstShared & field)
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.

Attention
Removing a measurement field can have the following consequences:
  • PIF analog output channels using the field turn themselves off automatically.
  • Alarm channel using the field turn orphaned and are subsequently removed.
Parameters
[in]fieldto remove.
Exceptions
SDKExceptionif not connected or if the measurement field does not exist for this imager instance.

◆ resetReferenceTemperature()

virtual void optris::IRImager::resetReferenceTemperature ( )
pure virtual

Resets a previously set reference temperature.

Exceptions
SDKExceptionif not connected.

◆ run()

virtual bool optris::IRImager::run ( )
pure virtual

Runs the processing loop continuously.

Blocks until stopRunning() or disconnect() is called from another thread or until the IRImager instance is destroyed.

Note
After invoking run() it can take a very brief amount of time until isRunning() changes to true.
Returns
true, if the processing loop ran successfully. False, if the processing loop is already running (e.g. in another thread) or if not connected.
See also
stopRunning(), disconnect(), isRunning()

◆ runAsync()

virtual bool optris::IRImager::runAsync ( )
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.

Note
All callback methods of a registered client now are called from this processing thread.
Returns
true, if the thread started within five seconds. False, if the thread did not start in time or if the processing loop is already running or if not connected.
See also
stopRunning(), disconnect(), isRunning()

◆ saveConfig()

virtual void optris::IRImager::saveConfig ( )
pure virtual

Saves the current configuration.

The configuration is saved to the default location on the filesystem.

Exceptions
SDKExceptionif not connected or if saving the configuration fails.

◆ setActiveOperationMode() [1/2]

virtual void optris::IRImager::setActiveOperationMode ( const OperationMode::ConstShared & mode)
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.

Parameters
[in]modeto set active.
Exceptions
SDKExceptionif not connected, if mode is not supported by device or if applying the mode fails.

◆ setActiveOperationMode() [2/2]

virtual void optris::IRImager::setActiveOperationMode ( int opticsFieldOfView,
const std::string & opticsText,
float temperatureLowerLimit,
float temperatureUpperLimit,
int width,
int height,
int framerate )
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.

Note
You can use "wildcards", if you do not want to specify the optics, temperature range or video format explicitly:
  • optics : set opticsFieldOfView to 0 AND leave opticsText empty.
  • temperature range: set temperatureLowerLimit AND temperatureUpperLimit to 0.
  • video format : set width, height AND framerate to 0.
Parameters
[in]opticsFieldOfViewin degrees.
[in]opticsTextfurther specifying the optics if the field of view is not unique enough.
[in]temperatureLowerLimitin degree Celsius (not extended).
[in]temperatureUpperLimitin degree Celsius (not extended).
[in]widthin pixel of the output frame.
[in]heightin pixel of the output frame.
[in]frameratein Hz (not sub-sampled).
Exceptions
SDKExceptionSDKException if not connected, if mode is not supported by device or if applying the mode fails.

◆ setAutoFlagEnabled()

virtual void optris::IRImager::setAutoFlagEnabled ( bool enable)
pure virtual

Sets the automatic triggering of flag cycles en-/disabled.

Parameters
[in]enableor disable automatic triggering of flag cycles.
Exceptions
SDKExceptionif not connected.

◆ setChipHeatingMode()

virtual void optris::IRImager::setChipHeatingMode ( ChipHeatingMode mode,
float temperature = 40.F )
pure virtual

Sets the provide mode for heating the sensor chip.

Parameters
[in]modeindicating the heating mode.
[in]temperaturetarget temperature for fixed mode in °C. Its value is automatically clamped to [20., 55.] °C.
Exceptions
SDKExceptionif not connected.

◆ setDeviceNetworkConfig()

virtual bool optris::IRImager::setDeviceNetworkConfig ( const DeviceNetworkConfig & networkConfig)
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:

  • device IP address
  • destination port

In any other case the SDK considers the connection lost and triggers the IRImagerClient::onConnectionLost() callback which a client should use to call disconnect().

Parameters
[in]networkConfigto set.
Exceptions
SDKExceptionif not connected of if the device does not support Ethernet or if setting the device network configuration failed.
Returns
true, if the device connection was retained. False otherwise.
See also
IRImagerClient::onConnectionLost()

◆ setFlagForecastEnabled()

virtual void optris::IRImager::setFlagForecastEnabled ( bool enable)
pure virtual

Set the shutter flag forecast en-/disabled.

Parameters
enableof disable the shutter flag forecast.
Exceptions
SDKExceptionif not connected.

◆ setFlagInterval()

virtual void optris::IRImager::setFlagInterval ( float minInterval,
float maxInterval )
pure virtual

Sets the minimum and maximum flag intervals in seconds.

Parameters
[in]minIntervalminimal time in seconds that has to elapse before a new flag cycle is triggered.
[in]maxIntervalmaximum time in seconds that can elapse until a new flag cycle is triggered. Set to 0 to deactivate.
Exceptions
SDKExceptionif provided intervals are negative or not connected.

◆ setFocusMotorPosition()

virtual void optris::IRImager::setFocusMotorPosition ( float position)
pure virtual

Sets the position of the focus motor.

The position should be in [0, 100] %. If not, the position will automatically be clipped.

Parameters
[in]positionfocus motor position in %.
Exceptions
SDKExceptionif not connected or if no focus motor is available.

◆ setProcessingMaxResultPoolSize()

virtual void optris::IRImager::setProcessingMaxResultPoolSize ( unsigned int maxPoolSize)
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.

Parameters
[in]maxPoolSizemaximum number of processing results that are pooled for reuse. If set to 0, the pool size will be set to 1.
Exceptions
SDKExceptionif not connected.

◆ setProcessingOutputs()

virtual void optris::IRImager::setProcessingOutputs ( const ProcessingOutputConfig & outputs)
pure virtual

Sets which outputs should be computed and provided by the SDK.

Parameters
[in]outputsconfiguration specifying which outputs should be computed and provided.
Exceptions
SDKExceptionif not connected.

◆ setRadiationParameters()

virtual void optris::IRImager::setRadiationParameters ( const RadiationParameters & radiation)
pure virtual

Sets the radiation parameters (emissivity, transmissivity and ambient temperature).

Parameters
[in]radiationparameters to set.
Exceptions
SDKExceptionif not connected or if parameters are invalid or if setting the parameters fails.

◆ setRdcMode()

virtual void optris::IRImager::setRdcMode ( RdcMode rdcMode)
pure virtual

Sets the mode of radial distortion correction (RDC).

Note
This method is only relevant for devices and operation modes that feature a significant radial distortion and support RDC.
Parameters
[in]rdcModethe RDC mode to set.
Exceptions
SDKExceptionif not connected or if setting the RDC mode fails.

◆ setReferenceTemperature()

virtual void optris::IRImager::setReferenceTemperature ( float referenceTemperature,
float measuredTemperature,
float ambientTemperature = INVALID_TEMPERATURE )
pure virtual

Sets a reference temperature to a known reference source inside the view of the device to improve measurement accuracy.

Parameters
[in]referenceTemperaturereal temperature of reference source.
[in]measuredTemperaturemeasured temperature from the device of reference source.
[in]ambientTemperaturein °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.
Exceptions
SDKExceptionif not connected.

◆ setSoSCorrectionEnabled()

virtual void optris::IRImager::setSoSCorrectionEnabled ( bool enable)
pure virtual

Enables or disables the Size of Source Correction.

Parameters
[in]enableindicates whether to enable or disable the Size of Source Correction.
Exceptions
SDKExceptionif not connected.

◆ setSubsampledFramerate()

virtual void optris::IRImager::setSubsampledFramerate ( float subsampledFramerate)
pure virtual

Sets the subsampled framerate.

Note
The subsampling is performed by the SDK. The subsampled framerate has no effect on the framerate with which the devices send frame data.
Parameters
[in]subsampledFramerateto 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.
Exceptions
SDKExceptionif not connected.

◆ setTemperatureHighPrecisionEnabled()

virtual void optris::IRImager::setTemperatureHighPrecisionEnabled ( bool enabled)
pure virtual

Dis-/Enables high precision temperature measurements.

Note
Not all temperature ranges on all devices feature high precision temperature measurements.
Parameters
[in]enabledif true high temperature measurements are enabled.
Exceptions
SDKExceptionif setting enabled failed or if not connected.

◆ setTemperatureRangeExtensionEnabled()

virtual void optris::IRImager::setTemperatureRangeExtensionEnabled ( bool enabled)
pure virtual

Die-/Enables temperature range extension.

Attention
Extended temperature ranges feature poor precision and should not be used for measurements. The main purpose of this feature is to give users an easier time to physically align the field of view of the device when a temperature range has a high lower limit.
Note
Not all temperature ranges can be extended.
Parameters
[in]enabledif true temperature range extension is enabled.
Exceptions
SDKExceptionif setting enabled failed or if not connected.

◆ skipStartupCalibration()

virtual bool optris::IRImager::skipStartupCalibration ( )
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.

Attention
Skipping the startup calibration may lead to inaccurate temperature measurements and should only be used for testing and debugging purposes.
Returns
true if a startup (re)calibration was skipped. False otherwise.

◆ swapMeasurementFieldIndices()

virtual void optris::IRImager::swapMeasurementFieldIndices ( std::uint32_t index1,
std::uint32_t index2 )
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.

Parameters
[in]index1first index to swap.
[in]index2second index to swap.
Exceptions
SDKExceptionif not connected, if the indices do not exist or if the provided indices are identical.

◆ updateAlarmChannel()

virtual void optris::IRImager::updateAlarmChannel ( const AlarmChannel::ConstShared & channel,
const AlarmChannelConfig & config )
pure virtual

Updates the configuration of an alarm channel.

Parameters
[in]channelto update.
[in]configto update the alarm channel with.

◆ updateMeasurementField()

virtual void optris::IRImager::updateMeasurementField ( const MeasurementField::ConstShared & field,
const MeasurementFieldConfig & config )
pure virtual

Updated the configuration of a measurement field.

Parameters
[in]fieldto update.
[in]configto update the measurement field with.
Exceptions
SDKExceptionif not connected, if the measurement field does not exist for this imager or the configuration cannot be applied.

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