IR Imager Direct-SDK

Library overview

A class diagram of the most important library classes is depicted below.

Library class overview
  • IRDeviceUVCr and IRDeviceDS are acquisition classes for raw data streams under Linux (UVC) and Windows (DS==DirectShow).
  • IRDeviceParamsReader is a helper class and parses a configuration file in order to create an IRDeviceParams structure instance. This structure can also be instantiated and populated with parameters manually.
  • SimpleXML is a lightweight XML parser and used by the IRDeviceParamsReader class internally. The user might also employ it for reading application specific XML files.
  • IRCalibrationManager may be used to download or copy calibration files with the user's own program. Currently, there is no full support for the Windows operation system.
  • IRImager is the main class and is used for processing raw data and controlling the PI imager device.
  • IRImagerClient is an abstract class that enables object oriented interfacing of PI imagers. The library uses callback methods to inform the user of the availability of thermal or RGB data. IRImager either accepts pointers to C-style callback functions or a pointer to an inherited class instance of IRImagerClient.
  • IRFrameMetadata is a meta data container delivered by the PI imager within its raw data stream. It contains timestamp and internal state parameters.
  • ImageBuilder can be used to convert temperature data to a displayable format.
  • FramerateCounter states a helper class for calculating the frame rate of a loop. In the examples it is used to calculate the loop rate of a grabbing thread and a display thread.

It is recommended to keep the callback functions/methods lightweight in order to guarantee a high framerate of process method calls. Some of the provided examples show how to copy data in a queue within the callback functions. A worker thread is subsequently informed to do further processing. Please see the next two sections about example applications to start your development.