When people who need to make thermal measurements shop for an infrared (IR) camera, they generally have a series of questions about the camera’s capabilities: What can it measure? How sensitive is it in a particular wavelength range? How fast does it capture images? What are the options for lenses? Often, though, they forget to ask about a critical part of the system they’re buying — the software.
Software is the main interface between the camera and the user and provides the work environment in which all the camera functions take place. The capabilities the device provides for the users, the types of measurements they’ll be able to make, and the analyses they can perform are dependent on how well designed the software is and which features and options it contains.
Some users like to work with third-party scientific software that they’re used to, such as MATLAB or LabVIEW, or they write their own programs. There’s also imaging processing software available that can perform automated recognition of objects in an image. Some cameras, however, come with a full package of software that performs all the necessary functions, but also allows users to move their data into MATLAB or LabVIEW. Such a package can provide users with maximum flexibility.
Software provides four main functions: camera control, data capture, analysis of the data, and export of the data.
Camera Control
Camera control allows the operator to make use of all of the camera’s functionalities. That includes everything from the most basic operations, such as starting and stopping the recording, to more exotic functions. For instance, if the user wants to study some phenomenon that spans a wide temperature range, the software allows him to put the camera into the right dynamic range extension mode to cover all the temperatures of interest. The software combines several camera functions in a smart way to expand the total system’s measurement capabilities.
While many of the algorithms that dictate the operations are contained on a processor within the camera itself, the user interface that allows the operator to select those functions is often a PC. To make the two ends of the software work in concert, the reliability of the connection between the camera and the PC is paramount. Some of that comes down to a hardware issue. The connection has to be robust enough that fast data transfer and fast recording can take place. That’s especially true with high-speed measurements that often take place on the military test range, which can fill the built-in storage capacity of the camera in as little as 60 seconds, so the data must be transferred to the PC.
At the same time, the software has to be reliable enough to handle such connections. When the operator presses a button on the PC, the whole system must start recording at the same time so that everything works smoothly. Good software should be able to manage the different parts of the system. For reliable handling of high-speed data, 64-bit software is the best option.
Data Capture
For capturing data, software allows the user to select the right frame rate to record for a particular measurement. Not all tests require recording at the full frame rate of the camera. Good software will provide a range of options that allows the user to pick the frame rate that provides the right balance between the resolution of the data and the volume produced.
Another way software helps with data capture is through a function called pre-triggering. Often the camera will be set to start recording when triggered by some event. For instance, if a user wants to capture an image of a bullet in mid-flight, he might use an acoustic trigger—the camera is running, but the recording doesn’t start until the gun goes off, and any images stored in the buffer from before the bang are discarded. With pre-triggering, the recording starts with the sound of the blast, but the software also captures a few frames from before the triggering event, to make sure nothing is missed.
In fact, some users rely on pre-triggering for everything they record, just to be on the safe side. Perhaps they start the recording simply by pressing a button, but they want to make sure they weren’t too slow in doing so. With pre-triggering, they capture a few frames from before the button was pressed. It’s an added assurance that they’re getting the entire measurement.
The software does not capture merely the images. It also records the metadata for each frame. The metadata includes all the parameters under which the camera performed a particular measurement, including which lens and filters were used or what the integration time — the IR equivalent of exposure time — was set to, and so forth. IR cameras contain sensors to measure the temperature of the device itself, which can influence the quality of the images, and those readings are recorded in the metadata as well. Knowing those details can help the users interpret the image data.
Analysis
Perhaps the most important function of IR camera software is performing data analysis. All the pixels that the camera records are measurements of either temperature or radiant volume, i.e., the amount of IR photons an object gives off. The software allows the user to select sections of the data, visualize it in graphs, or export it to a spreadsheet such as Excel. If, for instance, he wants to examine a jet engine’s exhaust, he can take an image of that and draw a line through the center of the image and see the temperature profile of the exhaust. Software should provide a number of statistical analysis functions, along with ways to visualize the analyses in graphs or tables.
Software can also address special challenges in analyzing some images. Say you wanted to make measurements of a helicopter flying across the sky. It’s an easy target for the camera to pick out — a hot helicopter across a cold sky. But analyzing it is very difficult because the helicopter is moving across the image, and it’s captured by a different set of pixels from one frame to the next. That makes a pixel-to-pixel comparison very challenging.
A process called segmentation can help here. Basically, the software selects image data above or below a certain threshold value and throws it away. The sky is very cold compared to the helicopter, so its radiance values will be very different. Segmenting away the sky allows the computer to focus only on radiance values produced by the helicopter itself, making the analysis simpler, much less time-consuming, and more accurate.
The camera can record to a number of different file formats. One particularly useful type for analysis is the sf.mov format. One advantage it has is that it’s an open format, so the user can open it and see the different files within it — one with the image data, one with the camera parameters, and a file for any specific corrections applied during a measurement. The sf.mov format is also human readable and editable, so the user can understand what’s in it and alter the contents if necessary.
With a variety of spectral filters, lenses, and calibration settings that can be used for each measurement, the combinations can get complex, and human error can creep in. It’s possible, for example, for the operator to take the camera to the test range, select a lens, and apply what he thinks is the appropriate calibration, only to return to the office and discover that he used the wrong settings. It’s expensive and time-consuming to run these tests again, especially if they call for flying an aircraft over the site or blowing something up. Because the sf.mov file can be edited, the user can simply add in a correction and recover data that would otherwise be lost.
Exporting Data
The final software task for data is to export it, so it can be shared. Often users want to transfer it into a wmp file, the Windows Movie Player format. That allows them to select an image or a sequence they like and make it viewable by anyone. They may also want to export the data in MATLAB format, or select an image or series of images and save them as a gif, jpeg, png, or any of a number of other popular file types.
Images from IR measurements, especially those recorded at high speed, can grow to be large files, which can make exporting and saving them a challenge. One way to deal with that is FLIR’s extract function, which allows users to select a small amount of the file. They might, for example, have 5 minutes of data, but the most relevant part of the test lasts only 20 seconds. Extract allows them to select that 20 seconds and discard the rest of the recording. Or they may have recorded at 1,000 frames per second, but realize they only need one frame out of 10. They can extract just the frames they need, shrinking the data to a more manageable size.
FLIR also offers a special self-viewing file. It takes a recorded sequence, adds in a “light” version of the software, and saves it as an executable file. That sequence can then be shared with and viewed by anyone, even if they do not have a license to the full software package.
Of course, some users do not wish to export to image formats. They merely want to export the measurement values and metadata to MATLAB, so they can work on it further in that software. To do that, they can export the data to the sdk file format, which then allows them to do anything they like with it.
The Key to a Powerful Camera
Software is a critical component of an IR camera system. It provides the command and control functions that run the camera, it organizes capture of the data, it allows the user to analyze the recorded data, and it provides a means to export data. While many of these functions can be performed by general-use software, or by programs written by the user, an IR camera system that includes a complete software package with multiple options can provide the user with superior functionality.
The Author
Koen Jacobs is Strategic Business Development Manager, Premium Business Segment, FLIR Systems. He may be contacted on