Extract FLIR thermal data

Started by Remo, April 20, 2024, 05:09:53 AM

Previous topic - Next topic

Remo

Hi! I want to build a small tool in .NET/C# to extract thermal data such as emissivity, distance, reflected temperature, etc. from my radiometric FLIR JPEGs. I have already studied the FLIR tag tables on the exiftool homepage, but I still can't retrieve the correct values from the byte array. Perhaps the issue lies in my lack of understanding of the structure of FLIR segments, as I am still struggling to grasp all the different structures and components (EXIF, FLIR, FFF, IDR, etc.) of the 'FLIR-based' JPEGs. Is there good documentation available that can provide assistance? Thanks for any hints.

Remo

Additional information: By now I am able to find the start of the FLIR Section, and after that, I am able to find the start of a Flir FFF Tag, such as "CameraInfo", for example. And here is where my success ends. I am not able to extract a value within the CameraInfo tag, for example, "emissivity". According to the ExifTool documentation, it should be at the 32nd position after the beginning of the "CameraInfo", right? What am I missing? Is it the offset or the byte order? Where can I find this information within the FLIR part?

Phil Harvey

Did you look at the source code?  It sounds like you have the correct position for Emissivity, but are you interpreting these 4 bytes as an IEEE float?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Remo

Sure, here's the translation:

"Yes, I've looked at the source code. But I'm probably not experienced enough in Perl. I'll take a closer look at this code again. Converting it to float should be fine. I might also have a problem with the byte order. How does this behave in the Flir section? Do I find information about the byte order in there?"

Phil Harvey

I didn't see any references to the byte order, so I'm guessing big-endian like the JPEG container, but it should be easy to tell with a float.  Most floats start with 0x3f-0x42 in the high byte.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).