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.
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?
Did you look at the source code (https://github.com/exiftool/exiftool/blob/master/lib/Image/ExifTool/FLIR.pm)? It sounds like you have the correct position for Emissivity, but are you interpreting these 4 bytes as an IEEE float?
- Phil
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?"
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