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

Common interface for all classes representing 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 ()=0
 Disconnects from the current device.
 
virtual bool isConnected () const noexcept=0
 Returns whether a connection is established.
 
virtual void addClient (IRImagerClient *client)=0
 Adds an observer/client that will be updated when new data arrives.
 
virtual bool removeClient (IRImagerClient *client)=0
 Removes the given observer/client.
 
virtual void 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 void addMeasurementField (const MeasurementField &field)=0
 Adds a measurement field that is processed for every new thermal frame.
 
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 std::vector< std::shared_ptr< OperationMode > > getOperationModes ()=0
 Returns the operation modes for the currently connected device.
 
virtual void setAutoFlagEnabled (bool enable)=0
 Sets the automatic triggering of flag cycles en-/disabled.
 
virtual bool isAutoFlagEnabled () const =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 =0
 Returns the minimum flag interval in seconds.
 
virtual float getFlagMaxInterval () const =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 =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 =0
 Returns whether the shutter flag forecast is en-/disabled.
 
virtual int getWidth () const =0
 Returns the width in pixels of the thermal frame.
 
virtual int getHeight () const =0
 Returns the height in pixels of thermal frame.
 
virtual float getTemperatureFlag () const =0
 Returns the temperature of the shutter flag in °C.
 
virtual float getTemperatureBox () const =0
 Returns the temperature of the device housing in °C.
 
virtual float getTemperatureChip () const =0
 Returns the temperature of the sensor chip.
 
virtual void setChipHeatingEnabled (bool enable)=0
 Enables the heating of the sensor chip.
 
virtual bool isChipHeatingEnabled () const =0
 Return whether the sensor chip heating is enabled.
 
virtual void setTemperatureChipReference (float temperature)=0
 Sets the reference temperature in °C for the sensor chip heating.
 
virtual float getTemperatureChipReference () const =0
 Returns the reference temperature in °C of the sensor chip heating.
 
virtual void setRadiationParameters (float emissivity, float transmissivity, float ambientTemperature=INVALID_TEMPERATURE)=0
 Sets the radiation properties, i.e. emissivity and transmissivity 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 TemperaturePrecision getTemperaturePrecision () const =0
 Returns the current precision of the thermal data.
 
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 setDeviceNetworkConfig (const DeviceNetworkConfig &networkConfig)=0
 Sets the network configuration of the device.
 
virtual DeviceNetworkConfig getDeviceNetworkConfig ()=0
 Returns the network configuration of the device.
 

Detailed Description

Common interface for all classes representing Optris thermal cameras.

Member Function Documentation

◆ addClient()

virtual void optris::IRImager::addClient ( IRImagerClient * client)
pure virtual

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

Parameters
[in]clientcallback client.

◆ addMeasurementField()

virtual void optris::IRImager::addMeasurementField ( const MeasurementField & field)
pure virtual

Adds a measurement field that is processed for every new thermal frame.

The resulting data can be accessed via the IRImagerClient::onMeasurementField() callback.

Note
The IRImager creates an internal copy of the provided field. Any manipulation of the field after it was added has no more effect on its processing.
Parameters
[in]fieldmeasurement field to add.
Exceptions
SDKExceptionif not connected or the measurement field is not completely within the thermal frame or adding it failed.

◆ 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. This currently works only for a single USB device.
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.

Attention
A configuration with a serial number of 0 will be rejected.
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. This currently works only for a single USB device.
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.

◆ getDeviceNetworkConfig()

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

Returns the network configuration of the device.

Returns
network configuration of the device.
Exceptions
SDKExceptionif not connect via USB or if 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.

◆ 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 virtual

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 virtual

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 virtual

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.

◆ getOperationModes()

virtual std::vector< std::shared_ptr< OperationMode > > 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.

Returns
operation modes for the currently connected device.
Exceptions
SDKExceptionif not connected.

◆ 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.

◆ getTemperatureBox()

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

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 virtual

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()).

◆ getTemperatureChipReference()

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

Returns the reference temperature in °C of the sensor chip heating.

Returns
temperature of the sensor chip in °C or INVALID_TEMPERATURE if not connected.

◆ getTemperatureFlag()

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

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()).

◆ getTemperaturePrecision()

virtual TemperaturePrecision optris::IRImager::getTemperaturePrecision ( ) const
pure virtual

Returns the current precision of the thermal data.

Returns
current precision of the thermal data or unknown if not connected.

◆ getWidth()

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

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.

◆ isAutoFlagEnabled()

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

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.

◆ isChipHeatingEnabled()

virtual bool optris::IRImager::isChipHeatingEnabled ( ) const
pure virtual

Return whether the sensor chip heating is enabled.

Returns
true, if the sensor chip heating is enabled. False if heating is disabled of 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 virtual

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 virtual

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.

◆ removeClient()

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

Removes the given observer/client.

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

◆ run()

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

Runs the processing loop continuously.

Blocks until stopRunning() or disconnect() is called from another thread or until the application terminates.

See also
stopRunning(), disconnect()

◆ 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 application terminates.

Note
All callback methods of a registered client now are called from this processing thread.
Returns
true if the thread started within a second. False otherwise.
See also
stopRunning(), disconnect()

◆ 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.

◆ setChipHeatingEnabled()

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

Enables the heating of the sensor chip.

Parameters
[in]enableindicates whether to enable heating.
Exceptions
SDKExceptionif not connected.

◆ setDeviceNetworkConfig()

virtual void optris::IRImager::setDeviceNetworkConfig ( const DeviceNetworkConfig & networkConfig)
pure virtual

Sets the network configuration of the device.

Parameters
[in]networkConfigto set.
Exceptions
SDKExceptionif not connect via USB or if device does not support Ethernet or if setting the device network configuration failed.

◆ 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.

◆ 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.

◆ setRadiationParameters()

virtual void optris::IRImager::setRadiationParameters ( float emissivity,
float transmissivity,
float ambientTemperature = INVALID_TEMPERATURE )
pure virtual

Sets the radiation properties, i.e. emissivity and transmissivity parameters.

Parameters
[in]emissivityof the observed object. Should be in [0, 1].
[in]transmissivityof the observed object. Should be in [0, 1].
[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 camera.
Exceptions
SDKExceptionif not connected or if parameters are invalid or if setting the parameters 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 setting the reference temperatures fails or if not connected.

◆ setTemperatureChipReference()

virtual void optris::IRImager::setTemperatureChipReference ( float temperature)
pure virtual

Sets the reference temperature in °C for the sensor chip heating.

The specified temperature should be in [20, 55] °C. If not, the temperature will automatically be clipped. The current chip temperature can be monitored with getTemperatureChip().

Parameters
[in]temperatureto set in °C.
Exceptions
SDKExceptionif not connected.

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